使用flex做PC三列布局
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>flex做PC三列布局</title>
<style>
*{
margin:0;
padding:0;
box-sizing:border-box;
}
body{
display:flex;
/* 主轴设置成列 */
flex-direction:column;
width:800px;
}
/* 页眉布局 */
.head{
display:flex;
justify-content:space-between;
text-align:center;
background-color:lightskyblue;
align-items:center;
}
a{
text-decoration-line: none;
color:#888;
}
a:first-of-type{
margin:10px;
}
a:nth-last-type{
margin:auto;
}
a:not(:first-of-type):hover{
color:lightcoral;
}
/* 主体布局 */
.container{
display:flex;
min-height:400px;
justify-content:space-between;
}
.left,.right{
width:200px;
background-color:lightsalmon;
/* 不放大 不缩小 宽度保持200 */
flex:0 0 200px;
}
.main{
background-color:lightpink;
width:100%;
}
.footer{
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
}
/* 媒体查询要做在正常代码的后面 */
@media screen and (max-width:680px){
.right{
display:none;
}
.container{
flex:auto;
}
.left{
background-color:limegreen;
}
}
/*当屏幕缩小到400后,隐藏左右边栏页脚和菜单 */
/* 注意媒体查询时and 后面要有空格才生效 */
@media screen and (max-width:400px) {
.head,.left,.footer{
display:none;
}
}
</style>
</head>
<body>
<!-- 页眉 -->
<div class="head">
<a href="">LOGO</a>
<a href="">首页</a>
<a href="">产品中心</a>
<a href="">成功案例</a>
<a href="">联系我们</a>
<a href="">登录</a>
</div>
<!-- 主体内容 -->
<div class="container">
<div class="left">左侧</div>
<div class="main">主体</div>
<div class="right">右侧</div>
</div>
<!-- 页脚 -->
<div class="footer">
<p>XX科技公司网站</p>
<p>地址:河南省南阳市 备案:xxxxxx</p>
</div>
</body>
</html>
运行后效果
总结
1、flex:0 0 200px 表示不放大也不缩小,保持200px原始大小。
2、媒体查询时,and后面要有空格,否则媒体查询不生效。