0

WebサイトをプレーンHTMLからASP.Netに移行しています。

ウェブサイトfrmRegisterとfrmLoginに2つのフォームがあります

私はこのようなこれらのそれぞれのための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

CSS を ID でスタイルしないでください。代わりに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

私は Web フォームを扱っていないので、より良い解決策があるかもしれませんが、ID ではなく CSS クラスを介してフォームに対処することもできます。

たとえば、frmRegisterそのフォーム タグにクラスを追加し、次のように CSS でアドレス指定します。

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

はい、フォームは Web フォーム アプリの特別な要素を表します。クラスを定義してそれをフォームに適用するか、フォーム内に div を配置してスタイリングすることをお勧めします。

また、通常の HTML に対する大きな利点の 1 つは、これらすべてをマスター ページに貼り付けられることです。このようにして、全体的なページ レイアウトを 1 か所 (マスター ページ) だけで微調整し、それらの変更をすべてのページに反映させることができます。

于 2012-04-19T16:12:41.567 に答える
0

スタイルをページ/マスター ページに埋め込んでいますか、それとも外部ファイルに埋め込んでいますか? スタイルをマスター ページに追加すると、そのすべての子ページに影響します。

于 2012-04-19T16:16:31.293 に答える