日期:2014-05-17 浏览次数:20663 次
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <style> div { /* 为了看清 div 的轮廓,我给 div 加上边框 */ border: 1px solid black; width: 400px; height: 100px; line-height: 100px; text-align: center; font-size: 12px; } </style> <div>我确保这段文字就只有一行。</div>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <style> div { /* 为了看清 div 的轮廓,我给 div 加上边框 */ border: 1px solid black; width: 400px; font-size: 12px; padding: 20px; } </style> <div> 如果一段内容,它的高度是可变的那么我们就可以使用使得上下的 padding 值相同的方法即可。同样的,这也是一种 "看起来" 的垂直居中方式,它只不过是使文字把 div 完全填充的一种访求而已。</div>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <style> div.outer { /* 为了看清 div 的轮廓,我给 div 加上边框 */ border: 1px solid black; width: 400px; height: 300px; overflow: auto; font-size: 12px; display: table; } div.inner { display: table-cell; vertical-align: middle; padding: 20px; } </style> <div class="outer"> <div class="inner"> CSS 中的 vertical-align 属性只会对拥有 valign 特性的 (X)HTML 标签起作用,但是在 CSS 中还有一个 display 属性能够模拟 table,所以我们可以使用这个属性来让 div 模拟 table 就可以使用 vertical-align了。注意,display:table 和 display:table-cell 的使用方法,前者必须设置在父元素上,后者必须设置在子元素上,因此我们要为需要定位的文本再增加一个 div 元素。 </div> </div>