CSS 块元素和内联元素

CSS块元素和内联元素

对于html各种标签/元素,可以从块的层面做一个分类:要么是block(块元素),要么是inline(内联元素):
 
block元素(块元素)的特点: 总是另起一行开始; 
                 高度,行高以及顶、底边距都可控制; 
                          宽度缺省是它所在容器的100%,除非设定一个宽度。
 
inline元素(内联元素)的特点: 和其它元素都在一行上; 
                             高度,行高以及顶、底边距不可改变; 
                             宽度就是它所容纳的文字或图片的宽度,不可改变。
 
性质及应用做进一步说明:
 
◎块元素(block element) 通常作为其它元素的容器,它可以容纳内联元素和其它块元素。 
  默认情况下,块元素会顺序以每次另起一行的方式往下排,而通过CSS控制其样式,可以改变这种默认布局模式,把块元素摆放到你想要的位置上去。需要指出的是,table标签也是块元素的一种,基于table表格和基于CSS+DIV的布局,在使用者看来除了页面载入速度的差别(table在所有内容元素加载完成后才显示),没有其它的差别。但是从页面的源代码来看,这种差异就非常大了。基于良好结构理念设计的CSS布局源码,至少能让没有web开发经验的用户很容易找到连续的页面内容。从这个角度来说,CSS layout code应该有更好的美学体验。
  我们可以把模块化的DIV想象成一个个box,然后把它们按自己的意愿排列组成完整的内容,网页布局设计就是遵循了同样的模式。
 
块元素(block element) HTML标签分类明细 
address - 地址 
blockquote - 块引用 
center - 举中对齐块 
dir - 目录列表 
div - 常用块级容易,也是css layout的主要标签 
dl - 定义列表 
fieldset - form控制组 
form - 交互表单 (只能用来容纳其它块元素) 
h1 - 大标题 
h2 - 副标题 
h3 - 3级标题 
h4 - 4级标题 
h5 - 5级标题 
h6 - 6级标题 
hr - 水平分隔线 
isindex - input prompt 
menu - 菜单列表 
noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容 
noscript - 可选脚本内容(对于不支持script的浏览器显示此内容) 
ol - 排序表单 
p - 段落 
pre - 格式化文本 
table - 表格 
ul - 非排序列表
 
◎内联元素(inline element) 一般都是基于语义级(semantic)的基本元素,只能容纳文本或者其它内联元素。 
  为了比较明确的表现出 block 与 inline 的区别,我们可以利用它们各自的代表元素div和span的演示进行说明: XXXXXXX<span>This's a span layout</span>XXXXXXX 所有元素在一行,spans标签能在内容中实现容纳其他内容,而不自动换行。
 
内联元素(inline element) HTML标签分类明细 
a - 锚点 
abbr - 缩写 
acronym - 首字 
b - 粗体(不推荐) 
bdo - bidi override 
big - 大字体 
br - 换行 
cite - 引用 
code - 计算机代码(在引用源码的时候需要)
dfn - 定义字段 
em - 强调 
font - 字体设定(不推荐) 
i - 斜体 
img - 图片 
input - 输入框 
kbd - 定义键盘文本 
label - 表格标签 
q - 短引用 
s - 中划线(不推荐) 
samp - 定义范例计算机代码 
select - 项目选择 
small - 小字体文本 
span - 常用内联容器,定义文本内区块 
strike - 中划线 
strong - 粗体强调 
sub - 下标 
sup - 上标 
textarea - 多行文本输入框 
tt - 电传文本 
u - 下划线 
var - 定义变量
 
◎可变元素 是基于以上两者随环境而变化的,它的基本概念就是根据上下文关系确定该元素是块元素还是内联元素。一旦确定了它的类别,它就遵循块元素或者内联元素的规则限制。
 
可变元素   HTML标签分类明细 
applet - java applet   
button - 按钮   
del - 删除文本   
iframe - inline frame   
ins - 插入的文本   
map - 图片区块(map)   
object - object对象   
script - 客户端脚本
 
--------------------------------------------------------------------------------
 
但是通过CSS,我们可以摆脱上面表格里HTML标签归类的限制,自由地在不同标签/元素上应用我们需要的属性。例如,我们可以对块元素[ ul ]标签加上 display:inline 属性,改为内联元素;可以把内联元素[ cite ]加上 display:block 改为块元素。
 
posted @ 2012-08-08 16:17  小牛角  阅读(425)  评论(0)    收藏  举报