2013-09-05 54 views
0

我有這樣使用bootstrap2.3.1視圖時除去左邊距:引導過濾

<div class="row-fluid"> 
    <div class="span3">text1</div> 
    <div class="span3">text2</div> 
    <div class="span3">text3</div> 
    <div class="span3">text4</div> 
</div> 

當我過濾此,只顯示與文本2在div我設置其他的div顯示爲無。但是因爲帶text1的div仍然是第一個孩子,所以帶text2的div有左邊距。我該如何改變它,所以它只留下margin-left:0;到顯示塊的第一個孩子?

視圖看上去喜歡這個過濾時:

<div class="row-fluid"> 
    <div class="span3" style="display: none;">text1</div> 
    <div class="span3">text2</div> 
    <div class="span3" style="display: none;">text3</div> 
    <div class="span3" style="display: none;">text4</div> 
</div> 

保證金接到引導拆下來的第一個孩子由以下CSS:

.row-fluid [class*="span"]:first-child { 
    margin-left: 0; 
} 

我想我應該可以做這樣的事情:(但不是正確的語法)

.row-fluid [class*="span"]:first-child[display="block"] { 
    margin-left: 0; 
} 

回答

2

這是你的bizzare選擇器(demo):

.row-fluid [class^="span"]:not([style="display: none;"]) { 
    margin-left: 0; 
} 

Howerever,目前這是不可能的,選擇第一的一流,所以此規則將被應用到所有匹配的元素。我建議你在顯示/隱藏元素時切換Bootstrap類(.spanX)。

+1

謝謝你。正確的做法是:.row-fluid [class^=「span」]:first-child([style =「display:block;」])。因爲它只能刪除display = block的第一個孩子的空白左邊緣。在你的所有顯示區域中,所有的餘量都被刪除 – Klaasvaak