検索
ホームページテクノロジー周辺機器IT業界レイアウトシークレット武器#1:CSSテーブルプロパティ

cssdisplay: table属性:レイアウトの問題を解決するための強力なツール

コアポイント:

  • CSSのtable属性は強力であり、複数のレイアウトの問題を解決し、すべての最新のブラウザーと互換性があります。これにより、HTML要素はテーブル要素のように機能し、複雑なレイアウトとアライメントの問題に共通のソリューションを提供できます。
  • csstableプロパティを使用して、輪郭ボックス、シンプルな古いスタイルのレイアウト、コンテンツオーケストレーションを備えた適応レイアウトを作成できます。応答性の高いデザインで特に役立ち、ユーザーの画面サイズに応じて要素をサイズ変更し、位置付けます。
  • csstable属性には多くの利点がありますが、いくつかの制限もあります。他のディスプレイプロパティと比較して複雑なレイアウトの作成に柔軟性が低く、floatpositionなどの特定のCSSプロパティではうまく機能しません。ただし、多くの場合、table属性を使用することの利点は、その欠点を上回ります。

Layout Secret Weapon #1: The CSS Table Property

現在、FlexBoxはレイアウト構築に人気のある新しいテクノロジーになる可能性があります。 Flexboxの利用可能なスペースに適応する驚くべき能力により、多くの人々がその可能性を楽しみにしています。ただし、すべてのレイアウトの問題を解決することはなく、古いブラウザとの互換性にはいくつかの問題があります。 FlexBoxには現在、一般的なポリフィル(古いブラウザ向けのフォールバックソリューション)はありません - 2009年バージョンのIE:Flexieのポリフィルのみを知っています。多くの場合、見過ごされがちなCSS tableを使用すると、ディスプレイプロパティがより簡単なソリューションを見つけることができることがわかりました。これらのCSSプロパティは、関連するすべてのブラウザーによって広くサポートされており(これはIE6とIE7を除外していることに注意してください)、いくつかの主要なレイアウトの難しさを優雅に解決できます。

この手法に完全に精通していない場合は、divの

属性を変更すると、display>>テーブルまたはテーブル要素のように動作する可能性があります。 待って、テーブルを使用してレイアウトしますか?これは良くありませんか?

21世紀初頭の最もホットなWebデザインのトピックの1つは、HTMLテーブルコードをレイアウトツールとして使用することに関する議論でした。それはハックであり、それでも悪い習慣です。

代わりに、ここで完全に理にかなっているHTML(つまり、Div、セクション、ヘッダーなど)を使用して、CSSから有用なテーブル表現の知識を借りています。これはまさにCSSの設計されているため、ハックやパッチだとは思わないでください。そうではありません。

使用法

次の例では、上部のボタンをクリックすると、3つの色のdivの

属性の属性をdisplay: table-cellから

に変更できます。 display[Codepenサンプルリンク - 実際のCodepenリンクに置き換え]block table-cell

プロパティなしでDivが水平にどのように配置されているかを確認できます。また、いくつかの典型的なテーブルルール(

など)にもアクセスすることもできます。

間隔が必要な場合は、古典的なCSS margin属性はテーブルセルに影響を与えないことに注意してください。代わりに、border-spacingを使用します(コンテナテーブル要素に適用する必要があります)。これらのルールを使用したい場合は、Codepenにコメント行を見つけることができます。

この手法は、他の方法で解決するのが難しい多くの問題を解決するのに非常に役立ちます。

3つの簡単なケースを選択しました。table表示属性は非常に価値があります。

しかし、最初にそれらを見てみましょう:

表示属性 はとして表されます

テーブル、インラインテーブル
display 属性 呈现为
table, inline-table table
table-column col
table-column-group colgroup
table-row-group tbody
table-header-group thead
table-footer-group tfoot
table-row tr
table-cell td
table-caption caption
table-column col table-column-group colgroup Table-Row-Group tbody table-header-group thead table-footer-group tfoot Table-row tr table-cell td table-caption キャプション

フォームとCSSの真に包括的なガイドについては、CSSトリックをチェックしてください:[CSS Tricksのフォームガイドリンク - 実際のリンクに置き換え]

ケース1。輪郭ボックス

これは私が扱う最も一般的な問題の1つだと思います。コンテンツが不明なフローティングボックスがいくつかあり、それらをすべて同じ高さにする必要があります。

FlexBoxはこの問題を簡単に解決できることを知っていますが、テーブルルールもそれを行うことができます。

display: tabletable-row(またはdisplay: table-cell)プロパティをコンテナに、floatプロパティを内部ボックスに適用するだけです。任意の属性を削除する必要があることに注意してください(それ以外の場合は、table-cell属性は有効になりません)。

html:

<div id="wrapper">
    <div id="div1"></div>
    <div id="div2"></div>
    <div id="div3"></div>
</div>

css:

#wrapper {
    display: table;
}
#wrapper div {
    display: table-cell;
}

[Codepenサンプルリンク - 実際のCodepenリンクに置き換え]

ケース2。シンプルな古いスタイルのレイアウト

これはかなり時代遅れの例ですが、最近やったように、あなたはそれに対処する必要があるかもしれません。

