CSS布局

常见布局(PC)

  • 固定宽度布局
  • 弹性(fluid)布局
  • 响应式布局 —— 多终端(PC、Pad、Phone)

1. 单栏布局

单栏布局
单栏布局
<head>
<style>
body{
  min-width:768px;
}
.layout{
  width:768px;
  border:1px solid #ddd;
  margin:0 auto;
}
#header{
  height:60px;
  background:red;
}
#main{
  height:300px;
  background:blue;
}
#footer{
  height:40px;
  background:yellow;
}
</style>
</head>
<body>
  <div id="header">
    <div class="layout">头部</div>
  </div>
  <div id="main" class="layout">内容</div>
  <div id="footer">
    <div class="layout">尾部</div>
  </div>
</body>

代码效果: 单列通栏布局

2. 双列布局

一列固定宽度,另外一列自适应宽度


双列布局
双列布局
<head>
    <style>
#content:after{
  content:"";
  display:block;
  clear:both;
}
.aside{
  width:150px;
  height:300px;
  background:red;
  float:left;
}
.main{
  height:300px;
  background:blue;
  margin-left:160px;
}
#footer{
  height:60px;
  background:yellow;
}
    </style>
</head>
<body>
  <div id="content">
    <div class="aside">侧边栏</div>
    <div class="main">主内容</div>
  </div>
  <div id="footer">尾部</div>
</body>

代码效果: 双栏布局

3. 三栏布局

两侧两列固定宽度,中间列自适应宽度


三栏布局
三栏布局
<head>
    <style>
#content:after{
  content:"";
  display:block;
  clear:both;
}
body{
  min-width:768px;
}
#content{
  width:768px;
  margin:0 auto;
}
.left{
  width:150px;
  height:300px;
  background:red;
  float:left;
}
.right{
  width:100px;
  height:300px;
  background:red;
  float:right;
}
.main{
  height:300px;
  background:blue;
  margin-left:160px;
  margin-right:110px;
}
#footer{
  width:768px;
  height:60px;
  margin:10px auto;
  background:yellow;
}
    </style>
</head>
<body>
<div id="content">
  <div class="left">左边栏</div>
  <div class="right">右边栏</div>
  <div class="main">主内容</div>
</div>
<div id="footer">底部</div>
</body>

代码效果: 三栏布局

3. 圣杯布局

是三列布局,两边固定宽度,中间自适应,中间主内容元素在 dom 元素次序中优先位置
但有个问题:当中间主内容的宽度小于俩侧边栏的宽度时,会出现排版错乱现象。

<head>
    <style>
#content:after{
  content:"";
  display:block;
  clear:both;
}
.main,.left,.right{
  float:left;
}
.main{
  height:500px;
  background:orange;
  width:100%;
}
.left{
  width:150px;
  height:300px;
  background:red;
  margin-left:-100%;/*靠左*/
  position:relative;
  left:-150px;
}
.right{
  width:150px;
  height:300px;
  background:red;
  margin-left:-150px;/*向上补位靠右*/
  position:relative;
  left:150px;
}
#content{
  padding:0 150px;/*给左右侧边栏留出空间*/
}
    </style>
</head>
<body>
    <div id="content">
        <div class="main">主内容</div>
        <div class="left">左边栏</div>
        <div class="right">右边栏</div>
    </div>
</body>

代码效果: 圣杯效果

4. 双飞翼布局

是三列布局,两边固定宽度,中间自适应,中间主内容元素在 dom 元素次序中优先位置
双飞翼布局解决了前面圣杯布局的遗留问题。

<head>
    <style>
#content:after{
  content:"";
  display:block;
  clear:both;
}
.main,.left,.right{
  float:left;
}
.main{
  width:100%; 
}
.main>div{
  height:500px;
  background:orange;
  margin:0 150px;
}
.left{
  width:150px;
  height:300px;
  background:red;
  margin-left:-100%;/*靠左*/
}
.right{
  width:150px;
  height:300px;
  background:red;
  margin-left:-150px;/*向上补位靠右*/
}
    </style>
</head>
<body>
 <div id="content">
  <div class="main">
    <div>主内容</div>
  </div>
  <div class="left">左边栏</div>
  <div class="right">右边栏</div>
</div>
</body>

代码效果: 双飞翼布局

5. 水平等距排列布局

<head>
    <style>
