ホームページ ウェブフロントエンド CSSチュートリアル 機能比較テーブルのレスポンシブソリューション

機能比較テーブルのレスポンシブソリューション

Feb 24, 2025 am 09:27 AM

Responsive Solutions for Feature Comparison Tables

キーポイント

  • レスポンシブなWebデザインとテーブルは完全に一致していませんが、安定した構造により、機能比較テーブルの改善の余地がまだあります。
  • 成功した応答性関数比較テーブルは、製品を簡単に区別し、関数を明確に識別し、製品機能が存在するかどうかを示す必要があります。
  • レスポンシブ機能の比較テーブルを作成するための2つのオプションには、Flexbox(最新のブラウザーサポートレートが80%を超え、プレフィックスを必要とするブラウザーバージョンを含む93%のサポートレートを超えて)を使用し、追加のタグとAriaの役割を使用しています(Androidの古いバージョンに適していますおよびiOS)。
  • オプションが選択されているかどうか、読みやすさ、アクセシビリティ、および可用性を考慮する必要があります。レスポンシブ機能の比較テーブルを設計して、障害のあるユーザーを含むすべてのユーザーがフレンドリーでアクセスできるようにします。
レスポンシブWebデザインとテーブルは、最高のパートナーではありません。多くの人々がこれを研究し、多くの方法を設計しました(その一部は最近、SitePointの記事にまとめられました)。しかし、私たちはまだ完璧なソリューションから長い道のりであり、検索は続いています。

一般的な状況は依然として複雑ですが、いくつかの特定の状況はより多くの注意を引くことができます。ここで話しているのは、関数比較テーブルです。多くの場所で遭遇します。車を選択し、どの追加のオプションを選択しても、パッケージと機能を比較することができます。ポータルのお金と引き換えに。

このタイプのテーブルには比較的安定した一貫した構造があるため、小さな画面に表示されると、その動作をよりよく制御できます。

関数比較の構造表

クラシック比較テーブルは、少なくとも3つの製品(列に表示)を組み合わせて、下の行に関数が表示されます。従来の構造では、各行の最初のセルには関数の名前が含まれていますが、各製品の下のセルにはチェックマークまたは関数が製品に属するかどうかを示す他の記号が含まれています。この古典的な構造の素晴らしい例を見つけることができます。ここ、ここ、そしてここです。

これらの例に基づいて、次のコードを使用して、比較テーブルの構造を要約できます。

上記の要素を識別するのは簡単です:製品名、機能名、および関数が存在するか存在しないかを示すマーク。 ✔コードはチェックマーク(✔)文字を表すことに注意してください。
<table>
  <thead>
    <tr>
      <th></th>
      <th>产品 1</th>
      <th>产品 2</th>
      <th>产品 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>功能 1</td>
      <td>✔</td>
      <td>✔</td>
      <td>✔</td>
    </tr>
    <tr>
      <td>功能 2</td>
      <td>—</td>
      <td>✔</td>
      <td>✔</td>
    </tr>
    <tr>
      <td>功能 3</td>
      <td>—</td>
      <td>—</td>
      <td>✔</td>
    </tr>
    <tr>
      <td>功能 4</td>
      <td>—</td>
      <td>—</td>
      <td>✔</td>
    </tr>
  </tbody>
</table>
ログイン後にコピー
ログイン後にコピー

今、私たちは問題の根本にいます。テーブルが低画面幅で最適な効率を維持するには、次の条件を満たす必要があります。

ユーザーは製品を簡単に区別できる必要があります

関数は簡単に認識する必要があります
    製品の機能が存在するかどうかを明確にする必要があります。
  • この結果を達成する最良の方法は、機能名を含むセルを、関数の存在または不在をマークする他の3つのセルの上部に移動することです。
  • プラン1:FlexBox

これをどのように行いますか?答えの1つはFlexBoxです。 FlexBoxとは何か、またはレビューが必要な場合は、このトピックに関するNick Salloumの最近の記事をご覧ください。私たちの残りは解決策を掘り下げることができます。

