2014-06-18 85 views
0

我有這樣的:CSS:如何更短的代碼有選擇直接孩子與多個ID

#cbfr_196 > .my_field {width: 95%;} 

現在我有更多的ID包含,所以我可以做這樣的:

#cbfr_196 > .my_field {width: 95%;} 
#cbfr_197 > .my_field {width: 95%;} 
#cbfr_198 > .my_field {width: 95%;} 

但我想縮短代碼。我做了一些測試,但我不知道該怎麼做。

如果我這樣做:

#cbfr_196, #cbfr_197, #cbfr_198 > .my_field {width: 95%;} 

這項工作只爲ID#cbfr_198,如果我刪除逗號,沒有什麼工作。

任何線索?

回答

1

你可以做這樣的事情:

[id^="cbfr"] > .my_field {width: 95%;} 

這says-「針對任何.my_field這是一個元素的ID與cbfr開始的孩子」。

順便說一句,您的單行嘗試不起作用,因爲逗號之間的每個部分都是完整的規則。對於它的工作,它將看起來像這樣:

#cbfr_196 > .my_field, #cbfr_197 > .my_field, #cbfr_198 > .my_field {width: 95%;} 

但是,這並沒有太大的改善,當然。

+0

您的第一個建議不適用於我的情況,因爲我的大部分「cbfr」ID不需要任何更改。只有十幾個ID需要修改。如果沒有其他解決方案可以工作,您的第二個建議似乎是我最好的選擇。感謝您對我的單線測試的澄清。 – dotcom22

+0

這些規則都不是針對'cbfr'元素的。他們瞄準他們內部的'.my_field'元素。因此,如果沒有'.my_field'元素,則該規則不適用。 –

+0

問題......在我的每個ID中都有.my_field – dotcom22