ul,li{
  list-style:none;
  margin:0;
  padding:0;
}
.wrap:after{
  content:"";
  display:block;
  clear:both;
}
.wrap{
  width:800px;
  margin:0 auto;
}
.wrap>h1{
  color:#333;
  border-bottom:1px solid #ccc;
  padding:20px 0;
  text-align:center;
}
.wrap>ul .item{
  float:left;
  margin-top:30px;
  margin-left:10px;
  width:260px;
  box-shadow:0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0, 0, 0, 0.19)!important;
}
.item img{
  width:100%;
  opacity:0.75;
}
.item .detail{
  text-align:center;
  padding:1px 16px;
}
.item .detail>p{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.wrap>ul{
  margin-left:-10px;
}
    </style>
</head>
<body>
  <div class="wrap">
    <h1>古风美人图</h1>
    <ul>
      <li class="item">
        ![古风美人图](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1493297445&di=7aa4a338e1c9fdb9240f6a2a71034919&imgtype=jpg&er=1&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201412%2F22%2F20141222171224_jTEtA.jpeg)
        <div class="detail">
          <h3>采桑子</h3>
          <p>白衣裳凭朱栏立,凉月趖西,点鬓霜微,岁晏知君归不归;</p>
        </div> 
      </li>
      <li class="item">
        ![古风美人图](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1493297445&di=7aa4a338e1c9fdb9240f6a2a71034919&imgtype=jpg&er=1&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201412%2F22%2F20141222171224_jTEtA.jpeg)
        <div class="detail">
          <h3>采桑子</h3>
          <p>白衣裳凭朱栏立,凉月趖西,点鬓霜微,岁晏知君归不归;</p>
        </div> 
      </li>
      <li class="item">
        ![古风美人图](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1493297445&di=7aa4a338e1c9fdb9240f6a2a71034919&imgtype=jpg&er=1&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201412%2F22%2F20141222171224_jTEtA.jpeg)
        <div class="detail">
          <h3>采桑子</h3>
          <p>白衣裳凭朱栏立,凉月趖西,点鬓霜微,岁晏知君归不归;</p>
        </div> 
      </li>
      <li class="item">
        ![古风美人图](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1493297445&di=7aa4a338e1c9fdb9240f6a2a71034919&imgtype=jpg&er=1&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201412%2F22%2F20141222171224_jTEtA.jpeg)
        <div class="detail">
          <h3>采桑子</h3>
          <p>白衣裳凭朱栏立,凉月趖西,点鬓霜微,岁晏知君归不归;</p>
        </div> 
      </li>
      <li class="item">
        ![古风美人图](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1493297445&di=7aa4a338e1c9fdb9240f6a2a71034919&imgtype=jpg&er=1&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201412%2F22%2F20141222171224_jTEtA.jpeg)
        <div class="detail">
          <h3>采桑子</h3>
          <p>白衣裳凭朱栏立,凉月趖西,点鬓霜微,岁晏知君归不归;</p>
        </div> 
      </li>
      <li class="item">
        ![古风美人图](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1493297445&di=7aa4a338e1c9fdb9240f6a2a71034919&imgtype=jpg&er=1&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201412%2F22%2F20141222171224_jTEtA.jpeg)
        <div class="detail">
          <h3>采桑子</h3>
          <p>白衣裳凭朱栏立,凉月趖西,点鬓霜微,岁晏知君归不归;</p>
        </div> 
      </li>
      <li class="item">
        ![古风美人图](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1493297445&di=7aa4a338e1c9fdb9240f6a2a71034919&imgtype=jpg&er=1&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201412%2F22%2F20141222171224_jTEtA.jpeg)
        <div class="detail">
          <h3>采桑子</h3>
          <p>白衣裳凭朱栏立,凉月趖西,点鬓霜微,岁晏知君归不归;</p>
        </div> 
      </li>
      <li class="item">
        ![古风美人图](https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1493297445&di=7aa4a338e1c9fdb9240f6a2a71034919&imgtype=jpg&er=1&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201412%2F22%2F20141222171224_jTEtA.jpeg)
        <div class="detail">
          <h3>采桑子</h3>
          <p>白衣裳凭朱栏立,凉月趖西,点鬓霜微,岁晏知君归不归;</p>
        </div> 
      </li>
    </ul>
  </div>
</body>

代码效果: 水平等距排列

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 前言 温馨提示:本文较长,图片较多,本来是想写一篇 CSS 布局方式的,但是奈何 CSS 布局方式种类太多并且实现...
    sunshine小小倩阅读 8,363评论 0 59
  • CSS布局 布局是CSS中一个重要部分,本文总结了CSS布局中的常用技巧,包括常用的水平居中、垂直居中方法,以及单...
    web前端学习阅读 5,527评论 1 38
  • 目录 常用居中垂直居中水平居中垂直水平居中 单列布局 双列&三列布局 常用居中 垂直居中 单行文本垂直居中 图片垂...
    听城阅读 3,240评论 1 2
  • 按照是否相应浏览器宽度变化划分: 固定宽度布局:body的width是一个固定值,当浏览器的窗口缩小时,底部出现滚...
    lingfighting阅读 3,649评论 0 0

友情链接更多精彩内容