ゎム流䜓グリッド

画像



今幎はたくさんのコンテンツを持぀りェブサむトを再蚭蚈しおいたした 。 蚭蚈芁件は単玔でした。クラむアントは、既存の䌚瀟のロゎを保持し、印刷密床を向䞊させ、読みやすさを向䞊させるこずを求めたした。 そのため、蚭蚈開発の最初の段階で、情報ブロックのラむブラリ甚に適切に構成されたグリッドを蚈画するのにかなりの時間を費やしたした。

過去数幎にわたっお、この考え方はより䞀般的になりたした。 Mark Boulton、Khoi Vinh、およびその他の人々のおかげで、印刷グリッドぞの関心ず、ネット䞊での䜿甚方法が再び泚目されおいたす。 そしお、率盎に蚀っお、このアむデアは驚くべきヒットでした 数癟䞇の CSS フレヌムワヌク が倚くの補完的な ツヌルで栄え 、それぞれが平均的なデザむナヌ/レむアりトデザむナヌがグリッドベヌスのデザむンにさらにアクセスできるように蚭蚈されたした。 そしお、なぜですか グリッドカテゎリで数分間考えた埌、メリットが明らかになりたす。蚭蚈者は、情報構造を構築するための合理的で構造化されたフレヌムワヌクを取埗し、ナヌザヌは、構造化された読みやすいサむトを取埗したす。

その䞀方で、クラむアントはさらに別の、より臎呜的な芁件を提瀺したした。ブラりザヌりィンドりに合わせお、デザむンを拡倧およびサむズ倉曎する必芁がありたす。 通垞、それは私を隒々しくさせ、喜んで恥ずかしくさせたす。 ラバヌは、Webデザむンの過小評䟡されおいるパラダむムです。 圌女は、デザむンの制埡をナヌザヌの手ずりェブサヌフィンの習慣に委ねおいたす 。 たた、その機胜はWebデザむナヌの想像ずはたったく異なりたす。





最小画面解像床小さな眪のない嘘。



「ゎム」の矎埳を探る代わりに、私たちは「最小画面解像床」ずいうささいで眪のない嘘に頌っおいたす。 これらの3぀の単語には匷力な魔法が含たれおおり、そのカバヌの䞋に、幅が固定されたデザむンを次々に䜜成し、おそらく安党になるず数幎ごずにデザむンの幅を増やすだけです。 「最小画面解像床」により、ナヌザヌの限られたサブセットが、神ずPhotoshopが意図したずおりにサむトを芋るこずができたす。 これらのナヌザヌは垞にフルスクリヌンブラりザヌりィンドりず1024x768の解像床でサむトを閲芧し、 OLPCラップトップや4歳以䞊のモニタヌを䜿甚しないでください。 ナヌザヌが「最小画面解像床」の芁件を満たしおいない堎合は、スクロヌルバヌがありたすか

もちろん、私がサむトをコヌディングしたずき、私は固定幅の蚭蚈の欠陥に぀いお厳しい非難のスピヌチを曞く莅沢をしおいたせんでした。 代わりに、私は冷静な事実を残したした。顧客のコンテンツ芁求を満たすために十分に掗緎されたグリッドを開発しおいる間、クラむアント-そしおすべおに加えお、ナヌザヌ-は「ゎム」を望んでいたした。 リストできるほずんどすべおのグリッドベヌスのデザむンは固定幅であり、難しい質問が残っおいたした。ゎムの䜜り方は

結局のずころ、これはコンテキストの問題にすぎたせん。



IEに本圓に感謝すべきですか



克服できない問題に盎面しお、私は最善を尜くしたしたそれを回避したした。 グリッドを「ゎム」のように動䜜させるための「方法」ずいう質問を䞀時的に脇に眮いお、私はできるこずをしたした。たず、色ず背景のスタむル、次にフォントを決定したした。

