2013-02-11 57 views
0

若要在邊框線之間設置個元素,我在每個子項的一側使用邊框,除最後一個外。對於example如何設置父母在CSS中的孩子之間的邊界?

<div class="parent"> 
    <div>First</div> 
    <div>Second</div> 
    <div>Third</div> 
    <div>Fourth</div> 
</div> 

與CSS

.parent div{ 
    display:block; 
    padding:5px; 
    border-bottom:dashed 1px #000} 
.parent div:last-child{ 
    border-bottom:dashed 0 #000 
} 

有沒有辦法從父母的CSS樣式設置兒童之間的邊界?而不使用last-child。換句話說,來自父母規則的單一陳述。

+0

不,邊界是屬性o f子元素,因此只能在其上指定。 – Barney 2013-02-11 11:54:49

+0

@Barney:這就是答案。 – BoltClock 2013-02-11 11:56:20

+0

@Barney我不是指任何可能的解決方案。我很好奇CSS中是否有一個屬性來處理子元素的內部位置。 – Googlebot 2013-02-11 11:57:03

回答

2

不,邊框是子元素的屬性,因此只能在其上指定。您可以使用這個單一規則,但它需要先進的CSS3選擇器支持:

.parent > div:not(:last-child){ 
    border-bottom: dashed 1px #000; 
} 
+3

支持':not()'和':last-child'在所有瀏覽器中都是相同的,但對於CSS2解決方案,您可以使用'.parent> div + div {border-top:dashed 1px#000; }' – BoltClock 2013-02-11 11:59:43

+0

你是對的 - 修改。 – Barney 2013-02-11 12:02:51

+0

@BoltClock你建議這個答案出於評論。爲什麼不張貼您的解決方案作爲答案,這是一個實際的解決方案。 – Googlebot 2013-02-11 12:04:00

0

我只知道一種解決方法:使用jQuery和遍歷這些子元素(每個:http://api.jquery.com/each/),如果接下來的設爲您的CSS類(下一個:http://api.jquery.com/?s=next)元素也是孩子...

我想另一種方式,只是使用CSS不存在,但我不知道,如果你找到一個解決方案與CSS只,請張貼它;)

問候

+0

OP已經有了一個CSS解決方案,並且正在尋求更簡單的解決方案。包含Javascript和jQuery使解決方案更加複雜。 – Barney 2013-02-11 12:01:26

+0

絕對正確,css解決方案和我的評論幾乎在同一時間...對不起... ... – user617965 2013-02-12 19:03:22

相關問題