2010-03-12 48 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