サむズがピクセル単䜍で指定されおいる堎合は、IEの十分に文曞化されたフォントサむズ倉曎の問題に぀いお既に知っおいるかもしれたせん 。 ゞョヌゞアではフォントを16ピクセルに蚭定したす。ナヌザヌがテキストのサむズをどのように増枛しようずしおも、IEでは16ピクセルのたたになりたす。 IE7以降では、ナヌザヌはペヌゞ党䜓を拡倧瞮小できたすが、ピクセル単䜍で定矩されおいるフォントサむズをIEで倉曎するだけでもタブヌのたたです。 したがっお、ナヌザヌに柔軟性を持たせるために、暙準的な考え方の蚭蚈者は、ピクセルを完党に省き、盞察的な単䜍を䜿甚しお、フォント、 キヌワヌド 、 パヌセンテヌゞ、たたはお気に入りのemを決定したす。

emのように盞察的な枬定単䜍を䜿甚したこずがある堎合は、すべおがコンテキスト内にあるこずを理解できたす。぀たり、emの実際のサむズは芪芁玠のフォントサむズに察しお蚈算されたす。 たずえば、次のレむアりトを䜿甚するずしたす。



画像

ピクセルを䜿甚しおテキストのサむズを簡単に決定する䟋。



面癜いこずはありたせん。段萜は16px Helveticaずしお定矩されおおり、゜ヌトされおいないリストは14pxにわずかに削枛され、h1は24px Georgiaに増加しおいたす。 性的に いや

二重にセクシヌなのは、1぀の簡単なルヌルですべおを䞀床に取埗できるこずです。

  1. body {
  2. フォント通垞の100Helvetica、Arial、sans-serif。
  3. }


フォントサむズが100の堎合、ペヌゞ䞊のすべおの芁玠のサむズは、ブラりザヌのデフォルトのフォントサむズほずんどの堎合16pxに察しお決定されたす。 ブラりザ圢匏のテヌブルのおかげで、h1は倧きく、倧胆で、矎しいですが、それでもHelveticaで倧きすぎたす。 問題を解決するために、font-familyを䜿甚しおHelveticaを削陀するのは非垞に簡単ですが、テキストのフォントサむズを24pxに倉曎する方法はありたすか たたは、リストのフォントサむズを正確に瞮小したすか

emを䜿甚するず、これは簡単です。 各芁玠のタヌゲットfont-size倀を取埗し、そのコンテナヌこれがコンテキストですのフォントサむズfont-sizeで陀算したす。 その結果、盞察的な単䜍emで衚される目的のフォントサむズfont-sizeを取埗したす。 たたは、芁するに



target ÷ context = result







bodyタグのフォントサむズがデフォルトで16pxであるず仮定するず、この匏で必芁なfont-size倀を蚘述できたす。 したがっお、蚈算で必芁なヘッダヌサむズを取埗するために、タヌゲット倀24pxをコンテナヌのフォントサむズfont-size16pxで陀算したす。



24 ÷ 16 = 1.5







タむトルは本文のフォントサむズの1.5倍、぀たり1.5emであり、この倀をスタむルシヌトに远加できたす。

  1. h1 {
  2. フォントファミリヌゞョヌゞア州、セリフ。
  3. フォントサむズ1.5em; / * 24px / 16px = 1.5em * /
  4. }


リストサむズを14pxに盞圓するemに倉換するには、同じ匏を䜿甚できたす。 フォントサむズfont-sizeが厳密に16pxであるず仮定するず、タヌゲット倀をそのコンテキストで単玔に分割したす。



14 ÷ 16 = 0.875







そしお、倀0.875emを取埗したす。これもCSSに入力できたす。

  1. ul {
  2. フォントサむズ0.875em; / * 14px / 16px = 0.875em * /
  3. }


これら2぀のルヌルにより、サンプルペヌゞは蚈画されたものに非垞に近くなり、 簡単な远加でほが完璧になりたす。 そしお、これらすべおは、フォヌミュラtarget ÷ context = result.





数時間かけおサむズをかき集めた埌、私は答えに぀たずいおいるこずに気付きたした。 フォントサむズをピクセルずしおではなく、コンテナに察しお蚈算された割合ずしお考えるこずができる堎合、同じこずが他のグリッド芁玠に適甚できたす。



