2013-07-19 65 views
15

例如,在CSS中,是否可以在換行之前選擇最後一個元素?

我有一堆由側div的側,並且每個div有一個邊界 - 右:1px的

父元素是一定的寬度,以便在某個點處,額外的div包裹到下一行。

從本質上講,我不想在換行之前爲最後一個div使用border-right。

如果這沒有意義,我可以創建一個小提琴。我只想知道我可以在換行之前鎖定最後一個div。 (最後一個孩子將瞄準下一行不需要的最後一個div)

+0

它確實有道理,但創建一個小提琴無論如何。我想知道你是如何並排顯示div的;與浮動,顯示:內聯塊等? –

+2

無論如何,我的直覺告訴說,讓div邊框左移,然後隱藏容器左邊的邊框會更容易。 –

+1

@MrLister除非現在我們試圖找到每個動態形成的行的第一個子節點,否則不會導致相同的問題?除非您計劃通過給容器留下負餘量來將該邊框隱藏到容器中?但有可能邊框需要在右邊,在這種情況下,邊框左邊不會在包裹之前的最後一個元素上工作。 – Huangism

回答

3

找出當前寬度有多少列,可以是硬編碼或JS,然後使用nth-child選擇。

例如,如果你有每行3列,其中每一div有一類col這將是

div.col:nth-child(3n){border-right:none;} 

的第n個孩子選擇可以被修改取決於然而,許多列的div每一行中秒。

+3

如果元素的寬度不規則,那麼這將不起作用。 – cimmanon

+0

如果他們有不規則的寬度,他可以用同樣的想法附加一個css類。有了一個小小的JS,他可以瞄準每個尾帽div並將它放在上面 – Jnatalzia

2

沒有辦法從多行中選擇最後一項,只有:last-child

如果您的元素按列排隊,則多列模塊可能會對您感興趣。它有一個與邊界類似的列規則屬性,但只在列之間垂直出現,而不在外邊緣上出現。

http://cssdeck.com/labs/febtiiet

.container { 
    columns: 20em; 
    column-rule: 1px solid; 
} 

前綴可能需要:http://caniuse.com/#feat=multicolumn

否則,您將需要切換到放置在邊框的左邊爲MrLister提示:

http://cssdeck.com/labs/f8qjngd4

.container { 
    overflow: hidden; 
    padding: 0; 
    border-style: none; 
} 

.child { 
    border-left: 1px solid; 
    position: relative; 
    left: -1px; 
    display: inline-block; 
    width: 20em; 
} 
相關問題