2010-03-12 118 views
4
<div> 
<div class="left"> 
    <div align="center" class="node"> 
    <div class="nodeText"> 
     <h2 >test</h2> 

    </div> 
    <div class="node"> 
     <h2>test</h2> 
    </div> 
    <div class="node"> 
     <h2>test</h2> 
    </div> 
<div> 

中心文本

我需要在中心DIV没有文字似乎工作

.left { 
    float:left; 
    width:200px; 
    border:solid 1px black; 
    text-align: center; 
} 
.node { 
    height:200px; 
    border:solid 1px black; 
    margin:0 auto; 
} 
.nodeText{ 
    vertical-align: middle; 
} 
h2{ 
    text-align: center; 
} 

Tnxs

回答

4

你是指垂直居中,水平居中还是两者?

水平对中内嵌内容很简单。只需将text-align: center应用于包含区块。

#centerMe { margin: 0 auto; } 

注:水平居中用CSS另一个块内的块通常用做在IE6,这要求IE在“符合标准”,而不是“怪癖”模式。为了强制这个总是把一个DOCTYPE放在你的HTML文件上。例如:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 

垂直居中更差。

你可能想看看Vertical Centering in CSS。这实际上是一个不平凡的问题。您正在使用的vertical-align样式属性仅适用于表格单元格(以跨浏览器向后兼容的方式)。这对于一张表的价值来说是微不足道的。

+0

text-align for IE ...其他浏览器可以使用:margin:0 auto; – Chris 2010-03-12 09:07:47

0

尝试关闭.nodeText股利。

+0

这表明,面对奇怪的CSS行为时要做的第一件事情就是验证HTML。 :) – Fuzzy76 2010-03-12 08:13:15

1

您写的HTML在我的浏览器中可用(FF 3.5.8)。但是,您缺少两个关闭<\div>标签。也许你的浏览器比我的更严格。此外,<center>已弃用,因此尽量避免使用。

我会把所有这些在评论中,但我的代表还不够高! :/

+0

使用铬,并试图火狐居中不起作用他们的 – 2010-03-12 07:59:00

+3

'<\div>'呃? .... – mpen 2010-03-12 08:07:38