CSS的元素类型
1. 元素类型
根据CSS显示分类,XHTML元素被分为三种类型:
块状元素,内联元素,可变元素
或
块状元素,内联元素,内联块元素(css2.1增加)
块状元素
- 块状元素在网页中就是以块的形式显示,即为矩形区域
- 默认情况下,按顺序自上而下排列,都独占一行
- 块状元素都可以定义自己的宽度和高度
- 块状元素一般作为其他元素的容器,可以容纳内联元素和其它块状元素
- 块状元素在默认情况下,宽度为浏览器的宽度,高度为子元素高度,如果子元素没有高度则不显示
内联元素
- 内联元素最小内容单元也呈现矩形形状
- 内联元素是在一行内逐个排列
- 内联元素不能直接定义它的宽和高,它显示的宽度、高度是由内容撑开的
- 元素也会遵循盒模型基本规则,如可以定义padding,border,margin,background等属性,但个别属性不能正确显示(padding-top/padding-bottom,margin-top/margin-bottom)
注意: 内联元素在一行之内排列的时候,之间有间距
解决方法:a. 添加浮动 b. 把标签在一行显示(不推荐)
行内块元素
行内块状元素综合了行内元素和块状元素的特性
- 不会自动换行
- 默认排列方式为从左到右
- 可以设置宽高
可变元素
需要根据上下文关系确定该元素是块元素或者内联元素
2. 标签种类
- 块级元素
div -最常用的块级元素
dl - 和dt、dd 搭配使用的块级元素
form - 交互表单
h1-h6 - 大标题
hr - 水平分隔线
ol – 有序列
p - 段落
ul - 无序列表
li
fieldset - 表单字段集
colgroup-col - 表单列分组元素
table-tr-td 表格及行-单元格
...
- 内联元素
a - 超链接(锚点)
b、strong - 粗体
br - 换行
i - 斜体
em - 强调
img - 图片
input - 输入框
label - 表单标签
span - 常用内联容器,定义文本内区块
sub - 下标
sup - 上标
textarea - 多行文本输入框
u - 下划线
select - 项目选择
...
- 可变元素
applet - java applet
button - 按钮
del - 删除文本
iframe - inline frame
ins - 插入的文本
map - 图片区块(map)
object - object对象
script - 客户端脚本
...
3. 元素类型的转换
- display属性
盒子模型可通过display属性来改变默认的显示类型
block 此元素将显为块级元素
inline 此元素会被显示为内联元素,元素前后没有换行符
inline-block 行内块元素(CSS2.1新增的值)
list-item 此元素会作为列表显示
none 元素隐藏
注意:当行内元素设置了float属性后,也可以给元素定义宽、高
4. 置换元素和非置换元素
-
置换元素:
浏览器根据元素的标签和属性,来决定元素的具体显示内容
如img标签,src属性决定了在网页呈现不同的图片
如input标签,type属性决定了在网页中呈现什么类型的input控件 -
非置换元素
除置换元素外其他的html元素都是非置换元素
标签之间书写什么样的内容,浏览器就显示什么内容
如img input select textarea button label等,他们被称为可置换元素。
它们区别一般inline元素是:这些元素拥有内在尺寸,可以设置width/height属性
它们的性质和设置了display:inline-block的元素一致
这也是为什么img作为内联元素却可以设置宽高的原因