メインコンテンツへスキップ
Niquelao Webアクセシビリティとスペイン語のフロントエンド開発:WCAG基準、アクセシブルなウィジェット、Firefox拡張機能を実際のコードで解説。

このサイトの一部のリンクはアフィリエイトリンクです。リンク経由で購入されても、お客様に追加費用はかからず、当サイトが手数料を得る場合があります。これは当サイトのおすすめ内容には一切影響しません。詳細はアフィリエイト開示をご覧ください。 アフィリエイト開示.

Niquelao » ウェブログアーカイブ » 3カラムレイアウトとマークアップ…「ザ・ジャスト」

» ウェブログのアーカイブ » 3カラムレイアウトとマークアップ…「ちょうどいい」 Niquelao - CSS 3カラムレイアウトとマークアップ…「ちょうどいい」 2006年6月4日 投稿者: Rumoroso ウェブ文書のコンテンツを構造化しようとするとき、どのような視覚的デザイン、特にレイアウトになるかを念頭に置くことは、あらゆる手段を用いて避けるべきである。これは、情報の流れの観点から正しく構造化されたコンテンツを得るため、また意味論的なマークアップと最適なコードを得るために不可欠である。この目的を達成するには、W3Cの標準の使用を疑いようのない前提とし、プレゼンテーションのためにスタイルシートに奉仕することを目的とした余分なマークアップを避けるべきである。 開発したケース.- 文書のコンテンツは、3つの領域または機能グループに構造化される: 固有のコンテンツ、メインナビゲーションメニュー、そしてサイト横断的な性質の領域(現在の文書に関連するもの、例えばセクションのニュースのようなもの、あるいはウェブサイトやポータルに関連するもの、例えばポータルのテーマに関連する興味深いリンクやバナーのセットのようなもの)である。 コード内のコンテンツの構成は、現在のページに対する特異性と関連性のレベルに応じて確立されるべきである。したがって、文書に固有の情報グループがコード内で最初に現れるべきであり、その後に横断的領域が続く(これが前述の情報に特に関連し、コンテンツに応じて変化する場合)。次にメインナビゲーションメニューが来る。横断的情報がサイト全体に共通で、各セクションで特定的な性質を持たない場合、これはメニューに先行されて最後に配置される。すべての場合において、3つのグループのそれぞれの間を移動して次または前へ進むための、文書内を移動することを目的としたリンクを作成すべきである。 できるだけクリーンで最適なコードを得ようとして、そのアプローチは以下の通りである:

メインコンテンツ…
これは最も一般的な状況の一つであるため、ヘッダーとフッターが追加されている。例を示すために汎用的なブロックコンテナ( div )を使用している。これらが単一のブロック(例えばリスト)を含む場合、それらは不要であろう、なぜなら識別子を直接それに適用できるからである。クリーンで最適なコードを得たいという願いから、これらの1つ以上をグループ化するコンテナは使用していない。適用されたマークアップとその構成は、例の間でそのまま維持されている。汎用的に適用されたスタイルは共通のcssに含まれている。それぞれに固有のスタイルのセットは、レビューを容易にするために文書のヘッダー内に含まれている。すべての場合において、メインコンテンツブロックは流動的な挙動で維持されている。「contenido1」と呼ばれるブロックの最初の子孫にマージンを適用するために、ユニバーサルセレクタが使用されている。すべてのブラウザが疑似要素「 :first-child 」を正しく認識するわけではないため、ブロックのすべての子孫にプロパティを適用し、その後、親がその同じブロックの子孫であるすべての子孫に対してそれらを打ち消すという方法に頼っている。他の方法も使用できる、例えば前述の疑似要素とInternet Explorer(IE)用の条件付きコメントを併用する方法である。もう一つの方法は、「contenido1 」内にブロックを作成し、それに必要なスタイルを適用することであろう。この方法は、よりクリーンで、レイアウトに奉仕することを目的とした要素の存在しないマークアップを得るために避けられている。実際には、子孫に対して変更され得るプロパティは左右のマージンであり、容易に制御できるプロパティであるため、提案された解決策がこのケースにとって最も最適であると考えられる。 スタイルを適用する際に起こりうる予期しない効果を考慮して、どのプロパティと属性が宣言されているかに注意を払うことが重要である。例えば、IEでは、リストをフロートされ相対配置された要素内に含める場合、背景に適用されたスタイルやボーダーに適用された色が表示されない(これはそれらを相対配置することで修正できる)。 アイデアは、サイトのニーズに応じた特定の順序で3カラムレイアウトを実現することである。異なるレイアウトは、ブロックの順序とそれらの流動的な特性に応じて整理されて示されている。ブロックの流動性は、その幅をパーセンテージで定義することで達成され(すべての例でコンテナ全体の20%)、固定性は絶対単位で定義される(すべての例で150px)。同様に、絶対単位を使用する代わりに、相対単位(em)を使用することもできる。すべては各ケースの個別のニーズ次第である: レイアウト内の順序 1 2 3 流動的デザインの例: 流動 流動 流動 ハイブリッドデザインの例: 流動 固定 流動 ハイブリッドデザインの例: 流動 流動 固定 ハイブリッドデザインの例: 流動 固定 固定 レイアウト内の順序 1 3 2 流動的デザインの例: 流動 流動 流動 ハイブリッドデザインの例: 流動 流動 固定 ハイブリッドデザインの例: 流動 固定 流動 ハイブリッドデザインの例: 流動 固定 固定 レイアウト内の順序 2 1 3 流動的デザインの例: 流動 流動 流動 ハイブリッドデザインの例: 固定 流動 流動 ハイブリッドデザインの例: 流動 流動 固定 ハイブリッドデザインの例: 固定 流動 固定 レイアウト内の順序 2 3 1 流動的デザインの例: 流動 流動 流動 ハイブリッドデザインの例: 固定 流動 流動 ハイブリッドデザインの例: 流動 固定 流動 ハイブリッドデザインの例: 固定 固定 流動 レイアウト内の順序 3 1 2 流動的デザインの例: 流動 流動 流動 ハイブリッドデザインの例: 流動 流動 固定 ハイブリッドデザインの例: 固定 流動 流動 ハイブリッドデザインの例: 固定 流動 固定 レイアウト内の順序 3 2 1 流動的デザインの例: 流動 流動 流動 ハイブリッドデザインの例: 流動 固定 流動 ハイブリッドデザインの例: 固定 流動 流動 ハイブリッドデザインの例: 固定 固定 流動 一部のケース、一部のブラウザ(Internet Explorerなど)では、ウィンドウのサイズ変更時に異常な挙動が発生する可能性がある。基本的に、不正確な挙動は、コンテナにその幅がどうあるべきかを指示しても、サイズ変更時にテキストが影響してその境界をわずかに押し出すためである。ブロックのセットがコンテナの100%を占める必要がある場合、相対的な寸法を持つものの一つが、前述の効果により、本来よりも少し多くを占め、他のものを押し出し、それらはフロートされていて収まらないため、下に飛び出す可能性がある。解決策としては、それらの一つに理想よりもわずかに小さい寸法を宣言することができる(例えば、20%の代わりに19.9%)。 カテゴリー: CSS —> 1件のコメント Norwin Galeano 2006年8月28日 とても良い。この記事は、ページのマークアップを始める人々にとって非常に役立つはずだ

P.S. A few readers have asked which superposición de accesibilidad (overlay) we actually reach for — it's accessiBe; if you want the current details.


¿Cumplir WCAG sin tocar el código?

Superposición de IA que promete cumplimiento WCAG en 48 horas