検索

CSS レイアウトを学習していますか?まだ純粋な CSS レイアウトを完全にマスターできていませんか?通常、学習を妨げる状況は 2 つあります:

1 つ目の可能性は、CSS ページ処理の原則をまだ理解していないことです。ページの全体的なパフォーマンスを考慮する前に、まずコンテンツのセマンティクスと構造を検討し、次にセマンティクスと構造用の CSS を追加する必要があります。この記事では、HTML を構造化する方法について説明します。

もう 1 つの理由は、非常によく知られたプレゼンテーション層の属性 (cellpadding、hspace、align="left" など) について困惑しており、それらをどの CSS ステートメントに変換すればよいかわからないことです。 最初の問題を解決し、HTML の構造化方法を理解したら、元のプレゼンテーション属性を置き換えるためにどの CSS を使用するかを詳しく説明したリストを提供します。

構造化 HTML

初めて Web ページの作成を学ぶとき、私たちは常に、最初に画像、フォント、色、レイアウト計画を考慮して、どのようにデザインするかを検討します。次に、Photoshop または Fireworks を使用してそれを描画し、小さな絵に切り取ります。最後に、HTML を編集して、すべてのデザインをページに復元します。

HTML ページを CSS でレイアウトしたい場合 (CSS フレンドリーです)、最初に戻って最初から「外観」について考えるのではなく、最初にそのセマンティクスと構造について考える必要があります。ページのコンテンツ。

外見は最も重要なことではありません。適切に構造化された HTML ページは、どのような外観でも表示できます。CSS Zen Garden はその典型的な例です。 CSS Zen Garden は、CSS の力を最終的に認識するのに役立ちます。

HTML はコンピューター画面上で読むためだけのものではありません。 Photoshop で慎重にデザインした画像は、PDA、携帯電話、スクリーン リーダーでは表示されない場合があります。ただし、適切に構造化された HTML ページは、CSS のさまざまな定義を使用して、どこにでも、どのネットワーク デバイスでも表示できます。

考え始めましょう

まず、「構造」とは何かを学ぶ必要があります。一部の作家はそれを「意味論」とも呼んでいます。この用語が意味するのは、コンテンツ ブロックと各コンテンツが果たす目的を分析し、これらのコンテンツの目的に基づいて対応する HTML 構造を構築する必要があるということです。

じっくりとページ構造を分析して計画すると、次のようないくつかの部分が完成するかもしれません:

ロゴとサイト名

メインページのコンテンツ

サイトナビゲーション (メインメニュー)

サブメニュー

検索ボックス

機能領域 (ショッピング カート、チェックアウトなど)

フッター (著作権および関連する法的通知)

通常、次のような DIV 要素を使用してこれらの構造を定義します。

<div id="header" > </div>

<div id="content"></div>

<div id="globalnav"></div>

<div id="subnav"></div>

< div id="search"></div>

<div id="shop"></div>

<div id="footer"></div>

これはレイアウトではなく構造です。これはコンテンツ ブロックの意味論的な記述です。構造を理解したら、対応する ID を DIV に追加できます。 DIV コンテナ内には任意のコンテンツ ブロックを含めることができ、その中に別の DIV をネストすることができます。コンテンツ ブロックには、タイトル、段落、画像、表、リストなど、あらゆる HTML 要素を含めることができます。

上記によると、HTML の構造化方法はすでにわかったので、レイアウトとスタイルを定義できます。各コンテンツ ブロックはページ上のどこにでも配置でき、ブロックの色、フォント、境界線、背景、配置プロパティなどを指定できます。

セレクターの使用は素晴らしいことです

ID の名前は、特定のコンテンツ ブロックを制御する手段です。このコンテンツ ブロックに DIV を配置し、一意の ID を追加することで、CSS セレクターを使用して各コンテンツ ブロックを正確に定義できます。 . タイトル、リスト、画像、リンク、段落などのページ要素の外観。たとえば、#header の CSS ルールを作成する場合、それは #content の画像ルールとはまったく異なるものになる可能性があります。

もう 1 つの例は、異なるルールを通じて異なるコンテンツ ブロックにリンク スタイルを定義できることです。このようなもの: #globalnav a:link または #subnav a:link または #content a:link異なるコンテンツ ブロック内の同じ要素に異なるスタイルを定義することもできます。たとえば、#content p と #footer p を通じて、それぞれ #content と #footer の p のスタイルを定義します。構造的に言えば、ページは画像、リンク、リスト、段落などで構成されます。これらの要素自体は、どのネットワーク デバイス (PDA、携帯電話、またはインターネット TV) に表示されるかには影響しません。これらは、任意のパフォーマンスの外観として定義できます。

慎重に構造化された HTML ページは非常にシンプルで、すべての要素が構造的な目的で使用されます。段落をインデントする場合は、blockquote タグを使用する必要はありません。p タグを使用し、CSS マージン ルールを p に追加するだけで、インデントの目的を達成できます。 p は構造化タグ、margin はプレゼンテーション属性です。前者は HTML に属し、後者は CSS に属します。 (これが構造と表現の分離です。)

よく構造化された HTML ページには、属性を表すタグはほとんどありません。コードは非常にクリーンで簡潔です。たとえば、元のコード

