• 使用浮动布局来实现
  1. 左侧元素与右侧元素优先渲染,分别向左和向右浮动
  2. 中间元素在文档流的最后渲染,并将 width 设为 100%,则会自动压到左右两个浮动元素的下面,随后在中间元素中再添加一个div元素并给其设置 margin 左右边距分别为左右两列的宽度,就可以将新元素调整到正确的位置。

  html部分:

<div class="container">
<div class="left">this is left</div>
<div class="right">this is right</div>
<div class="center">
<div class="middle">
this is center
</div>
</div>
</div>

  css部分:

.container {
width: 100%;
height: 100%;
overflow: hidden;
}
.left {
float: left;
width: 400px;
height: 800px;
background-color: black;
}
.center {
width: 100%;
height: 1000px;
background-color: yellow;
}
.middle {
background-color: #fff;
margin: 0 400px;
height: 850px;
}
.right {
float: right;
width: 400px;
height: 800px;
background-color: red;
}
  • 试试利用 BFC
  1. 同样的左右两列元素优先渲染,并分别左右浮动。
  2. 接下来将中间元素设置 overflow: hidden; 成为 BFC 元素块,不与两侧浮动元素叠加,自然能够插入自己的位置。

  html部分:

<div class="container">
<div class="left">this is left</div>
<div class="right">this is right</div>
<div class="center">
this is center
</div>
</div>

  css部分:

.container {
width: 100%;
height: 100%;
overflow: hidden;
}
.left {
float: left;
width: 400px;
height: 800px;
background-color: black;
}
.center {
overflow: hidden;
height: 1000px;
background-color: yellow;
}
.right {
float: right;
width: 400px;
height: 800px;
background-color: red;
}
  • 通过左右元素设置定位,中间元素设置 width: auto; 来实现

  html部分:

<div class="container">
<div class="left">this is left</div>
<div class="center">
this is center
</div>
<div class="right">this is right</div>
</div>

  css部分:

.container {
width: 100%;
height: 100%;
position: relative;
}
.left {
position: absolute;
left: 0;
top: 0;
width: 400px;
height: 800px;
background-color: black;
}
.center {
/* 如果没有这一句,那么,center这个div的文字就不会自动换行 */
width: auto;
margin: 0 400px;
height: 1000px;
background-color: yellow;
}
.right {
position: absolute;
top: 0;
right: 0;
width: 400px;
height: 900px;
background-color: red;
}
  • 双飞翼布局

  主要利用了浮动、负边距、相对定位三个布局属性,使三列布局就像小鸟一样,拥有中间的身体和两侧的翅膀。

  html部分:

<div class="grid">
<div id="div-middle-02">
<div id="middle-wrap-02"><span>div-middle</span></div>
</div>
<div id="div-left-02"><span>div-left</span></div>
<div id="div-right-02"><span>div-right</span></div>
</div>

  css部分:

#div-middle-02 {
float: left;
background-color: #fff9ca;
width: 100%;
height: 80px;
}
#div-left-02 {
float: left;
background-color: red;
width: 150px;
  /* 重点看这里 */
margin-left: -100%;
height: 50px;
} #div-right-02 {
float: left;
background-color: yellow;
width: 200px;
  /* 重点看这里 */
margin-left: -200px;
height: 50px;
}
#middle-wrap-02 {
margin: 0 200px 0 150px;
background-color: pink;
}

  

最新文章

  1. Java 引用分类:StrongReference、SoftReference、WeakReference、PhantomReference
  2. SELECT TOP 100 PERCENT 不按后面的order by 排序
  3. Js获取后台集合List的值和下标的方法
  4. DP ZOJ 3735 Josephina and RPG
  5. FZU 2146
  6. android app性能优化大汇总(google官方Android性能优化典范 - 第1季)
  7. mysql 查找包含特定名字的表
  8. django最佳实践
  9. 启用Oracle中的scott用户
  10. MySql数据库的常用命令
  11. BBS论坛(十一)
  12. Linux安装python2.7
  13. Beep函数实现硬件蜂鸣声
  14. boost.lexical_cast 学习
  15. 搭建SpringBoot+dubbo+zookeeper+maven框架(一)
  16. JavaScript比较两个对象的值是否相等
  17. 微信web开发的上传图片js接口
  18. John:How JavaScript Timers Work
  19. vuex基本熟悉与使用
  20. gridview的编辑,更新,取消,自动分页等

热门文章

  1. 【PAT甲级】1072 Gas Station (30 分)(Dijkstra)
  2. html解析のBeautifulSoup
  3. cglib用法
  4. 吴裕雄--天生自然Numpy库学习笔记:NumPy 排序、条件刷选函数
  5. 吴裕雄 python 神经网络——TensorFlow 图像预处理完整样例
  6. 关于Mobility Express转LAP注意事项
  7. Educational Codeforces Round 77 (Rated for Div. 2) - D. A Game with Traps(二分)
  8. Atcoder Grand Contest 039C(容斥原理,计数DP)
  9. Codeforces Round #588 (Div. 2)E(DFS,思维,__gcd,树)
  10. 前端开发:javascript中的面向对象