デザイン
情報ウィジェットのコンテンツは、次のように中央に垂直に配置する必要があります。
コード化された設計
Windows:Chrome 20 / FF 14 / IE 9
Mac(ライオン/ライオン山):クローム/ FF
コード
HTML
<div class="info">
<div class="weather display clearfix">
<div class="icon"><img src="imgs/icons/thunderstorms.png" align="Thunderstorms" /></div>
<div class="fl">
<p class="temperature">82° / 89°</p>
<p class="conditions">Thunderstorms</p>
</div>
</div>
<div class="time display">
<p>11:59 <span>AM</span></p>
</div>
<div class="date display clearfix">
<p class="number fl">23</p>
<p class="month-day fl">Jun <br />Sat</p>
</div>
</div><!-- //.info -->
CSS
.info {
display:table;
border-spacing:20px 0;
margin-right:-20px;
padding:6px 0 0;
}
.display {
background-color:rgba(255, 255, 255, .2);
border-radius:10px;
-ms-border-radius:10px;
color:#fff;
font-family:"Cutive", Arial, sans-serif;
display:table-cell;
height:70px;
vertical-align:middle;
padding:3px 15px 0;
}
.display p {padding:0;line-height:1em;}
.time, .date {padding-top:5px;}
.time p, .date .number {font-size:35px;}
.time span, .display .month-day, .conditions {
font-size:14px;
text-transform:uppercase;
font-family:"Maven Pro", Arial, sans-serif;
line-height:1.15em;
font-weight:500;
}
.display .month-day {padding-left:5px;}
.icon {float:left;padding:0 12px 0 0}
.display .temperature {font-size:24px;padding:4px 0 0;}
.display .conditions {text-transform:none;padding:2px 0 0;}
.lt-ie9 .display { /* IE rgba Fallback */
background:transparent;
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#20ffffff,endColorstr=#20ffffff);
zoom:1;
}
問題
コード化されたデザインの上記の画像を見ると、がどのように配置を外しているように見えるかがわかります。さらに表示すると、テキストはMacの要素の外側にレンダリングされています。
ウィンドウズ
マック
ノート
GoogleWebFontsスタイルシートを使用してフォントを埋め込みます。
テスト済み
私は以下を試しました:
- すべての要素に行の高さを設定します。
- すべての要素にフォントの太さを設定します。
- すべての要素に高さを設定します。
- すべての要素の高さ/パディングトップの組み合わせ。
- パディングに使用されたパーセンテージ/em/px。
私が何をしようとしても、コンテンツがMacとPCで完全に中央揃えになることは決してないようです。
私の質問
私がやろうとしていることを単純な方法で達成することは可能ですか?
ルートを放棄して、display:table-cell;
各要素と子に特定の高さ/パディングを設定する必要がありますか?それでも、2つのOS間でパディング/間隔の問題が発生します。
この問題を何に分類する必要がありますか?行の高さ?テーブルセル?OS?等...
前もって感謝します!