は HTML 内に
のみを記述できるようになり、パフォーマンスを制御するものはすべて HTML で記述されます。 CSS 構造化 HTML では、テーブルはテーブルであり、他のものではありません (レイアウトや位置決めに使用されるなど)。

自分で構造を練習してください

上記は最も基本的な構造にすぎません。実際のアプリケーションでは、必要に応じてコンテンツ ブロックを調整できます。 DIV のネストは頻繁に発生し、「container」レイヤーに次のような構造を持つ他のレイヤーがあることがわかります。

<div id="navcontainer">

<div id="globalnav">

< ul>リスト</ul>

</div>

<div id="subnav">

<ul>別のリスト</ul>

</div>

</div>

埋め込み div 要素のセットを使用すると、プレゼンテーションを制御するための CSS ルールをさらに定義できます。たとえば、#navcontainer にリストを右側の中央に配置するルールを指定し、#globalnav にリストを左側の中央に配置する別のルールを指定できます。 #subnav のリストのパフォーマンスとはまったく異なるルールです。

従来のメソッドを CSS に置き換える

次のリストは、従来のメソッドを CSS に置き換えるのに役立ちます:

HTML 属性と対応する CSS メソッド

HTML 属性

CSS メソッドの説明

align="left"

align =" right" float: left;

float: right; CSS を使用して、画像、段落、div、タイトル、テーブル、リストなどの要素をフローティングにします。

float 属性を使用する場合は、フローティングの幅を定義する必要があります要素 。

marginwidth="0" leftmargin="0" marginheight="0" topmargin="0" margin: 0; CSS を使用すると、body 要素だけでなく任意の要素に margin を設定できることも重要です。要素の上下左右のマージン値を個別に指定します。

vlink="#333399" alink="#000000" link="#3333FF" a:リンク #3ff;

a:訪問: #339;

a:ホバー: #999;

a:アクティブ: #00f;

HTMLではリンクの色は本文の属性値として定義されています。リンクのスタイルはページ全体で同じです。 CSS セレクターを使用すると、ページのさまざまな部分でリンク スタイルを変えることができます。

bgcolor="#FFFFFF" 背景色: #fff; CSS では、body 要素や table 要素だけでなく、任意の要素に対して背景色を定義できます。

bordercolor="#FFFFFF" border-color: #fff; 任意の要素に境界線 (境界線) を設定でき、それぞれ上、右、下、左を定義できます

border="3" cellpacing="3" border- width: 3px; CSS を使用すると、テーブルの境界線を統一スタイルとして定義したり、上、右、下、左の境界線の色、サイズ、スタイルをそれぞれ定義したりできます。

table、td、または th セレクターを使用できます

ボーダーレス効果を設定する必要がある場合は、CSS 定義を使用できます: border-collapse: Collapse;



cellpadding="3"

vspace="3"

hspace="3" padding: 3px を使用できます。要素 padding 属性も同様に、上、右、下、左にそれぞれ設定できます。パッドは透明です。

align="center" text-align: center;

margin-right: auto; margin-left: auto;

Text-align はテキストにのみ適用されます。

div や p のようなブロック レベルは margin -right を渡すことができます: auto; と margin-left: auto; を水平方向に中央揃えにする

いくつかの残念なテクニックと作業環境

ブラウザーの CSS サポートが不完全なため、いくつかのトリック (ハック) を実行するか、ある種の環境を確立する必要がある場合があります (回避策) ) CSS が従来の方法と同じ効果を達成できるようにします。たとえば、ブロック レベルの要素では、水平方向のセンタリング手法やボックス モデルのバグ手法などを使用する必要がある場合があります。これらのテクニックはすべて、Molly Holzschlag の記事「Integrated Web Design: Strategies for Long-Term CSS Hack Management」で詳しく説明されています。

CSS ヒントに関するもう 1 つのリソース サイトは、Big John と Holly Bergevin による「Position is Everything」です。

Float の動作を理解する

Eric Meyer の「Containing Floats」は、レイアウトに float 属性を使用する方法を習得するのに役立ちます。 Float 要素をクリアする必要がある場合があります。「構造マークアップを使用せずに Float をクリアする方法」を読むと非常に役立ちます。

その他のヘルプ

既存の「CSS Discussion」リストは、CSS レイアウトの概要 (css-discuss.incutio.com/?page=CssLayouts)、CSS のヒントなど、WiKiA ディスカッション グループからの情報を収集する優れたリソースです。概要 (css-discuss.incutio.com/?page=CssHack) など。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
< Progress>の目的は何ですか 要素?< Progress>の目的は何ですか 要素?Mar 21, 2025 pm 12:34 PM

この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

< datalist>の目的は何ですか 要素?< datalist>の目的は何ですか 要素?Mar 21, 2025 pm 12:33 PM

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

< meter>の目的は何ですか 要素?< meter>の目的は何ですか 要素?Mar 21, 2025 pm 12:35 PM

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか?ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか?Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

HTML5< time>を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素?HTML5< time>を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素?Mar 12, 2025 pm 04:05 PM

この記事では、html5< time>について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

< iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか?< iframe>の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか?Mar 20, 2025 pm 06:05 PM

この記事では、< iframe>外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか?HTML5のクロスブラウザー互換性のベストプラクティスは何ですか?Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか?HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか?Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 Mac版

SublimeText3 Mac版

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

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境