Auto可以根据浏览器的宽度自动的设置两边的外边距。如果想要页面居中,当设置margin属性为auto的时候,不能再设置浮动或绝对定位属性。
浮动布局:CSS中规定的第二种定位机制。能够实现横向多列布局,通过设置float属性实现。
foat属性:left- -左浮动、right- -右浮动、none- -不浮动
特点:元素会左移或右移,直到碰到容器为止。设置了浮动的元素,仍处于标准文档流中。
当元素没有设置宽度值,而设置了浮动属性,元素的宽度随内容的变化而变化。当元素设置浮动属性后,会对相邻的元素产生影响。其中相邻的元素特指紧邻后面的元素。
清除浮动的常用方法:
1.clear属性- -常用clear:both(clear:left或者clear:right);
2.同时设置width:100%(或固定宽度)+overflow:hidden。
空标签无意义,不建议使用此方法清楚浮动。
横向两列布局是网页布局最常见的方式之一。
主要的应用技能:
1.float属性——使纵向排列的块级元素,横向排列;
2.margin属性——设置两列之间的间距。
绝对定位布局:通过position属性实现。CSS中的第三种定位机制,能够实现横向多列布局及较为复杂的定位。
Position属性(拥有3种定位形式):1.静态定位;2.相对定位;3.绝对定位。
可以设置4个属性值:
1.static(静态定位);2.relative(相对定位);3.absolute(绝对定位);4.fixed(固定定位)。
相对定位特点:
1.相对于自身原有位置进行偏移;
2.仍处于标准文档流中;
3.随即拥有偏移属性和z-index属性。
绝对定位特点:
1.建立了以包含块为基准的定位;
2.完全脱离了标准文档流;
3.随即拥有了偏移属性和z-index属性。
绝对定位中的未设置偏移量特点:无论是否存在已定位祖先元素,都保持在元素初始位置脱离了标准文档流。
绝对定位中的设置偏移量:
①无已定位祖先元素:以<html>为偏移参照基准;
②有已定位祖先元素:以距其最近的已定位祖先元素为偏移参考基准。
横向两列布局:使用绝对定位实现横向两列布局,应用比较少。
时常使用的情况:
1.使用absolute实现横向两列布局,常用于一列固定宽度,另一列宽度自适应的情况:
主要应用技能:
relative——父元素相对定位
absolute——自适应宽度元素绝对定位
注意:固定宽度列的高度>自适应宽度的列
通过设置背景,改变外观样式
通过a:hover,可以为菜单增加交互效果。