[解決済み] display: table-cell の使い方(とその理由)(CSS)
質問
のあるサイトがあります。 非常に アクティブな背景(ここでは6つほどの異なるz-indexを話しています2つのアニメーション付き)。私は、コンテンツを持っていた前景にしたかったが、その中に背景への"ウィンドウ"を望んでいた。私が持っていたいくつかの問題。
-
背景に穴をあけることはできません。
- これを「srminfo」と呼びます。
- その中に、"top", "left", "window", "right", "bottom" を配置しました。
- 上、左、右、下はすべて不透明な白い背景でした。
- srminfo と window divs は background:none になっています。
-
どんなに頑張っても、"right" divが"top" と"bottom" divの間のスペースを埋めることはできず、いろいろなことを試しました。動的でなければならない理由は、"left" div のテキストが、JavaScript でランダムに生成される背景色に基づいて動的になるようにしたためです。
display: table;などの関連するCSSコードは、どのようにテーブルのようになっているのでしょうか?また、どのように使うことができるのでしょうか?
どのように解決するのですか?
何日もかけて答えを見つけようとした結果、ようやく見つけたのは
<ブロッククオートdisplay: テーブル。
実際に動作させる方法については、ここでも意外とネット上に情報が少なかったので、次に "方法"。
この素晴らしいコードを使うには、テーブルがHTMLを構造化する唯一の本当の方法だった頃、つまり構文に思いを馳せる必要があります。2行3列のテーブルを得るには、次のようにする必要があります。
<table>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
同様にCSSにやらせる場合は、以下のようになります。
HTML
<div id="table">
<div class="tr">
<div class="td"></div>
<div class="td"></div>
<div class="td"></div>
</div>
<div class="tr">
<div class="td"></div>
<div class="td"></div>
<div class="td"></div>
</div>
</div>
CSS
#table{
display: table;
}
.tr{
display: table-row;
}
.td{
display: table-cell; }
下の例でわかるように、3列目のdivにはコンテンツがありませんが、最初の2列のテキストで設定されたauto heightを尊重しています。WIN!
#table {
display: table;
padding: 5px;
}
.tr {
display: table-row;
padding: 5px;
}
.td {
display: table-cell;
padding: 5px;
width: 150px;
border: #000000 solid 1px;
margin: 5px;
}
<div id="table">
<div class="tr">
<div class="td">Row 1,
<br />Column 1</div>
<div class="td">Row 1, Column 2</div>
<div class="td" style="background:#888888;"></div>
</div>
<div class="tr">
<div class="td">Row 2,
<br />Column 1</div>
<div class="td">Row 2, Column 2</div>
<div class="td" style="background:#888888;"></div>
</div>
</div>
注目すべきは
display: table;
はIE6、7では動作しません(
FelipeAlsさん、ありがとうございます。
そのため、ブラウザの互換性についてのニーズによっては、これはあなたが求めている答えではないかもしれません。
関連
-
[解決済み] このCSSでInline-blockが正しく動作しないのはなぜですか?
-
[解決済み] d3.tipが動作しないのはなぜですか?
-
[解決済み] 以下のHTMLフォームの例で、「mailto:[email protected]」とは何ですか?
-
[解決済み] WebForms UnobtrusiveValidationMode には、'jquery' の ScriptResourceMapping が必要です。jquery という名前の ScriptResourceMapping を追加してください(大文字と小文字を区別します)。
-
[解決済み] CSSでcellpaddingとcellspacingを設定する?
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] CSSの三角形はどのように機能するのですか?
-
[解決済み] CSSのdisplayプロパティで遷移する
-
[解決済み] How do I style a <select> dropdown with only CSS?
-
[解決済み] 位置は絶対だが、親に対して相対的
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。要求されたURL"[no URL]"は無効です。
-
[解決済み】画像のURLで禁断の403を出す
-
[解決済み】私のCSS3メディアクエリがモバイルデバイスで機能しないのはなぜですか?
-
[解決済み】#記号のHTML文字実体は何ですか?
-
[解決済み] div要素間の空白を削除する方法
-
[解決済み] CSS "margin: 0 auto" が中央揃えにならない
-
[解決済み] bodyタグに追加された奇妙なiframe、`rufous-sandbox`について
-
[解決済み] HTMLファイルへのリンクは可能ですか?
-
[解決済み] フォームの中にフォームがある、でいいのかな?[重複]
-
[解決済み] Add a scrollbar to a <textarea> [duplicate]