html常见的三种页面布局方法

html-css09

html常见的三种页面布局方法,第1张

流动布局

流动布局是浏览器默认的布局方式。他会按照你所写的标签特性,从上至下、从左到右的方式进行排列

在HTML中我们按照标签的排列特性可以将它们分成三类:

1.行级元素:不独占一行,不能设置元素的高度、宽度和底边边距,它的宽度和高度是由他的内容撑起来的。

2.行内块元素:不独占一行,可以设置元素的宽度、高度和底边边距。

3.块级元素:独占一行,元素的宽度、高度、上下边的边距都可以设置。

常用的行级元素有:<span><a>

常用的行内块元素:<img><input><textarea>

常用的块级元素:<div><h1><p><table><tr><td><form><ul><ol><li><dl><dt><dd>

浮动布局

在默认情况下,块级元素会独占一行,但是当我们想让两个块级元素在同一行排列时,我们就可以用到浮动布局

层模型

设置层模型属性会将标签从原来的文本流中上升到浮动层中来,然后调整他在浮动层中的位置,文本层中的标签会覆盖在下面文本层中的标签上面。有相对定位、绝对定位和固定定位三种属性。

1.自然布局。

没有任何修饰的布局是自动靠左的。

2.流动布局

上面讲的float:left的情况。

3.定位布局

相对定位和绝对定位都是相对于父div标签的。

相对------以这个元素的本来应该在的位置为参照点

绝对——以父div标签的原点(左上角)为参照点。

由于外层是position:relative,所以里层是absolute的话,则会以外层的左上角为位移参考对齐。当然外层只写position:relative,写上left,top这两个值,则表示以:以这个元素的本来应该在的位置为布局参照原点进行left,top对齐。

还有一种情况是,只是一个position:absolute外层没有position:relative,这时会找寻那个点为参考呢?这时候的原则是:如果某父级元素中有relative者,则以某父级元素为参考原点,如果没有position:relative,则以body为参考原点。如果position:absolute外层没有relative时,这两个布局上是没有区别的。

当然最后一种情况是:外层是:position:absolute里边是position:relative,那会是什么情况?按着原来的原则,absolute会参考body为布局原点,relative会参考他本来应该在的位置为布局原点,这时候其实就是参考外层左上角为布局原点。