就是块级元素。设置display:
block就是将元素显示为块级元素。
将内联元素a转换为块状元素表示为a{display:
block;}
块级元素特点:
1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。
(真霸道,一个块级元素独占一行)
2、元素的高度、宽度、行高以及顶和底边距都可设置。
3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。
在html中,、、
块状元素也可以通过代码display:
inline将元素设置为内联元素。
如:
div{display:
inline;}块状元素div转换为内联元素,从而使div元素具有内联元素特点。
内联元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度及顶部和底部边距不可设置;
3、元素的宽度就是它包含的文字或图片的宽度,不可改变。
内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码display:
inline-block就是将元素设置为内联块状元素。
(css2.1新增),、标签就是这种内联块状标签。
内联块状元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度、行高以及顶和底边距都可设置。
border-style(边框样式)常见样式有:
dashed(虚线)|dotted(点线)|solid(实线)。
border-color(边框颜色)中的颜色可设置为十六进制颜色,如:
border-color:
#888;//前面的井号不要忘掉。
border-width(边框宽度)中的宽度也可以设置为:
thin|medium|thick(但不是很常用),最常还是用象素(px)。
只设置下(上、右、左)边框的设置:
div{border-bottom:
1pxsolidred;}
border-top:
1pxsolidred;
border-right:
1pxsolidred;
border-left:
1pxsolidred;
元素内容与边框之间是可以设置距离的,称之为“填充”。
填充也可分为上、右、下、左(顺时针)。
如下代码:
div{padding:
20px10px15px30px;}
如果上、右、下、左的填充都为10px;可以这么写
div{padding:
10px;}
如果上下填充一样为10px,左右一样为20px,可以这么写:
div{padding:
10px20px;}
元素与其它元素之间的距离可以使用边界(margin)来设置。
边界也是可分为上、右、下、左。
如下代码:
div{margin:
20px10px15px30px;}
如果上右下左的边界都为10px;可以这么写:
div{margin:
10px;}
如果上下边界一样为10px,左右一样为20px,可以这么写:
div{margin:
10px20px;}
总结一下:
padding和margin的区别,padding在边框里,margin在边框外。
流动模型
第一点,块状元素都会在所处的包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。
实际上,块状元素都会以行的形式占据位置。
第二点,在流动模型下,内联元素都会在所处的包含元素内从左到右水平分布显示。
(内联元素可不像块状元素这么霸道独占一行)
浮动模型
任何元素在默认情况下是不能浮动的,但可以用CSS定义为浮动,如div、p、table、img等元素都可以被定义为浮动。
(在设置完边框数据后设置浮动模型)
并排显示左对齐:
float:
left;
一左一右显示:
#div1{float:
left;}
#div2{float:
right;}
并排显示右对齐:
float:
right;
层模型
层模型有三种形式:
1、绝对定位(position:
absolute)2、相对定位(position:
relative)3、固定定位(position:
fixed)
如果想为元素设置层模型中的绝对定位,需要设置position:
absolute(表示绝对定位),这条语句的作用将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性的父包含块进行绝对定位。
如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。
如下面代码可以实现div元素相对于浏览器窗口向右移动100px,向下移动50px。
div{
width:
200px;
height:
200px;
border:
2pxredsolid;
position:
absolute;
left:
100px;
top:
50px;
}