CSS布局

369 查看

元素有三种布局模型
1、流动模型(flow)2、浮动模型(float) 3、层模型(layer)

流动模型的特征
1、块状元素都在所处的包含元素内自上而下的的垂直分布,默认情况下块状元素的宽度是100%。
2、内联元素都在所处的包含元素内从左到右水平分布显示。

浮动模型
浮动模型可以设置让块状元素并排显示

div{
    width:200px;
    height:200px;
    border:2px red solid;
}
   #div1{float:left;}
  #div2{float:right;}

<div id="div1"></div>
<div id="div2"></div>

层模型
让html元素在网页中精确定位,就像图像软件PhotoShop中的图层一样可以对每个图层能够精确定位操作。CSS定义了一组定位(positioning)属性来支持层布局模型。
层模型有三种形式:

1、绝对定位(position: absolute)

2、相对定位(position: relative)

3、固定定位(position: fixed)

层模型--绝对定位
使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。

div{
    width:200px;
    height:200px;
    border:2px red solid;
    position:absolute;
    left:100px;
    top:50px;
}
<div id="div1"></div>

层模型--相对定位
通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。

#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:relative;
    left:100px;
    top:50px;
}

<div id="div1"></div>

层模型--固定定位
fixed:表示固定定位,它的相对移动的坐标是视图(屏幕内的网页窗口)本身。

#div1{
    width:200px;
    height:200px;
    border:2px red solid;
    position:fixed;
    bottom:0;
    right:0;
}

Relative与Absolute组合使用
作用是相对于其它元素进行定位
1、参照定位的元素必须是相对定位元素的前辈元素:
2、参照定位的元素必须加入position:relative;
3、定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。

#box1{
    width:200px;
    height:200px;
    position:relative;
}
#box2{
    width:99%;
    position:absolute;
    bottom:0px;
}