数ヶ月前、私は次のスキームに非常に似たグラフィックレイアウトを受け取りました。 IE8と互換性がある必要があり、これを行う最良の方法は、CSSテーブルルールを使用することであることがわかりました。

[Codepenサンプルリンク - 実際のCodepenリンクに置き換え]

ケース3。コンテンツオーケストレーション関数を使用した適応レイアウト

前の例では、新しいトピックにつながります。CSSテーブルルールを使用して適応レイアウトを構築することは可能ですか?

これは可能であるだけでなく、コンテンツオーケストレーションタスクを実行することもできます。

2つのdivのプロパティを

からdisplayに変更して、配置を垂直から水平に変更する方法を見てきました。 block さらに、table-cell属性を持つ要素は、テーブルレイアウトの上部に配置されます。繰り返しになりますが、

要素は下部に配置されます。これは、応答性のあるレイアウトを再フォーマットするときに予想外に役立ちます。

下のペンでは、ウィンドウがサイズ変更されたときにその位置をナビゲーション要素と交換するタイトル要素で、table-header-group属性をtable-footer-groupに変更するだけです。

html:display table-header-group

css:

<div id="wrapper">
    <nav></nav>
    <header></header>
    <div id="banner2"></div>
    <footer></footer>
</div>

および

divにも同様の動作があります。
#wrapper, header {
    display: block; /* 我们实际上不需要此规则,因为它默认为此值 */
}

@media (min-width: 48em) {
    #wrapper {
        display: table;
    }
    header {
        display: table-header-group;
    }
}

これはレイアウトプランです:左側のデフォルトのモバイルバージョン、右側のデスクトップバージョン:footer #banner2

これはランニングデモンストレーションです:

Layout Secret Weapon #1: The CSS Table Property [Codepenサンプルリンク - 実際のCodepenリンクに置き換え]

この議論の詳細については、

css

を使用したスタッキング CSSレイアウトのアンチヒーロー - "
    "
  • display:table
  • 結論
  • display:tablecss
  • ディスプレイプロパティは、サイズとレイアウトの課題に対する過小評価された貴重なソリューションです。

私は個人的には複雑なレイアウトを構築するためにそれらを使用することを選択しないかもしれませんが、彼らは確かにレイアウト部分に関連する多くの課題を解決します。

CSS

プロパティtableに関する

FAQ

(CSS属性に関するよくある質問をここに追加する必要があります。コンテンツは元のテキストに似ていますが、重複を避けるために文言を調整する必要があります。) table上記のすべてのCodePenリンクは、実際のCodePenリンクに置き換える必要があることに注意してください。 CodePenに直接アクセスして作成できません。

以上がレイアウトシークレット武器#1:CSSテーブルプロパティの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
カスタム電気通信ソフトウェアの利点カスタム電気通信ソフトウェアの利点May 11, 2025 am 08:28 AM

カスタマイズされた通信ソフトウェア開発は、間違いなくかなりの投資です。ただし、長期的には、このようなプロジェクトは、市場で既製のソリューションのように生産性を向上させる可能性があるため、より費用対効果が高い可能性があることに気付くかもしれません。カスタマイズされた通信システムを構築することの最も重要な利点を理解してください。 必要な正確な機能を取得します あなたが購入できる既製の通信ソフトウェアには2つの潜在的な問題があります。生産性を大幅に向上させることができる有用な機能が欠けているものもあります。いくつかの外部統合でそれらを強化することができることもありますが、それは常にそれらを素晴らしいものにするのに十分ではありません。 他のソフトウェアには機能が多すぎて、使用できないほど複雑すぎます。おそらくこれらのいくつかを使用しないでしょう(決して!)。通常、多くの機能が価格に追加されます。 あなたのニーズに基づいています

CNCFは、ARM64およびx86のプラットフォームパリティブレークスルーをトリガーしますCNCFは、ARM64およびx86のプラットフォームパリティブレークスルーをトリガーしますMay 11, 2025 am 08:27 AM

ARM64アーキテクチャのオープンソースソフトウェアのCI/CDパズルとソリューション ARM64アーキテクチャにオープンソースソフトウェアを展開するには、強力なCI/CD環境が必要です。ただし、ARM64のサポートレベルと従来のX86プロセッサアーキテクチャには違いがありますが、これはしばしば不利な点にあります。複数のアーキテクチャのインフラストラクチャコンポーネント開発者は、職場環境に一定の期待を持っています。 一貫性:プラットフォーム間で使用されるツールとメソッドは一貫しており、人気の少ないプラットフォームの採用により開発プロセスを変更する必要性を回避します。 パフォーマンス:プラットフォームとサポートメカニズムは、複数のプラットフォームをサポートする際に展開シナリオが不十分な速度によって影響を受けることを保証するための優れたパフォーマンスを備えています。 テストカバレッジ:効率、コンプライアンス、および

2025年に購読する上位21の開発者ニュースレター2025年に購読する上位21の開発者ニュースレターApr 24, 2025 am 08:28 AM

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください

AWS ECSとLambdaを備えたサーバーレス画像処理パイプラインAWS ECSとLambdaを備えたサーバーレス画像処理パイプラインApr 18, 2025 am 08:28 AM

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

CNCF ARM64パイロット:インパクトと洞察CNCF ARM64パイロット:インパクトと洞察Apr 15, 2025 am 08:27 AM

このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません