css布局总结

2017-02-07  本文已影响95人  LYF闲闲闲闲

自己在使用css来美化页面时,总会不由自主的用到bootstrap的样式,总是会把css和bootstrap混着用,为了自己对于css的样式更加清楚,写一篇有关css布局的内容。

基本内容

1.display

举例来说

<div>
    apple<span>行内元素</span>apple2
    <div>块级元素</div>
    apple3
</div>
结果

2.position(定位)

很多框的定位和尺寸的计算,都取决于一个矩形的边界,这个矩形,被称作是包含块。

判定规则:


3.float(浮动)

4. 'display'、'position' 和 'float' 的相互关系

说明:浮动或绝对定位的元素,只能是块元素或表格。

5.margin(外边距)

使用方法:margin:10px,值可以是 数字+px,auto(自适应),百分比,对于行内非替换元素(例如 SPAN),垂直方向的 margin 不起作用。
垂直方向上的不同元素的相邻的 margin 在某些情况下,会发生折叠的现象

指的是毗邻的两个或多个外边距 (margin) 会合并成一个外边距。
注意:

  1. 浮动元素、inline-block 元素、绝对定位元素的 margin 不会和垂直方向上其他元素的 margin 折叠
  2. 元素自身的 margin-bottom 和 margin-top 相邻时也会折叠
  3. 创建了块级格式化上下文的元素,不和它的子元素发生 margin 折叠
    参考:http://www.w3help.org/zh-cn/kb/006/

格式化上下文

指的是初始化元素定义的环境。包含两个要点,一个是元素定义的环境,一个是初始化。

<!--Block Formatting Context会阻止边距折叠-->
<div style="width:400px;background-color:#0000ff;">
    <div style="background:gray;margin:20px;">没创建BLK不同流div</div>
</div>
<div style="width:400px;background-color:#8a2be2;overflow:hidden;_zoom:1">
    <div style="background:gray;margin:20px;">创建BLK,IE通过类似BLK的layout,IE通过zoom:1触发layout</div>
</div>

<!--Block Formatting Context可以包含内部元素的浮动-->
<div style="width:400px;background-color: mediumspringgreen;">
    <div style="float: right">没创建BLK不同流div</div>
</div>
<div style="width:500px;background-color:#0000ff;overflow:hidden;_zoom:1">
    <div style="float: right">创建BLK,IE通过类似BLK的layout,IE通过zoom:1触发layout</div>
</div>

<!--Block Formatting Context可以阻止元素覆盖浮动盒模型-->
<div style="background:skyBlue;float:left;width:180px;">
    leftside
</div>
<div style="background:yellow;float:right;width:180px;">
    rightside
</div>
<div style="background:pink;overflow:hidden;_zoom:1;_margin:0 -3px 0 0;border:5px solid teal;">
    middele
</div>
  1. 行框的宽度 由它的子孙集和其中的浮动元素决定。高度的确定由行高度计算规则决定。
  2. 行框的左边接触到其包含块的左边,右边接触到其包含块的右边。然而,浮动元素可能会处于包含块1边缘和行框边缘之间

参考:http://www.html5jscss.com/box-context.html
http://www.w3help.org/zh-cn/kb/010/


6.border(边框)

7.padding(内边距)


margin,border,padding的关系图
上一篇下一篇

猜你喜欢

热点阅读