゚ンド゚ンドでは、これは「ゎヌルデンピクセル」ではありたせん



前ず同様に、明確でセクシヌではないシンプルなマヌクアップから始めたしょう。



画像

基本的なマヌクアップ



もちろん、 私たちの「デザむン」は控えめです。 ただし、シンプルなスタむルは明確に定矩されたグリッドに重ねられたす。より正確には、20pxの空癜で区切られたそれぞれ124pxの7列で、幅はすべお988pxです。 しかし、これらの厄介なピクセルに぀いおは忘れたしょう。 割合は私たちのすべおですよね ゎムをくれ、ベむビヌ



画像

その䞊にグリッドがある基本レむアりト



たず、レむアりトを固定たたはストレッチの任意のレむアりトず考えおみたしょう。コヌドを曞き始める前に、デザむンを芋お情報ブロックを定矩したしょう。 幞いなこずに、それらの倚くはありたせん。



画像

情報ブロックを定矩したす。



最䞊䜍レベルでは、ペヌゞの䞊郚にタむトルがあり、6぀の列にたたがる情報領域ず、巊端の列にいく぀かの状況䟝存情報がありたす。 このスキヌムから、構造ずセマンティクスの䞡方の点で情報セットに察応するマヌクアップスケルトンを区別できたす。

  1. < div id = "page">
  2. < h1 >比率革呜は攟映されたせん</ h1 >
  3. < div class = "entry">
  4. < h2 > Helveticaにうんざりしおいる人はいたすか</ / h2 >
  5. < h3 class = "info"> A <a href = "#">ブログ</ a >゚ントリ</ h3 >
  6. < div class = "content">
  7. < div class = "main">
  8. < p >䞻なコンテンツはこちらです。 Lorem ipsumなどなど</ P >
  9. </ div > <-/ end .main->
  10. < div class = "meta">
  11. < p >などに投皿したした</ p >
  12. </ div > <-/ end .meta->
  13. </ div > <-/ end .content->
  14. </ div > <-/ end .entry->
  15. </ div > <-/ end #page->


そしお、いく぀かのタむポグラフィルヌルを適甚するず、 たずもな参照ポむントが埗られたす。 ただし、コンテナ#pageには制限が含たれおいないため、コンテンツはブラりザりィンドりの幅に察応するように圢成されたす。 行の長さを制埡しおみたしょう。

  1. #page {
  2. マヌゞン40ピクセル自動;
  3. パディング0 1em;
  4. 最倧幅61.75em; / * 988px / 16px = 61.75em * /
  5. }


マヌゞンずパディングを䜿甚しお制限を行い 、コンテンツずりィンドりの境界の間に空癜を入れたした 。 ただし、ルヌルの最埌の行では、匏のバリ゚ヌションfont-sizeの蚈算甚を䜿甚しお、デザむンの最倧幅を決定しおいたす。 レむアりトの幅988pxを基本フォントサむズ16pxで陀算しお、emの最倧サむズを蚭定しお、レむアりトのおおよそのピクセル幅を決定できたす。これにより、レむアりトが理想的な988pxを超えお拡倧するのを防ぎたす。 しかし、emを䜿甚しお最倧サむズを決定するため、ナヌザヌがブラりザヌのフォントサむズを倧きくするず、最倧幅max-widthが拡倧したす。 小さなCSSハックを䜿甚するず、IEの叀いバヌゞョンでも機胜するファッショナブルな小さなトリックです。

デザむンが適切に制限されたので、ペヌゞタむトルから始めお、デザむンの各芁玠を個別に操䜜したしょう。 レむアりトでは、5぀の列ず4぀の空癜材料を䜿甚し、合蚈幅は700ピクセルです。 たた、1組の列/空癜玠材によっおペヌゞの巊の境界線から分離されおおり、144pxのかわいいむンデントを提䟛したす。 たた、固定幅の蚭蚈を䜿甚する堎合、䜜業は非垞に簡単です。

  1. h1 {
  2. マヌゞン巊144px;
  3. 幅700px;
  4. }


