首页 > 代码库 > css 布局模型
css 布局模型
在网页中,元素有三种布局模型:
1、流动模型(Flow)
2、浮动模型 (Float)
3、层模型(Layer)
1.流动模型(flow)
默认的网页布局模式。
流动布局有两个典型的特征
1.块状元素都会在所处的包含元素内自上二下按顺序垂直延伸分布,默认情况下,块状元素的宽度都是100%。
实际上块状元素都会以行的形式占据位置。
2.流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示(内联元素可不会像快状元素霸道独占一行)
2.浮动模型(float)
实现让两个块装元素并排显示
float:left;
3.层模型(layer)在网页局部使用层模型有优势
1.绝对定位(position:absolute)
2.相对定位(position:relative)
3.固定定位(position:fixed)
1.绝对定位(position:absolute)
如果想为元素设置层模型中的绝对定位,需要设置position:absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。
position:absolute; left:100px;//靠左100px top:50px;//靠上50px
2相对定位(position:relative)
如果想为元素设置层模型中的相对定位,需要设置position:relative(表示相对定位),它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动,移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。
3.层模型 固定定位(fixed)
fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed?属性功能相同。以下代码可以实现相对于浏览器视图向右移动100px,向下移动50px。并且拖动滚动条时位置固定不变。
例子:打开网页右下角的惹人恨的小广告
基于absolute与relative的例子
1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>无标题文档</title> 6 <style type="text/css"> 7 div{ 8 border:2px solid red; 9 } 10 #box1{ 11 width:200px; 12 height:200px; 13 /*定位子元素 */ 14 position:relative; 15 } 16 #box2{ 17 /*使用top,left进行偏移定位(参照对象是任意位置)*/ 18 position:absolute; 19 top:50px; 20 left:30px; 21 } 22 23 </style> 24 </head> 25 26 <body> 27 <div id="box1"> 28 <div id="box2">相对参照元素定位</div> 29 </div> 30 </body> 31 </html>
css 布局模型