常用的块级元素:
address , center , div , dl ,, form , h1 , h2 , h3 , h4 , h5 , h6 , menu , ol , p , table , ul , li
在HTML5的规范中,<header><nav><footer><article><section>等标签其实就是<div>,而这些新标签出现的意义是为了更好的划分整体HTML文档显示逻辑结构,
比如,在<header>标签中只能定义与页首相关的内容,而不是将页首定义为一个<div class="header">,这就是这些标签与<div>的主要区别。
常用内联的元素:
a , b , br , em , font , img , input , label , select , small , span , textarea
可变元素(根据上下文关系确定该元素是块元素还是内联元素):
button
块元素和内联元素的区别:
在标准文档流里面,块级元素具有以下特点:
①总是在新行上开始,占据一整行;
②高度,行高以及外边距和内边距都可控制;
③宽带始终是与浏览器宽度一样,与内容无关;
④它可以容纳内联元素和其他块元素。
行内元素的特点:
①和其他元素都在一行上;
②高,行高及外边距和内边距部分可改变;
③宽度只与内容有关;
④行内元素只能容纳文本或者其他行内元素。
不可以设置宽高,其宽度随着内容增加,高度随字体大小而改变,内联元素可以设置外边界,但是外边界不对上下起作用,只能对左右起作用,也可以设置内边界,但是内边界在ie6中不对上下起作用,只能对左右起作用
CSS改变元素类型
利用CSS我们可以摆脱上面表格里HTML标签归类的限制,自由地在不同标签/元素上应用我们需要的属性。
注意
内联元素的margin-left / margin-right及padding-left / padding-rigtht是可以控制的,所以可以通过
主要用的CSS样式有以下三个:
display:block -- 显示为块级元素
display:inline -- 显示为内联元素
dipslay:inline-block -- 显示为内联块元素,表现为同行显示并可修改宽高内外边距等属性
这4个属性来控制内联元素的宽度。
内联元素的内部也可以放块级元素标签,而且内部的块级元素标签会撑大外部的内联标签,所以可以通过放块元素来控制内联元素的高度(网上介绍的是内联元素只能放文本及其他内联元素)
例如:
<a> <div style="100px;height:100px;">测试</div> </a>
block元素的特点:
总是在新行上开始;此元素将显示为块级元素,此元素前后会带有换行符。
高度,行高以及顶和底边距都可控制;
宽度缺省是它的容器的100%,除非设定一个宽度。
可以控制宽高。
<div>, <p>, <h1>, <form>, <ul> 和 <li>是块元素的例子。
inline元素的特点:
和其他元素都在一行上;默认。此元素会被显示为内联元素,元素前后没有换行符。
高,行高及顶和底边距不可改变;
行内元素,不能定义自己的宽和高(input是个例外,可以独立设置宽/高)。如果需要设置高度,可以通过行高line-height撑起来。
宽度就是它的文字或图片的宽度,不可改变。
左右margin可以改变,padding可以改变。(ie6上下不能padding)
行内元素不会单独的占有一行,而是挨着显示的。
行内元素要设置宽高,可以通过设置display:inline-block,即可像块级元素一样设置宽高了。
<span>, <a>, <label>, <input>, <img>, <strong> 和<em>是inline元素的例子
------------------------------------------------------------------------------------------------------------------
块元素(block element)
◎ 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 - 非排序列表
---------------------------------------------------------------------------------------------------------
内联元素(inline element)
◎ 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 - 定义变量
----------------------------------------------------------------------------------------------------
行内元素和块元素之间的转换:
把块元素加上display:inline的属性后就变成了行内元素。例如div{display:inline;}。
相反的,行内元素如果加上display:block就会变成块元素,如span{display:block;}。