您现在的位置:首页 > 前端教程 > CSS教程

单行图片文字垂直居中问题

时间:2009-02-08  来源:purecss  作者:purecss  点击数:230

今天又在群中看到一些朋友问单行图片文字垂直居中问题了,于是写了这篇文章.9FTBeautyCss.org - 前端教程网
这个问题是在做页面中经常会遇到的问题,首行我们先看一下最基础的的吧!9FTBeautyCss.org - 前端教程网
以下选自(CSS权威指南)9FTBeautyCss.org - 前端教程网
引用内容 引用内容9FTBeautyCss.org - 前端教程网
vertical-align9FTBeautyCss.org - 前端教程网
初始值: baseline(缺省值)9FTBeautyCss.org - 前端教程网
可否继承:否9FTBeautyCss.org - 前端教程网
适用于: 内联元素9FTBeautyCss.org - 前端教程网
说明:vertical-align:baseline使元素的基线同父元素的基线对齐.9FTBeautyCss.org - 前端教程网
警告:vertical-align不能影响表格单元中的内容的对齐,对于块元素中的内容也一样.9FTBeautyCss.org - 前端教程网

文字不多,但时常有人范错误,有人说我用了为什么没有效果呢?首行看一下他的代码.9FTBeautyCss.org - 前端教程网
程序代码 程序代码9FTBeautyCss.org - 前端教程网

 .style{vertical-align:middle;.....}9FTBeautyCss.org - 前端教程网
HTML:<div class="style"><img src="地址" />...<div>
9FTBeautyCss.org - 前端教程网

9FTBeautyCss.org - 前端教程网
分析:从上面的代码可以看出错误就是把样式应用在块元素中了9FTBeautyCss.org - 前端教程网
我们只需要改样式为9FTBeautyCss.org - 前端教程网
程序代码 程序代码9FTBeautyCss.org - 前端教程网

 .style img{vertical-align:middle;.....}
9FTBeautyCss.org - 前端教程网

9FTBeautyCss.org - 前端教程网
如果STYLE中有其它如INPUT或其它内联元素可写成9FTBeautyCss.org - 前端教程网
程序代码 程序代码9FTBeautyCss.org - 前端教程网

 .style img,.style.input{vertical-align:middle;.....}9FTBeautyCss.org - 前端教程网
或.style *{vertical-align:middle;.....}/*在不影响其它元素的情况下使用这个通配符*/
9FTBeautyCss.org - 前端教程网

9FTBeautyCss.org - 前端教程网
以上是在没有设置高度/行高的事情下,如果加入了高度和行高的事情下FF可以支持,IE6以下则不完全支持,看以下测试结果.(为了增加明显的效果对图片适当增加了高度)9FTBeautyCss.org - 前端教程网

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">9FTBeautyCss.org - 前端教程网
<html xmlns="//www.w3.org/1999/xhtml">9FTBeautyCss.org - 前端教程网
<head>9FTBeautyCss.org - 前端教程网
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />9FTBeautyCss.org - 前端教程网
<title>单行图文并排垂直居中</title>9FTBeautyCss.org - 前端教程网
<style type="text/css">9FTBeautyCss.org - 前端教程网
.text{9FTBeautyCss.org - 前端教程网
 margin:5px 0 15px 0}9FTBeautyCss.org - 前端教程网
}9FTBeautyCss.org - 前端教程网
.mid{9FTBeautyCss.org - 前端教程网
 line-height:50px;9FTBeautyCss.org - 前端教程网
 background-color:#CCCCCC;9FTBeautyCss.org - 前端教程网
} 9FTBeautyCss.org - 前端教程网
.mid3{9FTBeautyCss.org - 前端教程网
 height:50px;9FTBeautyCss.org - 前端教程网
 background-color:#CCCCCC;9FTBeautyCss.org - 前端教程网
} 9FTBeautyCss.org - 前端教程网
.mid2{9FTBeautyCss.org - 前端教程网
 line-height:50px;9FTBeautyCss.org - 前端教程网
 height:50px;9FTBeautyCss.org - 前端教程网
 background-color:#CCCCCC;9FTBeautyCss.org - 前端教程网
9FTBeautyCss.org - 前端教程网
.va_m img{9FTBeautyCss.org - 前端教程网
 vertical-align:middle;9FTBeautyCss.org - 前端教程网
}9FTBeautyCss.org - 前端教程网
</style>9FTBeautyCss.org - 前端教程网
</head>9FTBeautyCss.org - 前端教程网

<body>9FTBeautyCss.org - 前端教程网
<div style="background-color:#CCCCCC;">无样式和图片</div>9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div style="background-color:#CCCCCC;">无样式有图片<img src="/images/level3.gif" width="37" height="40"/></div>9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid3">只有height</div> 9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid3">有height有图片<span style="background-color:#CCCCCC;"><img src="/images/level3.gif" width="37" height="46"/></span></div> 9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid">只有line-height</div> 9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid">有line-height和图片<img src="/images/level3.gif" width="37" height="30"/></div>9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid2">有line-height又有高度的情况</div> 9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid2">有line-height和图片的情况<img src="/images/level3.gif" width="37" height="48"/></div> 9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div> 9FTBeautyCss.org - 前端教程网
<h2>在上面测试基础中对图片加入vertical-align:middle;</h2>9FTBeautyCss.org - 前端教程网
<div class="va_m">9FTBeautyCss.org - 前端教程网
<div style="background-color:#CCCCCC;">无样式和图片</div>9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div style="background-color:#CCCCCC;">无样式有图片<img src="/images/level3.gif" width="37" height="12"/></div>9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid3">只有height</div> 9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid3">有height有图片<span style="background-color:#CCCCCC;"><img src="/images/level3.gif" width="37" height="12"/></span></div> 9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid">只有line-height</div> 9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid">有line-height和图片<img src="/images/level3.gif" width="37" height="12"/></div>9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid2">有line-height又有高度的情况</div> 9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
<div class="mid2">有line-height和图片的情况<img src="/images/level3.gif" width="37" height="30"/></div> 9FTBeautyCss.org - 前端教程网
<div class="text">说明:</div>9FTBeautyCss.org - 前端教程网
</div> 9FTBeautyCss.org - 前端教程网
</body>9FTBeautyCss.org - 前端教程网
</html>9FTBeautyCss.org - 前端教程网

9FTBeautyCss.org - 前端教程网

来顶一下