2011-11-15 47 views
2

我有以下結構格式化的div通過CSS

<div class="mainmenu"> 
    <div> 
     Home 
    </div> 
    <div> 
     About us 
    </div> 
    <div> 
     Lorem 
    </div> 
</div> 

.mainmenu div 
{ 
    border-right:1px #000 solid; 
} 

有了這個,我可以啓用所有div的右邊界,但我不希望在最後一個div邊界。是否有可能通過CSS來控制這個,而不需要修改上面的結構?

+1

http://stackoverflow.com/questions/7729566/separators-between-elements-without-hacks/7729610#7729610 – thirtydot

回答

7

是(以僞選擇):

.mainmenu div:last-child 
{ 
    border-right:none; 
} 

注:僅支持在支持CSS3的瀏覽器。

1

CSS3現在讓我們選擇特定的「孩子」,並應用樣式,像這樣:

.mainmenu div:last-child{ 
border: none; 
} 

然而CSS3是不是又走下來舊的瀏覽器,因此另一種辦法是給你的最後一個安全的路徑DIV類「最後」和其樣式,像這樣的:

<div class="last"> 
    Lorem 
</div> 

.mainmenu .last{ 
border: none; 
} 

你可以有多個班在一個div這樣你就可以申請「最後」選項以及任何其他的DIV稱爲例如

<div class="apple last"> 
    Lorem 
</div> 
+0

他不能改變HTML - 所以最後只兒童用CSS工作。 – easwee

+0

雅,這是更多的補充,讓他知道它可能不適用於舊瀏覽器,但是,我應該指定。 – DBUK