一、特点
块元素:
①、总是在新行上开始;
②、高度,行高以及外边距和内边距都可控制;
③、宽度缺省是它的容器的100%,除非设定一个宽度。
④、它可以容纳内联元素和其他块元素
行内元素:
①、和其他元素都在一行上;
②、高,行高及外边距和内边距不可改变;
③、宽度就是它的文字或图片的宽度,不可改变
④、内联元素只能容纳文本或者其他内联元素
二、常用
块级元素:
div , p , form, ul, li , ol, dl, form, address, fieldset, hr, menu, table
行内元素:
span, strong, em, br, img , input, label, select, textarea, cite
三、行内元素与块级元素的转换
[v_act]display
块级元素默认display:block;行内非替换元素(a,span)默认为display:inline;;行内替换元素(input)默认为display:inline-block; display:none;不显示该元素,也不会保留该元素原先占有的文档流位置。 display:block;转换为块级元素。 display:inline;转换为行内元素。 display:inline-block;转换为行内块级元素。 以上四个是我常用的,事实上,还有很多 通过display:block;与display:inline;可以很容易的实现两类元素变现形式之间的转换。 但是,有很多时候,我们需要使用display:inline-block;来转换行内元素,或者是块级元素。但是这个元素时css2新增的属性,对于IE7以下的版本不支持这个属性,所以需要一些兼容的办法。
[/v_act]
[v_act]
float
当把行内元素设置完float:left/right后,该行内元素的display属性会被赋予block值,且拥有浮动特性。行内元素去除了之间的莫名空白
[/v_act]
[v_act]
position
当为行内元素进行定位时,position:absolute,与position:fixed。都会使原先的行内元素变为块级元素。
[/v_act]
四、对行内元素,需要注意如下
设置宽度width 无效。 设置高度height 无效,可以通过line-height来设置。 设置margin 只有左右margin有效,上下无效。 设置padding 只有左右padding有效,上下则无效。注意元素范围是增大了,但是对元素周围的内容是没影响的。
五、常见的块状元素
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 – 无序列表
六、常见的内联元素
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 – 下划线
七、行内元素与块级元素有什么不同?
区别一: 块级:块级元素会独占一行,默认情况下宽度自动填满其父元素宽度 行内:行内元素不会独占一行,相邻的行内元素会排在同一行。其宽度随内容的变化而变化。 区别二: 块级:块级元素可以设置宽高 行内:行内元素不可以设置宽高 区别三: 块级:块级元素可以设置margin,padding 行内:行内元素水平方向的margin-left; margin-right; padding-left; padding-right;可以生效。但是竖直方向的margin-bottom; margin-top; padding-top; padding-bottom;却不能生效。 区别四: 块级:display:block; 行内:display:inline; 可以通过修改display属性来切换块级元素和行内元素