元素类型
元素类型
一、XHTML元素分类
根据css显示分类,XHTML元素被分为三种类型:块状元素,内联元素,可变元素
1.块状元素(block element)
1)块状元素在网页中就是以块的形式显示,所谓块状就是元素显示为矩形区域,常用的块状元素:div,dl,dt,dd,ol,ul,fieldset,(h1-h6),p,form,hr,iframe,colgroup,col,table,tr,td,li等;
2)默认情况下,块状元素都会占据一行,通俗地说,两个相邻块状元素不会出现并列显示的现象,元素会按顺序自上而下排列
3)块状元素都可以定义自己的宽度和高度
4)块状元素严格遵循盒模型规则,即,都可以定义padding/border/margin/background的属性;
5)块状元素一般都作为其它元素的容器,她可以容纳其它内联元素和其它块状元素。我们可以把容器比喻为一个盒子
注:p标签里不能再容纳其它的块状元素,包括自身
2、内联元素(inline element)(或是行内元素)
1)常见的内联元素如:a,span,i,em,strong,b,img,input等
2)内联元素的表现形式是始终以行内逐个进行显示;
3)内联元素没有自己的形状,不能定义它的宽和高,它显示的宽度、高度只能根据它所包含内容的高度和宽度来确定,它的最小内容单元也会呈现矩形形状;
4)内联元素也会遵循盒模型基本规则,可以定义
padding,border,margin,background等属性,但个别属性不能正确显示,如果想让这些属性正确显示,那么需要对元素进行一些特殊处理
3、可变元素
需要根据上下文关系确定该元素是块元素或者内联元素
<button></button>
<del></del>
4、元素类型的转换
盒模型可通过display属性来改变默认的显示类型
1)display属性与属性值(18个属性值)
属性值:block/inline/inline-block/none/list-item/table-header-group/table-footer-group
作用:该属性设置或检索对象元素应该生成的盒模型的类型
说明:各属性值的作用
1)block块状显示:类似在元素后面添加换行符,也就是说其他元素不能在其后面并列显示。(显示该元素)
2)inline内联显示:在元素后面删除换行符,多个元素可以在一行内并列显示。
3)inline-block行内块元素显示:元素的内容以块状显示,行内的其他元素显示在同一行。(只有这种类型支持vertical-align属性)img,input
内联元素添加浮动后:自动转换成块元素;块元素添加浮动后:体积与内容同宽(不设置宽高的情况下)
4)list-item:将元素转换成列表。li的默认类型。
5)none此元素不会被显示/隐藏。
6)1、大部分块元素display属性值默认为block,其中列表(li)的默认值为list-item,li是一个特殊的块元素
2、大部分内联元素的display属性值默认为inline,其中img,input,默认为inline-block
eg: .box{width:1200px;height:300px;}
.box div{width:198px;height:300px;border-left:1px solid #FC3;border-right:1px solid #FC3;float:left;text-align:center;}
.box a{display:inline-block;vertical-align:middle;}
.box span{display:inline-block;height:100%;vertical-align:middle;}
<div class="box">
<div><a href="#"><img src="images/mz1.jpg"/></a><span></span></div>
<div><a href="#"><img src="images/mz2.jpg"/></a><span></span></div>
<div><a href="#"><img src="images/mz3.jpg"/></a><span></span></div>
<div><a href="#"><img src="images/mz4.jpg"/></a><span></span></div>
<div><a href="#"><img src="images/mz5.jpg"/></a><span></span></div>
<div><a href="#"><img src="images/mz6.jpg"/></a><span></span></div>
</div>
visibility:inherit/visible/collapse/hidden;
设置或检索对象是否显示
a)inherit:默认值,继承父对象的特征;
b)visible:对象显示;
c)collapse:未支持,主要隐藏表格的行或列;能够被其它内容使用,对于表格外的其他对象 不起作用,相当于hidden;
d)hidden:对象隐藏。
display:none与visibility:hidden的区别
display:none;元素内容及占有的位置全部隐藏
visibility:hidden;元素内容隐藏,但位置保留