まず、小さな画面でのみ変更が行われるようにする必要があります。これを行うには、メディアクエリを使用してコードを見つけます。

<table>
  <thead>
    <tr>
      <th></th>
      <th>产品 1</th>
      <th>产品 2</th>
      <th>产品 3</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>功能 1</td>
      <td>✔</td>
      <td>✔</td>
      <td>✔</td>
    </tr>
    <tr>
      <td>功能 2</td>
      <td>—</td>
      <td>✔</td>
      <td>✔</td>
    </tr>
    <tr>
      <td>功能 3</td>
      <td>—</td>
      <td>—</td>
      <td>✔</td>
    </tr>
    <tr>
      <td>功能 4</td>
      <td>—</td>
      <td>—</td>
      <td>✔</td>
    </tr>
  </tbody>
</table>
ログイン後にコピー
ログイン後にコピー
この一連のルールには、魔法の効果を達成できる重要なことがいくつかあります。

テーブル行の表示値を変更して屈曲し、その子要素を列に均等に配布するように伝えます。
  • 次に、セルに通常のコンテナに正規化するように指示します(デフォルト値を保存すると、特にサイズの点でテーブルルールに干渉します)。
  • 次のステップは、各行の最初のセルを100%幅の幅に配置し、コントラストを強化するために背景色を変更することです。プロセスルールは、他の3つのセルの上部に保持します。まさにそれが必要なものです。
  • 製品名の上に何も表示されないように、最初のthを隠すことで変更を加えます。
ここでデモを表示できます。

明らかに、ソリューションの有効性は、サポートの程度にのみ依存します。 Caniuse.comによると、FlexBoxはほとんどの最新のバリエーションに対して80%以上のサポートを提供しており、プレフィックスを必要とするブラウザの以前のバージョンを含める場合、93%以上が93%を超えています。 IEサポートはIE10(2012 Syntaxのみ)で始まりますが、IE11はそれを完全にサポートしています。主に小さな画面でのサポートに焦点を当てているため、以前のIEバージョンのサポートの欠如を無視できます。モバイル面では、サポートはAndroid 4.4およびiOS 7.1から始まります。以前のバージョンにはベンダーのプレフィックスが必要であり、ラップ機能をサポートしませんでした。

また、ブートストラップで使用されるスクロールDIVなどのフォールバックオプションも提供する必要があります。これにより、サポート以外の訪問者にはまだ別のディスプレイの代替品があります。

スキーム2:追加のマーキングアリアの役割

サポートしたいほとんどのブラウザがFlexBoxをサポートしていない場合、代替手段があります。実際、これは2013年の実際のプロジェクトで使用したソリューションです。追加のタグが必要です。追加の行を追加し、関数名をコピーする必要があります。手動操作は退屈に見えることがありますが、データソースから情報を読むと、自動的に実行できます。最後に、最初の例のコードは次のようになります:

cssも非常に単純です:

@media screen and (max-width: 768px) {
  tr {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
  }

  td, th {
    display: block;
    width: 33%;
  }

  th:first-child,
  td:first-child {
    text-align: center;
    background: #efefef;
    width: 100%;
  }

  th:first-child {
    display: none;
  }
}
ログイン後にコピー

アクセシビリティを改善するために、さらに一歩進んで、Aria-Hidden = "True"を使用して、スクリーンリーダーから追加のマーカーを非表示にすることができます。これにより、Aria-Hiddenの仕様を尊重する画面リーダーアプリケーションでは、複製コンテンツを2回読み取っていません。

