首先我们先了解一下行内元素和块级元素
行内元素(内联元素):没有自己的独立空间,它是依附于其他块级元素存在的,空间大小依附于内容多少。行内元素没有度、宽度、内外边距等属性。
块级元素:占据独立的空间,具有宽度,高度,内外边距等属性。
内联元素(行内元素)内联元素(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 - 定义变量
块元素(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 - 非排序列表
可变元素 可变元素为根据上下文语境决定该元素为块元素或者内联元素。 * applet - java applet * button - 按钮 * del - 删除文本 * iframe - inline frame * ins - 插入的文本 * map - 图片区块(map) * object - object对象 * script - 客户端脚本
对于内联元素的垂直居中:在标签中设置veritical-align:middle;即可
<html >
<head>
<style
type="text/css">
<!--
span{ font-size:12px;}
input{
vertical-align:middle; azimuth:center;}
-->
</style>
<meta
http-equiv="Content-Type" content="text/html; charset=utf-8"
/>
<title>Untitled Document</title>
</head>
<body>
<span>用户名:</span><input type="checkbox"
/></label>
</body>
</html>
块级元素的垂直居中:
在此分为两种情况 1、内容为单行只要加上line-height=标签height即可
2、内容为多行时:设置父标签display为table子标签display为table-cell 、vertical-align为middle即可
<html >
<head>
<style
type="text/css">
<!--
div{width:200px;height:100px;font-size:12px;
line-height:100px; text-align:center; margin:10px auto;
background:#f00;}
-->
</style>
<meta
http-equiv="Content-Type" content="text/html; charset=utf-8"
/>
<title>Untitled Document</title>
</head>
<body>
<div>这是一个块级内容</div>
</body>
</html>
<html >
<head>
<style
type="text/css">
<!--
.father{width:200px;height:100px;font-size:12px;
text-align:center; margin:0 auto; line-height:180%;background:#f00;
display:table;}
.son{ display:table-cell;
vertical-align:middle;}
-->
</style>
<meta
http-equiv="Content-Type" content="text/html; charset=utf-8"
/>
<title>Untitled Document</title>
</head>
<body>
<div class="father">
<div
class="son">
这是一个块级内容<br>
这是一个块级内容
</div>
</div>
</body>
</html>