- - PR -
DropDownListとスタイルシート
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-07-07 07:00
お世話になります。初歩的な質問ですみません。
スタイルシートが、TextBoxやLabelには適用されるのですが、DropDownListに適用されません。以下のように設定するのですが、DropDownListはディフォルトの外観のままです。どのようにスタイルシートと連結すればよいのでしょうか?? //aspxファイル <asp:TextBox ID="txt1" runat="server" CssClass="TextBox" /> <asp:DropDownList ID="ddl1" runat="server" CssClass="DropDown" /> //スタイルシート .TextBox { background-color: #FBFBFF; border-color: #AAAAAA; border-style: solid; border-width: 1px; } .DropDown { background-color: #FBFBFF; border-color: #AAAAAA; border-style: solid; border-width: 1px; } | ||||
|
投稿日時: 2006-07-07 09:37
<select>には、borderスタイルやz-indexは適用できないです。
IEの独自コンポーネントではないからのようで、たぶんIE7では可能。 代替案としては、<input>と<input type="button">と<table>を使って擬似的なドロップダウンを作るしかないような。 | ||||
|
投稿日時: 2006-07-07 10:12
こんにちは。
IE の独自コンポーネントかどうかはあまり関係ないような気がします。 こちらにあるように、単に IE5.x/6.0 のバグ(というか仕様?)でしょうね。 静的 HTML で試してみましたが、Firefox と Opera9 では正しく border は適用され ていました。 解決方法としては DropDownList を <span> でくくって、それにスタイルシートを適 用してみるとか。ちょっと無理やりですが。 | ||||
|
投稿日時: 2006-07-07 10:52
これですと、<SELECT> 要素自体の溝が消えないですよね。 それと、IE は溝が消えないものの線は引けますが、FireFox では被ってしまうと思います。(多分) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-07-07 11:02
調べてみました。
確かに溝は消えないし Firefox だと被っちゃうし、やっぱり思いつきで言うのは控える べきでしたね。すいません。 やっぱり mio さんの代替案しかないでしょうか。 # 自分だったら「あきらめようぜ、な!」で済ませてしまいそうです | ||||
|
投稿日時: 2006-07-07 11:21
これはIE6までの仕様なんだ。
あきらめようぜ。な! | ||||
|
投稿日時: 2006-07-07 11:44
mioさん、ぽぴ太郎さん、じゃんぬねっとさん、ぶさいくろうさん、どうもありがとうございます。
そうなんですか、IEの仕様なんですね。何かわたしが間違ったことしているのか、何かテクがあるのに見つけられないでいるのか、わからなかったので、これで気持ちよくあきらめがつきました(笑)。 ただ、Borderだけならまだいいのですが、最近ASP.NETを1.1から2.0にしたのですが、1.1では綺麗に揃っていたTextBoxとDropDownListの幅(例えば両方Width="200")が、2.0ではTextBoxが長めなのか、DropDownListが短めなのか、ガタガタしてしまって、どうも気持ちが悪いのです。これも皆様経験されてらっしゃることすか?それともこれは私が何か見落としていると思われますか?ご意見伺えればありがたく思います。 | ||||
|
投稿日時: 2006-07-07 13:06
|