<table>
  <thead>
    <tr>
      <th></th>
      <th>产品 1</th>
      <th>产品 2</th>
      <th>产品 3</th>
    </tr>
  </thead>
  <tbody>
    <tr class="visible-xs" aria-hidden="true">
      <td></td>
      <td colspan="3">功能 1</td>
    </tr>
    <tr>
      <td>功能 1</td>
      <td>✔</td>
      <td>✔</td>
      <td>✔</td>
    </tr>
    <tr class="visible-xs" aria-hidden="true">
      <td></td>
      <td colspan="3">功能 2</td>
    </tr>
    <tr>
      <td>功能 2</td>
      <td>—</td>
      <td>✔</td>
      <td>✔</td>
    </tr>
    <tr class="visible-xs" aria-hidden="true">
      <td></td>
      <td colspan="3">功能 3</td>
    </tr>
    <tr>
      <td>功能 3</td>
      <td>—</td>
      <td>—</td>
      <td>✔</td>
    </tr>
    <tr class="visible-xs" aria-hidden="true">
      <td></td>
      <td colspan="3">功能 4</td>
    </tr>
    <tr>
      <td>功能 4</td>
      <td>—</td>
      <td>—</td>
      <td>✔</td>
    </tr>
  </tbody>
</table>
ログイン後にコピー

これは、2番目のソリューションのデモです。

結論

比較テーブルを本当に反応させる2つの方法を見つけました。どちらにも利点と短所があります。最終的に、選択は視聴者に依存するはずです。ほとんどの場合、最初のオプション(フォールバックプランを使用)で十分です。 AndroidおよびiOSの古いバージョンに本当に対応する必要がある場合は、2番目のオプションを展開できます。いずれにせよ、機能の比較テーブルは、画面のサイズに関係なく、これからずっと良く見えます。

(元のドキュメントのFAQパーツはここでは省略されています。この部分の内容は擬似オリジナルの目標と一致せず、長すぎます。必要に応じて、FAQパーツの擬似原産性を処理できます別々に。)

以上が機能比較テーブルのレスポンシブソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

静的フォームプロバイダーの比較 静的フォームプロバイダーの比較 Apr 16, 2025 am 11:20 AM

ここでは、「静的フォームプロバイダー」という用語を埋めてみましょう。あなたはあなたのHTMLを持ってきます

SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 Apr 17, 2025 am 10:55 AM

今週のプラットフォームニュースのラウンドアップで、Chromeは、Web開発者のロード、アクセシビリティ仕様、およびBBCの動きのための新しい属性を導入します

HTMLダイアログ要素を使用したいくつかの実践 HTMLダイアログ要素を使用したいくつかの実践 Apr 16, 2025 am 11:33 AM

これは私が初めてHTML要素を見ていることです。私はしばらくの間それを知っていましたが、まだスピンしていませんでした。かなりクールです

ペーパーフォーム ペーパーフォーム Apr 16, 2025 am 11:24 AM

購入またはビルドは、テクノロジーの古典的な議論です。自分で物を構築することは、あなたのクレジットカードの請求書にはラインアイテムがないため、安価に感じるかもしれませんが

毎週のプラットフォームニュース:テキスト間隔のブックマークレット、トップレベルの待望、新しいアンプロードインジケーター 毎週のプラットフォームニュース:テキスト間隔のブックマークレット、トップレベルの待望、新しいアンプロードインジケーター Apr 17, 2025 am 11:26 AM

今週のラウンドアップ、タイポグラフィを検査するための便利なブックマークレットである。

独自の非JavaScriptベースの分析をホストするためのオプション 独自の非JavaScriptベースの分析をホストするためのオプション Apr 15, 2025 am 11:09 AM

サイトの訪問者と使用データを追跡するのに役立つ分析プラットフォームがたくさんあります。おそらく、特にGoogleアナリティクスが広く使用されています

「ポッドキャストにサブスクライブ」リンクはどこにすべきですか? 「ポッドキャストにサブスクライブ」リンクはどこにすべきですか? Apr 16, 2025 pm 12:04 PM

しばらくの間、iTunesはポッドキャストの大きな犬だったので、「ポッドキャストにサブスクライブ」をリンクした場合:

See all articles