しかし、「ゎム」で䜜業するため、固定ナニットはあたり適しおいたせん。 そしお、私は盞察的なサむズで䜜業しおいたので、それは私に気付きたしたグリッドの各芁玠ずその䞊にある芁玠は、コンテナに察する盞察的な割合ずしお衚珟できたす。 ぀たり、フォントサむズを倉曎するずいうタスクの堎合ず同様に、必芁な芁玠のサむズだけでなく、このサむズずコンテナヌのサむズの比率も考慮したす。 これにより、ピクセルベヌスの芁玠の幅をパヌセンテヌゞに倉換し、サむズを倉曎しおもグリッドの比率を維持できたす。

぀たり、「ゎム」ができたす。



すべおが新しい-忘れ去られた叀い



では、どこから始めたすか



target ÷ context = result







そうですフォントサむズの蚈算匏に戻りたす。 同じ比率を䜿甚しお、ピクセル単䜍の列幅を柔軟なパヌセンテヌゞに倉換できたす。 タヌゲットの700ピクセルから開始しお、ヘッダヌのサむズをパヌセントで取埗したすが、ヘッダヌコンテナヌは988ピクセルです。



画像

ピクセル単䜍のヘッダヌサむズの倀をパヌセントに倉換したす。



その結果、次のように700px目暙倀を988そのコンテキストヘッダヌコンテナサむズで割るだけです。



700 ÷ 988 = 0.7085







そしお今0.7085は70.85に倉わりたす。これは、スタむルシヌトに入力できる幅です。

  1. h1 {
  2. 幅70.85; / * 700px / 988px = 0.7085 * /
  3. }


144pxもむンデントできたすか 䞻な質問が倧奜きです



144 ÷ 988 = 0.14575







たた、0.14575、぀たり14.575を取埗し、スタむルシヌトにタむトルの巊マヌゞン倀ずしお远加したす。

  1. h1 {
  2. マヌゞン巊14.575; / * 144px / 988px = 0.14575 * /
  3. 幅70.85; / * 700px / 988px = 0.7085 * /
  4. }


そしおほら 。 ヘッダヌのむンデントずコンテナに察する幅を枬定するこずで、グリッドの割合をパヌセンテヌゞに倉換するこずに成功したした。 ブラりザりィンドりのサむズに合わせおスケヌリングされた堎合でも、ヘッダヌの比率は垞に真のたたです。

同様に単玔な倉換を適甚しお、メむンコンテンツを含むブロックの盞察的なサむズを決定できたす。サむズは844pxで、幅は124pxの巊偎にむンデントがありたす。 それは



844 ÷ 988 = 0.85425







たた、情報列に぀いお



124 ÷ 988 = 0.12551







これらの2぀の倉換により、スタむルシヌトに远加できるパヌセンテヌゞ倀が埗られ、レむアりトがさらに柔軟になりたす。

  1. .entry h2、
  2. .entry .content {
  3. フロヌト右;
  4. 幅85.425; / * 844px / 988px = 0.85425 * /
  5. }
  6. .entry .info {
  7. float巊;
  8. 幅12.551; / * 124px / 988px = 0.12551 * /
  9. }


そしお、 「ゎム」を取埗するためにさらに䞀歩前進したす。



コンテキストを倉曎



これたで、䞻芁な情報ブロックを配眮したしたが、それらのコンテンツには觊れたせんでした。 これで、ブログのコンテンツ芁玠は幅党䜓を占め、䞊䞋に配眮されたす。 ただし、メむンコンテンツ芁玠は5列のみを占有し、远加情報は右端の列に配眮するこずを蚈画したした。

泚意深い読者は、メむンブロック内の情報コンテナヌの珟圚の幅がヘッダヌの幅700pxず同じであり、シフトが巊端の列以前に準備したスタむル124pxず同じであるこずに気付きたした。 そのため、既に蚈算されたディメンションを匕き続き䜿甚したすが、同じ匏を䜿甚するこずはできたせん。コンテキストが倉曎されたした。



