2012-04-19 26 views
0

我正在將網站從純HTML轉換爲ASP.Net。使用CSS設計ASP.Net表單

我在網站frmRegister兩種形式和frmLogin

我對每一種這樣的CSS ...

form#frmRegister .floatRight input{ 
width: 100%; 
font-family: Arial, Helvetica, sans-serif; 
font-size: 0.9em; 
border: 1px solid #a1d19d; 
font-weight: normal; 
} 

form#frmRegister .textRow input, form#frmRegister .textRow textarea, form#frmLogin     .textRow input, form#frmLogin .textRow textarea, form#frmRegister .textRow select{ 
width: 90%; 
font-family: Arial, Helvetica, sans-serif; 
font-size: 0.9em; 
border: 1px solid #a1d19d; 
} 

但由於ASP重命名形式aspNetform,款式都是沒有申請。

我試着將aspNetform添加到css中,但每個表單都被賦予相同的樣式。

我使用母版頁btw。

回答

0

我不使用網頁表單,因此可能有更好的解決方案,但是您可以通過CSS類而不是ids來表達您的表單。

例如,添加一個類frmRegister這種形式的標記,然後解決它在CSS這樣的:

form.frmRegister .floatRight input{ width: 100%; 
.... 
6

不要按ID設計您的CSS樣式。改爲使用CSS classes

<form id="myForm" runat="Server" class="someClass"> 

在CSS:

.someClass {background-color: blue; color:red; } 

儘管從技術上說,我從來沒有適用的CSS的形式,所以我不是100%肯定上面會工作。如果我需要這樣做,我在表單中嵌套一個div,並將樣式應用於div。所以,我會改變

<form id="myForm" runat="Server" class="someClass"> 
... 
</form> 

<form id="myForm" runat="Server" > 
    <div class="someClass"> 
     ... 
    </div> 
</form> 
+0

我是否將cssclass應用於asp:Panel或ContentPlaceHolder? – Brian 2012-04-19 16:17:07

+0

我通常將它應用於面板,但如果您使用的是Visual Studio,即使是免費版本,Intellisense也應該幫助您確定cssClass屬性是否可用於給定標籤。 – David 2012-04-19 16:18:40

+0

問題是如果我這樣做,我的所有表單都會被賦予相同的樣式,因爲只能有一個表單標籤。 – Brian 2012-04-19 16:21:23

0

您是否嘗試過您的控件的ClientID財產?

也在你的CSS,你可以這樣做:

form#<%=myControl.ClientID%>{ 
    /* css in here */ 
} 
0

是的,形式的代表在web表單應用程序的一個特殊元素。最好只定義一個類並將其應用於您的表單,或者甚至將div應用於表單和樣式中。

此外,與普通HTML相比,一個巨大優勢是您可以將所有這些粘貼到母版頁中。這樣,您只能在一個位置(主頁面)調整整體頁面佈局,並在每個頁面上反映這些更改。

0

您是將樣式嵌入到頁面/母版頁中,還是將它嵌入到外部文件中?如果將樣式添加到母版頁,則會影響其所有子頁面。