2012-04-19 42 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

您是将样式嵌入到页面/母版页中,还是将它嵌入到外部文件中?如果将样式添加到母版页,则会影响其所有子页面。