日期:2014-05-17  浏览次数:20835 次

div层 内容居中英
HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
#Layer1 {
    position:absolute;
    width:279px;
    height:281px;
    z-index:1;
    height: 300px;
     text-align:center;
     
}
-->
</style>
</head>

<body>
<div id="Layer1">
fds fdsa fdsa fdsa fds a
</div>
</body>
</html>



比如像这个div层 , 怎么里面的内容显示在层的中英(不是居中)。

------解决方案--------------------
加上 vertical-align:middle
------解决方案--------------------
你text-align:center了。当然居中啊
------解决方案--------------------
http://blog.163.com/zhaoyanping_1125/blog/static/20132915320120574238932/
------解决方案--------------------
text-align:center; line-height:300px;

前者水平居中,后者调整行高达到垂直居中,前提是里面内容只有一行,如果对文字不确定,建议是加一个标签如,<h1><h2>之类的,然后通过jquery去获得这个标签的高度,再通过计算去设置他的css中的top值。。。个人想法。。。。
------解决方案--------------------
最常用的就是用line-height了
------解决方案--------------------
++
探讨

最常用的就是用line-height了

------解决方案--------------------
水平很好解决:text-align:center;
垂直居中的话要分情况:
1: 单行文本:直接用line-height搞定;
2: 多行文本或者图片,这个时候就比较麻烦了,一般的做法是div多层嵌套,通过模拟table-cell支持垂直居中的特性、加上相对定位实现,代码如下:
.wrap{ background:red; width:300px; height:100px; display:table-cell; vertical-align:middle;*position:relative; text-align:center}
.valign_wrap{*position:absolute;*top:50%;}
.valign_content{*position:relative;*top:-50%;*left:-50%;display:inline-block;*display:inline;*zoom:1;text-align:left;}

<div class="wrap">
<div class="valign_wrap">
<div class="valign_content">
asdfas<br>dsafs<br>dd
</div>
</div>
</div>