一、行内元素与块级元素的基本概念
1.
块元素
(blockelement)
:
块级元素生成一个元素框,
(默认地)它会填充其父级元素的内容,旁边不
能有其他元素。换句话说,他在元素框之前和之后生成了“分隔”符。我们最熟
悉的
HTML
元素是
p
和
div.
2.
内联元素
(inlineelement),
也叫行内元素:
内联元素在一个文本行内生成元素框,而不会打断这行文本。内联元素最好
的例子就是
XHTML
中的
a
元素。
strong
和
em
也属于内联元素。
这些元素不会在
它本身之前或之后生成“分隔符”
,所以可以出现在另一个元素的内容中,而不
会破坏其显示。
尽管“块”和“内联”这两个词与
HTML
和
XHTML
中的块级和行内元素有很
多共同点,但也存在一个重要的差别。在
HTML
和
XHTML
中,块级元素不能继
承自内联元素(即不能嵌套在行内元素中)
。但是
CSS
中,对于显示角色如何嵌
套不存在任何限制。
另外提到内联元素,
我们会想到有个
display
的属性是
display:inline;
这个属性
能够修复著名的
IE
双倍浮动边界问题。
块元素
(blockelement)
和内联元素
(inlineelement)
都是
html
规范中的概念。
块
元素和内联元素的基本差异是块元素一般都从新行开始。而当加入了
css
控制以
后,
块元素和内联元素的这种属性差异就不成为差异了。
比如,
我们完全可以把
内联元素
cite
加上
display:block
这样的属性,
让他也有每次都从新行开始的属性。
也可以把块元素
div
加上
display:inline
,让他显示为内联元素。
3.
可变元素:
可变元素是基于以上两者随环境而变化的,
它的基本概念就是他需要根据上
下文关系确定该元素是块元素或者内联元素。
可变元素还是属于上述两种元素类
别,
一旦上下文关系确定了他的类别,
他就要遵循块元素或者内联元素的规则限
制。
二、行内元素与块级元素的三个区别
:
1.
行内元素与块级元素直观上的区别
行内元素会在一条直线上排列,都是同一行的,水平方向排列
块级元素各占据一行,
垂直方向排列。
块级元素从新行开始结束接着一个断
行。
2.
块级元素可以包含行内元素和块级元素。行内元素不能包含块级元素。
3.
行内元素与块级元素属性的不同,主要是盒模型属性上
行内元素设置
width
无效,
height
无效
(
可以设置
line-height)
,
margin
上
下无效,
padding
上下无效
。