2015-10-15 39 views
-1

我有一個div被設置爲display: 'none'我們公司正在使用的框架。CSS屬性沒有值選擇器問題

<div id="mydiv" style="display: none">...</div> 

然而,當顯示它,它被設置爲display: block,但我需要它是display: inline-block。所以我試圖像這樣設計div的樣式:

#mydiv:not([display='none']) { 
    display: inline-block !important; 
} 

但它不像我期待的那樣工作。我只想用CSS實現這一點。有人知道如何,如果這是可能的?

+1

其足夠'#mydiv {顯示:inline-block的重要; }' – Chris

+0

[無效的選擇器](http://www.w3schools.com/cssref/sel_attribute_value.asp) – Alex

+0

[display ='none'] - 這不是元素本身的屬性。風格將是屬性。但是,應該使用#(ID)來定位特定/唯一元素,不應該有倍數。所以瞄準ID本身就足夠了。 –

回答

1

嘗試這個例子:http://codepen.io/anon/pen/WQZada
這裏的屬性,以檢查是style,(不display

#mydiv[style="display: none"] { 
    display: inline-block !important; 
} 

反正這是一個軟弱的做法,因爲在標記的變化(如內嵌stlye的縮小或者編輯者改變)會影響風格(反之亦然)。

+0

感謝您的回答!我只是意識到我的問題包含一些錯誤..哈哈 – sfandler

+0

嗯,它不是真的工作..但你的答案是正確的一般。我現在知道它是這樣的'#module_area [style * =「display:block」]){ \t display:inline-block!important; }',但是當設置'display:block' style時,它不會更改爲'display:inline-block!important'。我在這裏做錯了什麼?還是僅僅因爲'!important'以某種方式阻止了它? – sfandler

0

只是針對通過它的ID的元素應該足以覆蓋其內嵌樣式:

#mydiv { 
 
    display: inline-block !important; 
 
}
<div id="mydiv" style="display: none">Test Div</div>

對於這個問題的緣故,就以選擇一個由其內聯樣式值組成的元素,您可以定位[style]屬性並檢查所需的文本值

(麻煩的是,你需要相匹配的樣式屬性的詳細書面形式)

#mydiv[style*="display: none"] { 
 
    display: inline-block !important; 
 
}
<div id="mydiv" style="display: none">Test Div</div>

+0

感謝您的回答。今天我意識到我的問題包含錯誤。我只想選擇#mydiv,只要它的顯示風格不設爲none。我現在明白了,謝謝! :) – sfandler