画像

新しいコンテナで䜜業しおいるため、その幅をコンテキストずしお䜿甚する必芁がありたす。



以前は、コンテナ#pageの幅988 pxに察する割合を蚈算しおいたしたが、珟圚ははるかに小さいコンテナ.entry .contentを䜿甚しおいたす。 そのため、コンテキストを倉曎し、.entry .contentの幅を参照ポむントずしお䜿甚する必芁がありたす。 したがっお、メむンコピヌ芁玠のパヌセンテヌゞベヌスの幅を決定するには、その幅700pxを取埗し、芪コンテナヌの幅844pxで陀算したす



700 ÷ 844 = 0.82938







そしお、124ピクセル幅の右の列では、同じ参照ポむントを䜿甚できたす。



124 ÷ 844 = 0.14692







これで、これらの蚈算の結果を取埗しおCSSに埋め蟌むこずができたす。

  1. .entry .main {
  2. float巊;
  3. 幅82.938; / * 700px / 844px = 0.82938 * /
  4. }
  5. .entry .meta {
  6. フロヌト右;
  7. 幅14.692; / * 124px / 844px = 0.14692 * /
  8. }


実際、これで䜜業は終了し、 「ゎム」は終了したす。



おわりに



CSSのハッキングの欠劂から掚枬できるように、クロスブラりザの問題はほずんどありたせんでした。 CSSのサブピクセルの問題に関する John Resigの蚘事を匷くお勧めしたす。 圌女は、さたざたなブラりザがパヌセンテヌゞ幅を凊理する方法ず、サブピクセルの枬定倀が䞀臎するメカニズムを説明したす。

Johnが圌の蚘事で説明しおいるように、最新のブラりザヌが幅50のコンテナヌで幅25の4぀の芁玠を䜿甚する堎合、12.5ピクセル幅の芁玠を描画できたせん。 代わりに、ほずんどのブラりザヌは列幅をマヌクアップに最適に䞀臎するように倧きい敎数たたは小さい敎数に䞞めたす。 Internet Explorerは、い぀ものように、単に倧きな党䜓に䞞めるだけで、マヌクアップが壊れたす。

グリッドでかなり䞀般的なむンデントを䜿甚する堎合、これは問題ではありたせん。 しかし、IEがマヌクアップに䞍芁なブレヌクを匕き起こす堎合、パヌセント幅で列を移動するず、タヌゲット幅を1ピクセル枛らすこずができたす。 たずえば、巊マヌゞンがIEに察しお倧きすぎる堎合、蚈算を次から倉曎できたす。



124 ÷ 988 = 0.12551







より狭い幅123px



123 ÷ 988 = 0.12449







IE固有のスタむルシヌトに12.449の幅を远加するず、すべお問題ありたせん。



あらゆる堎面に察応するグリッド



もちろん、䞊蚘はすべお出発点に過ぎたせん。「ゎム」でタむプセッタヌが動䜜するのを埅぀無数の問題がありたす。ほずんどの問題は、「ゎム」のコンテキストで固定幅のコンテンツ画像、Flashなどを操䜜するずきに発生したす。 ブログで可胜な解決策を詊したしたが、完璧な解決策はただありたせん。

そしお最埌に、レむアりトが単玔で、重芁ではない、固定レむアりトたたは「ゎム」ず蚀っおいるわけではありたせん。 しかし、過去数幎間で達成したこずを怜蚎した埌、テヌブルを攟棄し、䌚瀟ず䞀般的な専門分野の基準を神瀟のレベルに匕き䞊げ、私たちは最高のブラりザ暙準化を達成しようずしおいたす。画面解像床。」 結局のずころ、ナヌザヌのサヌフィン習慣は、私たちが想定できるほど予枬可胜ではありたせん。 「ゎム」の可胜性があなたの想像力を刺激したこずを願っおいたす。この技術のあなたの応甚を喜んで芋おいきたす。 ナヌザヌだけでなく。



さらに読む



どうしお



All Articles