我有一個帶有CSS文件的Web窗體應用程序用於佈局。我的一個元素,在不使用ID的情況下在CSS中執行起來會困難得多,因爲我控制了可見性服務器端,所以還必須有runat="server"
。ASP.NET web窗體中的CSS選擇器
<div id="x">
<div id="whatever" runat="server" visible="false">
<div id="y">
....
</div>
</div>
</div>
我的問題是,在CSS,我不知道如何忽略whatever
DIV與我的選擇,除非我內聯CSS,放在服務器到客戶端控制的翻譯,我不知道控件名稱直到運行時。
#x
{
position:absolute;
height:30px;
}
#x #whatever??? #y img
{
margin:-7px 15px 0 30px;
}
#x #whatever??? div
{
width:250px;
float:left;
}
etc.
我應該如何解決這個問題?有沒有一個服務器端的容器控件,不渲染輸出,但可以用來控制其內容的可見性/渲染,或者CSS中有一個技巧是忽略該中間div?
這是因爲我有x
div在母版頁中,而whatever
和y
div都在頁面本身。我知道如果我使用MVC,這不會成爲問題,但此時切換不是一種選擇。
我嘗試了切換它們類選擇,但我遇到了一些未由ID/Class指定的組件問題(例如`#x div`)。這可能只是重做其中的一部分,但我對CSS不太熟悉。 .css文件來自外部設計人員,如果不需要,我寧願不改變它。 – Kendrick 2010-11-26 15:31:58
難道你不能只做.x_class div嗎?這隻會意味着對CSS的輕微重寫,將id選擇器轉換爲類選擇器 – WiseGuyEh 2010-11-26 15:33:12