Div+Css块状元素和内联元素
Div+Css块状元素和内联元素
一、块元素
块元素(block element)一般是其他元素的容器元素,块元素一般是从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签“P”。“form” 这个块元素比较特殊,它只能用来容纳其他块元素。
如果没有css的作用,块元素会顺序以每次另起一行的方式一直往下排。而有了css以后,我们可以改变这种html的默认布局模式,把块元素摆到你想要的位置上去,而不是每次都愚蠢的另起一行。需要指出的是:table 标签也是块元素的一种,table based layout 和css based layout 从一般使用者(不包括视力障碍者、盲人等)的角度来看这两种布局,除了页面载入速度的差别外,没有其他的差别。但是如果普通使用者不经意点了查
看页面源代码按钮后,两者所表现出来的差异就非常大了。基于良好重构理念设计的css布局页面源码,至少也能让没有web 开发经验的普通使用者把内容快速的读懂。从这个角度来说,css layout code 应该有更好的美学体验。
二、内联元素
内联元素(inline element)一般都是基于语义级(semantic)的基本元素,内联元素只能容纳文本或者其他内联元素,常见内联元素 “a”。
提到内联元素,我们会想到有个display的属性display:inline; 这个属性能够修复著名的IE双倍浮动边界问题。
块元素(block element)和内联元素(inline element)都是html规范中的概念。块元素和内联元素的基本差异是块元素一般都是从新行开始的。而当加入了css控制以后,块元素和内联元素的这种属性就不成为差异了。比如,我们完全可以把内联元素cite加上display:block 这样的属性,让它也有每次都从新行开始的属性。
块元素(block element)
address -地址 blockquote -块引用 center -居中对齐块
dir -目录列表 div -常用的块级元素,也是css layout的主要标签
dl -定义列表 filedset -form控制组 form -交互表单
h1 -大标题 h2 -副标题 h3 -3级标题
h4 -4级标题 h5 -5级标题 h6 -6级标题
hr -水平分割线 menu -菜单列表 ol -排序表单
p -段落 table -表格 ul -非排序列表
内联元素(inline element)
a -锚点 abbr -缩写 acronym -首字
b -粗体(不推荐) big -大字体 br -换行
cite -引用 code -计算机代码(在引用源代码的时候需要)
dfn -定义字段 em -强调 font -字体设定(不推荐)
i -斜体 img -图片 input -输入框
kbd -定义键盘文本 label -表格标签 q -短引用
s -中划线(不推荐) smap -定义范例计算机代码 select -项目选择
small -小字体文本 span -常用内联容器,定义文本区块
strike -中划线 strong -粗体强调 sub -下标
sup -上标 textarea -多行文本输入框 tt -电传文本
u -下划线 var -定义变量
当内联元素,在css中定义下列属性中的一种,便具有块元素的特征
1、display: block;
2、float:left; (不但具有块元素的特征,同时向左侧浮动)
这时候的内联元素,虽然具有了块状元素的特征,但是这两种有一点区别,第一种:彻头彻尾和块元素一模一样,都要单独占一行,从左至右,前提没有width 和 height属性,严格遵循流动布局模型块元素的流动布局方式,自上至下流动。第二种:大小是恰好能将内容包含,并且右侧浮动,可以多个在一行。
当加上position:absolute/relative的时候,块状元素和内联元素就不受父级区域的限制了,可以移动到任何位置,此时如果加上width和height属性,那么就具有层的特征了(加上width和height 还有一点好处,就是可以兼容IE浏览器了,所有的浏览器实现效果都一样了)。