問題:
入力フィールドの左側のテキストを垂直方向に中央揃えにしたい。また、カレンダーアイコンを中央に配置したいと思います。
HTML:
<div id="dateselect">
<div id="arrivalContainer">
<span class="annotation">Anreise</span>
<input type="text" name="arrival" id="arrival" class="input-styling" maxlength="10" size="10" />
</div>
<div id="departureContainer">
<span class="annotation">Abreise</span>
<input type="text" name="departure" id="departure" class="input-styling" maxlength="10" size="10" />
</div>
<div class="clearer"></div>
</div>
CSS:
#dateselect {
padding-top: 14px;
}
#arrivalContainer {
float: left;
width: 160px;
}
#departureContainer {
float: right;
width: 160px;
}
#arrival {
height: 25px;
width: 68px;
}
#departure {
height: 25px;
width: 68px;
}
.ui-datepicker-trigger {
position: relative;
top: 7px;
left: 3px;
}
.input-styling {
color: #575756;
font-family: "Myriad Roman", Helvetica, Arial, sans-serif;
font-size: 12px;
padding-left: 4px;
}
実際の例:
http://bfb.bplaced.net/
要素は私が思うspan
べきです。とアプローチdisplay: inline-block;
でやってみました。IE7 と IE8 を除くすべてのブラウザで動作します。line-height
display: table-cell;
よくある問題だとは思いますが、アドバイスをいただけないでしょうか。
解決:
HTML:
試してみましたvalign="middle"
が、IE8にはまだ問題がありました。私はこれで終わった:
<div id="arrivalContainer">
<div class="calendarText"><span class="annotation">Anreise</span></div>
<div class="calendarInput"><input type="text" name="arrival" id="arrival" class="input-styling" maxlength="10" size="10" /></div>
<div class="clearer"></div>
</div>
CSS:
.calendarText {
float:left;
padding-top:14px;
padding-right:5px;
}
.calendarInput {
float: left;
}
すべての IE バージョンで、条件付きスタイルシートを使用しています。