2009-03-31 20 views
0

フォーム入力エレメントの上にラベルをフォーマットするCSSがあります。読み込み専用を表示している場合は入力エレメントをデータベースのテキストに置き換えますデータ。フォーム入力または選択コントロールの代わりにSPANテキストを使用したスタイル付け

私が何をしても、入力フィールドをspanまたはasp:labelに変更すると、テキストの上にラベルが正しく表示されません。私はあなたが入力フィールドの交換スパンにdisplay: blockを追加する必要が推測している

div.formRow { 
    padding: 2px 0px; 
} 

span.formItem { 
    display: inline-block; 
    position: relative; 
    padding: 0px 5px; 
} 
span.formItem label { 
    position: absolute; 
    left: 5px; 
    top: 0px; 
} 
span.formItem input, span.formItem select { 
    margin-top: 20px; 
} 
+0

スタイルを設定しようとしているレンダリングされたHTMLの例も教えてください。ありがとう。 –

答えて

1

私はこのCSSを使用しています。

+0

それは動作しますが、なぜですか? – Caveatrob

+0

"margin-top:20px;"に "span.formItem span"などを追加したとしますルール?スパンはインライン要素であり、垂直マージンはそれらには適用されません(http://www.w3.org/TR/CSS21/box.html#margin-properties)。 spanはブロックレベルの要素です。 – mercator

関連する問題