0

我正在将网站从纯 html 转换为 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 中,但随后每个表单都获得了相同的样式。

我正在使用母版页顺便说一句。

4

6 回答 6

6

不要通过 ID 设置 CSS 样式。请改用CSS 类

<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>
于 2012-04-19T16:11:32.753 回答
1

尝试根据类名而不是 ID 给出样式。

于 2012-04-19T16:11:25.100 回答
0

I don't work with web forms, so there may be a better solution, but you could just address your forms via CSS classes rather than ids.

E.g., add a class frmRegister to that form tag, and then address it in CSS like this:

form.frmRegister .floatRight input{ width: 100%; 
....
于 2012-04-19T16:11:01.983 回答
0

您是否尝试过ClientID控件的属性?

同样在您的 CSS 上,您可以执行以下操作:

form#<%=myControl.ClientID%>{
    /* css in here */
}
于 2012-04-19T16:12:25.133 回答
0

是的,表单代表网络表单应用程序中的一个特殊元素。最好只定义一个类并将其应用于您的表单,或者甚至在表单中放置一个 div 并对其进行样式设置。

此外,与常规 HTML 相比,一大优势是您可以将所有这些内容粘贴到母版页中。这样,您可以只在一个地方(母版页)调整您的整体页面布局,并将这些更改反映在每个页面上。

于 2012-04-19T16:12:41.567 回答
0

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

于 2012-04-19T16:16:31.293 回答