根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级”元素(block-level);而span元素的默认display属性值为“inline”,称为“行内”元素。
div这样的块级元素,就会自动占据一定矩形空间,可以通过设置高度、宽度、内外边距等属性,来调整的这个矩形的样子;与之相反,像“span”“a”这样的行内元素,则没有自己的独立空间,它是依附于其他块级元素存在的,因此,对行内元素设置高度、宽度、内外边距等属性,都是无效的。
如下面的代码把display:block;属性值去掉的话,宽度和高度都不会起作用了.
<span style="100px;height:100px;display:block;background-color:blue;"></span>
在xhtml中每个对象而言,都拥有自己默认的显示模式。div对象的默认显示模式是display :block。从而使div成为一个块状容器,其默认空间是占据整行空间。而span的对象的默认显示模式为display:inline 。而display属性的用法是改变元素的显示模式。
margin可以控制内联和块级元素的间距,而不光是内联元素。
主要注意他们之间的转换问题,如块级元素加float属性会变为内联元素。
可变元素为根据上下文语境决定该元素为块元素或者内联元素。
* applet - java applet
* button - 按钮
* del - 删除文本
* iframe - inline frame
* ins - 插入的文本
* map - 图片区块(map)
* object - object对象
* script - 客户端脚本