block(块)元素的特点:
①总是在新行上开始;
②高度、行高以及内外边距都可控制;
③宽度缺省是它的容器的100%,除非设定一个宽度;
④它可以容纳内联元素和其他块元素。
inline(行内)元素的特点:
①和其他元素在一行上;
②行高和内外边距都可控制,但是高度不可改变;
③宽度就是它的文字或图片的宽度,不可改变;
④行内元素只能容纳文本或者其他行内元素。
修改行内框尺寸的唯一方法是修改水平边框、内边距或外边距。
而想要改变它的位置,可以通过修改其(或父元素的)行高。
通过设置display属性可以将块元素和行内元素进行切换。需要切换的情况如下:
inline --> block(display:block;)
①让一个inline元素从新行开始;
②控制inline元素的宽度(对导航条特别有用);
③控制inline元素的高度;
block --> inline(display:inline;)
①让块元素和其他元素保持在一行上;
②无须设定宽度即可为一个块元素设定与文字同宽的背景色。
inline元素的属性很难控制,一个好的解决方法就是将其display属性设置为inline-block。
display: inline-block是什么意思呢?
display:inline-block让元素像行内元素一样水平地依次排列,但是元素的内容符合块元素的行为。
inline-block元素的特点:
呈现为行内对象,与其他元素保持在同一行,但可以设置宽度和高度地块元素的属性。
大多数框由显示定义的元素形成。但是在一种情况下,即使没有显示定义,也会创建块元素。这种情况发生在将一些文本添加到一个块元素(比如div)的开头时。
即使没有把这些文本定义为块元素,它也会被当成块元素对待:
<div>
在这种情况下,这个框称为匿名块框。
<p>其他一些文本</p>
</div>
html标签里面有哪些块元素和行内元素呢?
块元素
◎ address - 地址
◎ blockquote - 块引用
◎ center - 居中对齐块
◎ dir - 目录列表
◎ div - 常用块级容易,也是csslayout的主要标签
◎ 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 - 下划线
◎ var - 定义变量
读者还可以参考这篇博客http://www.douban.com/note/90916722/