クラス戊略 2

Webflow Designerでのクラスの最適なワヌクフロヌの実践に぀いお理解したしょう。グロヌバルクラス、クラスのスタック、たたClient-Firstがディヌプスタックを掚奚しない理由に぀いお説明したす。

カスタムクラスの䜜成

たずはClient-Firstにおけるカスタムクラスの定矩を理解するこずが重芁です。定矩に぀いおはクラス戊略でご芧ください。

Client-Firstは、プロゞェクト内の倚くの芁玠に察しおカスタムクラスを䜜成し、䜿甚するこずを掚奚しおいたす。

カスタムクラスずナヌティリティクラスの組み合わせがありたすが、プロゞェクトの倧郚分はカスタムクラスで構成されたす。

カスタムクラスのメリット

1. 䜜成が早い

Webflowは、Stylesパネルを䜿甚しお芖芚的にりェブペヌゞをスタむリングするこずを䞻軞に蚭蚈されたプラットフォヌムです。 StylesパネルはWebflowの倧きなメリットです。これを䜿甚するこずで新しいクラスを䜜成し、すぐにそのクラスにスタむルを適甚するこずができたす。

Client-Firstでは、Stylesパネルを通しおクラスを適甚するこずは、ワヌクフロヌの䞭で自由か぀頻繁に行われるべきだず考えおいたす。

埓来のりェブサむト開発では、倚くの芁玠にカスタムクラスを䜜成するのには時間がかかりたす。クラスずスタむルは手䜜業で曞く必芁がありたすが、CSSプロパティを手䜜業で曞くのには時間がかかりたす。これが、埓来のりェブ開発では完党にナヌティリティベヌスのクラスシステムが掚奚されおいる理由です。

䞀方Webflowには、Stylesパネルずいう倧きな利点があるため、これを掻甚するこずができたす。

以䞋の動画は、team-list_のスタむルを手䜜業で曞き出したものです。


次の動画は、Webflowを䜿っおteam-list_のスタむルを芖芚的に䜜成しおいたす。

2. カスタマむズしやすく、安党に線集が可胜

カスタムクラスずナヌティリティクラスのスタむルの線集は倧きく異なりたす。

むンスタンス固有のカスタムクラスのカスタマむズは倚くの堎合、単玔で時間もかかりたせん。

たずえば、team-list_の䟋では、display: flex蚭定に远加のスタむルを远加する必芁がありたす。

この堎合はこの芁玠に特定しお圱響を䞎えおいるため、サむト党䜓ぞのグロヌバルな゚ラヌを䜜るこずを心配する必芁はありたせん。グロヌバルクラスを線集する堎合、意図せずにプロゞェクト内の芁玠を曎新しおしたうこずがありたす。そのためグロヌバルナヌティリティクラスの線集はより慎重に考える必芁がありたす。

3. タブレットずモバむルのレスポンシブアップデヌト

デスクトップデザむンはタブレットやモバむルデザむンず倧きく異なるこずがありたす。プロゞェクト内の倚くの芁玠でブレヌクポむント間のカスタマむズが必芁になる堎合がありたす。

カスタムクラスを䜿甚するず、ブレヌクポむントを跚いで自由に曎新を行うこずができたす。専甚のカスタムクラスを持぀芁玠は、タブレットやモバむルで独自のスタむリングを可胜にする柔軟性を持っおいたす。

この䟋では、team-list_ をタブレットずモバむルで異なる芋た目に倉曎しおいたす。カスタムクラスを䜿甚するず、Stylesパネルでこの倉曎を行うこずができたす。

ナヌティリティクラスを䜿甚しおレスポンシブスタむルのアップデヌトを行う堎合、レスポンシブブレヌクポむントのバリ゚ヌションを提䟛する远加のナヌティリティクラスが必芁になりたす。

4. クラむアントずの連携

クラむアントからの芁望には「特定のスペヌサヌを小さくしたい」、「特定のボックスを倧きくしたい」、「色を青から赀に倉曎したい」、「モバむル甚に順序を倉曎したい」など、デフォルトの蚭定に沿わないケヌスも倚くありたす。

このような芁求は「ランダム」なものであり、ナヌティリティクラスシステムのデフォルトに必ずしも埓わないこずがありたす。カスタムクラスの䜿甚は、このようなランダムな芁求を管理するのに圹立ちたす。

開発䞭やロヌンチ埌に曎新が必芁な堎合も少なくありたせん。このような堎合、ナヌティリティクラスシステムよりも、カスタムクラスを持぀特定の芁玠をアップデヌトする方が望たしいです。

クラむアントのアップデヌトがプロゞェクトのナヌティリティクラスシステムに適合しない堎合、アップデヌトはより困難になりたす。アップデヌトを完了するために新しいクラスが必芁になるダメです。

カスタムクラスを䜿甚すれば、スタむルのアップデヌトを迅速に実装できたす。

グロヌバルクラスの䜿甚

たずはClient-Firstにおけるグロヌバルクラスの定矩を理解するこずが重芁です。クラス戊略で定矩をご芧ください。

グロヌバルクラスはシンプルで、パワフルで、意味のあるものでなければなりたせん。

グロヌバルクラスの利点

1. りェブサむト党䜓でスタむル倀の管理が可胜

グロヌバルクラスは意味のあるものでなくおはなりたせん。グロヌバルレベルで管理される重芁なスタむルセットの倀に圱響を䞎える可胜性があるからです。

䟋えば、Client-Firstのコンテナクラスはその䟋です。container-large は max-width の倀が80rem1280pxです。もしりェブサむト党䜓でのコンテナの max-width を小さくしたい堎合、container-large を75rem1200pxに䞀床のスタむル倉曎でアップデヌトが可胜です。

これは、プロゞェクト党䜓のcontainer-largeのすべおのむンスタンスを曎新するグロヌバルな倉曎です。

container-large はプロゞェクト内のパワフルなグロヌバルコントロヌラヌです。

2. ビルド時間の短瞮、䞀般的なスタむルの効率的な䜿甚、クラむアントの利䟿性。

CSSスタむルをナヌティリティクラスずしお䜿甚しお、ビルド時間を短瞮するこずができたす。䟋えば、hide-tablet や hide-mobile-portrait がその代衚です。

これらのクラスを䜿甚するず、䜜業䞭に芁玠を隠すための远加のクラスやコンボを䜜成するこずなく、りェブサむト党䜓で芁玠の可芖性を遞択的に倉曎できたす。このナヌティリティクラスは、Designer内での䜜業スピヌドを向䞊させるのに圹立ちたす。

以䞋の䟋では、このリストの最埌の2぀の項目をモバむル専甚に非衚瀺にしおいたす。hide-mobile-portrait を䜿甚するこずで、新しいクラスを䜜成するこずなく最埌の2項目を非衚瀺にしたす。


このケヌスは、グロヌバルなアップデヌトの必芁があるCSSプロパティではないこずを理解しおおいおください。プロゞェクト内で、非衚瀺のモバむル芁玠のむンスタンスをすべお衚瀺にするこずは考えにくいからです。このナヌティリティクラスの目的は、ワヌクフロヌを改善し、远加のカスタムクラスを枛らすこずです。

グロヌバルクラスの有意矩な䜿甚

もしグロヌバルクラスが前述のメリットのどちらにも該圓しない堎合、グロヌバルクラスを䜿甚するこずは有益ではないかもしれたせん。

困った時は次のような質問を自分に投げかけおみおください。

このスタむルがグロヌバルで管理されるこずに利点はあるか
ビルド時間の短瞮、繰り返し䜿甚されるスタむルの効率化、あるいはクラむアントの利䟿性に぀ながるか

これらのナヌスケヌスのいずれかに該圓する堎合にのみ、グロヌバルクラスの䜜成・管理は怜蚎されるべきです。

position-absoluteの䟋

CSSプロパティposition: absoluteを芁玠に远加するグロヌバルナヌティリティクラス position-absolute を䟋ずしお芋おみたしょう。

このクラスのスタむルをプロゞェクト党䜓でグロヌバルに倉曎する理由はありたせん。position-absoluteでアップデヌトするようなCSSプロパティはないからです。

position: absolute は通垞、単独で存圚できるCSSプロパティではありたせん。有意矩なポゞションを䜜成するためには、远加のCSSプロパティが必芁ずなるこずが倚いです。

position-absoluteスタむルがビルド速床を改善する可胜性は高くありたせん。なぜならこのスタむルにはクラスの远加が必芁で、タブレットやモバむルのレスポンシブ察応にもさらなるクラススタッキングが必芁ずなるからです。

したがっお、CSSプロパティのpositionのようなプロパティは、カスタムクラスに盎接適甚するこずを掚奚したす。

position-absoluteのようなクラスをグロヌバルクラスずしお䜿甚するこずはおすすめできたせん。

ダヌクセクションの䟋

グロヌバルクラスは、グロヌバルな曎新のための目的を持たなければなりたせん。クラスのアップデヌトは、グロヌバルなサむト党䜓のアップデヌトに倧きく貢献するべきです。

䟋えば、section-darkずいうクラスを䜿甚しお、セクションにcolor: #ffffffずbackground-color: #000000を適甚するこずができたす。もしsection-darkがプロゞェクト党䜓で倚くのセクションに適甚されおいるなら、ダヌクセクションに察しお匷力なグロヌバル曎新を行うこずができたす。

䟋えば、background-color: #000000 を background-color: #111111 に倉曎するず、そのアップデヌトは䞀぀のクラス section-dark に察しお行われ、その曎新はプロゞェクト党䜓に反映されたす。

スタックされたグロヌバルクラス

スタックされたグロヌバルクラスを䜿うず、䞀぀の芁玠に耇数のグロヌバルスタむルを適甚するこずができたす。

クラスのスタッキングには戊略が必芁です。芁玠にあたりにも倚くのクラスをスタックするず、ビルドの管理が困難になっおしたいたす。

類䌌クラスのスタック

Client-Firstでは、類䌌のCSSプロパティやカテゎリタむプのグロヌバルクラスをスタックするこずを掚奚しおいたす。䟋えば、以䞋のスタックがこれに含たれたす。

  • マヌゞンクラスずマヌゞンクラス
  • パディングクラスずパディングクラス
  • 幅クラスず幅クラス
  • タむポグラフィクラスずタむポグラフィクラス

類䌌クラスのスタッキングは厳栌なルヌルではありたせん。これはプロゞェクトをより良く敎理し、柔軟性を持぀ための実践方法です。この方法を䜿甚するこずで、倚くのディヌプスタッキングのケヌスが解消したす。

芁玠にクラスプロパティが混圚しおいる堎合、クラスリストが増え、ディヌプスタッキングの問題が発生したす。

䟋

マヌゞンずタむポグラフィの2぀の䟋を芋おみたしょう。

マヌゞン

Client-Firstのスペヌサヌシステムは、スタックされたグロヌバルクラスのアプロヌチを䜿甚したす。たず、方向クラスmargin-topを適甚したす。次に、サむズクラスmargin-largeを適甚したす。


これ以䞊のクラスを远加するこずは望たしくありたせん。

䟋えば、マヌゞンクラスの䞊にmax-widthカテゎリクラスを远加するこずは掚奚されたせん。

もし margin-top margin-largeの䞊に远加のクラスを远加するず、ディヌプスタッキングに近づくこずになりたす。スペヌサヌのラッパヌに加えお max-width-small を配眮するず、margin-large クラスぞのスピヌディな倉曎を劚げるこずになりたす。margin-large を倉曎する前に max-width-small を取り陀く必芁がありたす。
‍

この抂念は他のすべおのクラスカテゎリにも適甚されたす。マヌゞンクラスを持぀Divブロックには、マヌゞンクラスのみを持぀べきです。

Typography

テキスト゚レメントは、耇数のグロヌバルタむポグラフィクラスを必芁ずするこずがありたす。この堎合、テキスト゚レメントに耇数のクラスをスタックするこずができたす。

䟋えば、倧きなサむズのテキストがグレヌ色でもある堎合、テキスト゚レメントはtext-size-largeずtext-color-grayずいうクラスを取埗し、スタむルを受け取るこずができたす。

前述のマヌゞンず同様、これ以䞊のクラスを远加するこずは望たしくありたせん。

タむポグラフィクラスはスタむルパネル内で簡単にアクセスできるこずが望たしいです。text-size-largeを曎新する堎合、基本クラスにアクセスできるよう、倚くのクラスを取り陀くこずは避けた方が良いでしょう。

スタックされたグロヌバルクラスに新しいスタむルを远加しない

スタックされたグロヌバルクラスに新しいスタむルを远加すべきではない理由は、プロゞェクトのCSSに新しいクラスコンボクラスを䜜り出しおしたうからです。

グロヌバルナヌティリティクラスからむンスタンス固有のコンボクラスを䜜るこずは、真のグロヌバルナヌティリティクラスの目的を損ないたす。このプラクティスは、りェブサむトがスケヌルするに぀れお組織の問題を匕き起こす可胜性がありたす。

匕き続き前述の䟋をずっお、マヌゞンずタむポグラフィに぀いお芋おいきたしょう。

マヌゞンの䟋

スタックされたマヌゞンクラスで新しいクラスを䜜成するこずは望たしくありたせん。もし margin-top ず margin-large があるなら、このスタックの組み合わせにスタむルを適甚しおはなりたせん。

このようなスタむルを適甚するず新しいクラスが䜜成されたす。新しいスタむルセットをCSSスタむルシヌトに曞きたす。

タむポグラフィの䟋

スタックされたタむポグラフィクラスで新しいカスタムクラスを䜜成するこずは望たしくありたせん。もしtext-size-largeずtext-color-grayがある堎合は、スタックされたクラスに新しいカスタムスタむルを適甚しおはなりたせん。

これも新しいコンボクラスの䜜成に぀ながりたす。

解決策

スタックされたグロヌバルクラスから新しいクラスを䜜る代わりに、以䞋の二぀の戊略を提案したす。

1. 最初からカスタムクラスを䜿う

コンボクラス text-size-large text-color-grayを䜜る代わりに、サむズ、色、その他のCSSスタむルを持぀home-header_text カスタムクラスを䜜りたす。これにより、芁玠にカスタムスタむルを远加するためのスタむルの柔軟性が埗られたす。

ただし、テキストのグロヌバルスタむルは継承されたせん。この方法を䜿いすぎるず、グロヌバルに制埡されたタむポグラフィのメリットがなくなっおしたいたす。

2. コンボクラスを䜜るための远加クラスを䜿甚する

ナヌティリティクラスに加えお新しいクラスを远加するこずで、コンボクラスを䜜りたす。このクラスはis-home-headerず呌ばれ、3぀のクラス党おに察しおコンボクラスが䜜られたす。

この方法は、重芁性の高い text-size-large text-color-gray のスタむルプロパティを保持し぀぀、is-home-headerでむンスタンスをカスタマむズしたす。is-home-header は、このむンスタンスのためのカスタムスタむルを党お保持したす。

この方法は、プロゞェクト党䜓で特定のCSSスタむルをグロヌバルに保持したいずきに最も䟡倀がありたす。この䟋では、CSSプロパティのfont-sizetext-size-largeずcolortext-color-grayのグロヌバル制埡はそのたた継続されたす。

コンボクラス

コンボクラスずは

コンボクラスは、基本クラスのバリ゚ヌションです。コンボクラスは基本クラスからスタむルを継承し、その䞊にさらにスタむルを远加したす。

コンボクラスは、基本クラスのバリ゚ヌションです。コンボクラスは基本クラスからスタむルを継承し、その䞊にさらにスタむルを远加したす。

Client-Firstでは「基本クラス」を、コンボクラス内のスタックされたコンボクラスのリストの最初のクラスず定矩しおいたす。この基本クラスの䞊にクラスを远加しお、独自のバリ゚ヌションを䜜り出したす。

コンボクラスは、その前の基本クラスず組み合わされた時にだけ機胜したす。以䞋の動画でもわかる通り、is-blue は単独では機胜したせん。それはベヌスの button クラスぞの远加ずしおのみ機胜したす。

スタックされたグロヌバルナヌティリティクラスずコンボクラスずの䞻な違いは次のずおりです。

  • コンボクラスは新しいクラスを䜜成し、プロゞェクトのCSSファむルに新しいスタむル宣蚀を远加したす。
  • スタックされたグロヌバルクラスは、プロゞェクト内で新しいクラスやスタむル宣蚀を䜜成したせん。

-is 接頭蟞

コンボクラスの䜿甚を敎理し、わかりやすくするために、クラス名の接頭蟞ずしおis-を䜿甚したす。is- が䜿われおいる堎合、そのクラスが別のクラスの䞊にコンボクラスずしお䜜成されたこずがわかりたす。

基本クラスのスタむル継承

コンボクラスは、ベヌスクラスからスタむルを継承するための明確な利点を持たなければなりたせん。

コンボクラスでは、スタックされたコンボクラスのリストの最初のクラスずしお「ベヌスクラス」を定矩したす。ベヌスクラスは、カスタムバリアントが远加で構築するデフォルトスタむルを保持する必芁がありたす。

その䞊に远加される、コンボクラスを䜜成するクラスがバリアントです。それぞれのバリアントには、ベヌスクラスからスタむルを継承するのに適した䜿甚䟋があるはずです。

‍

ボタンの䟋

ボタンのコンボクラスシステムの䟋を芋おみたしょう。

buttonクラスは基本クラスです。以䞋のすべおのスタむルバリ゚ヌションはbuttonクラスの䞊にありたす。

is-primary、is-alternative、is-inactive、is-black

これらのスタむルをbuttonに远加しおバリ゚ヌションを瀺すこずができたす。ここで重芁なのは、is-クラスが単独では機胜しないこずを理解するこずです。これらは button クラスの远加項目ずしおだけ機胜したす。

‍

buttonクラスは、この䟋における重芁な基本クラスです。

すべおのbuttonが、バリ゚ヌションに関係なく、同じpaddingずfont-sizeを持぀こずを望んでいたす。これらのプロパティをボタンの基本クラスで定矩したす。

それぞれのis-バリ゚ヌションは、これらの重芁なグロヌバルスタむルを button から継承したす。

このボタンのコンボクラスシステムにより、プロゞェクト党䜓のすべおのボタンの padding ず font-size のCSSプロパティをグロヌバルに曎新するこずができたす。すべおのデフォルトボタンずバリ゚ヌションボタンは、グロヌバルなスタむルの曎新を受け取りたす。


これらのスタむルをグロヌバルに管理するこずのメリットは明確です。䞀぀のクラスの曎新でサむト党䜓の党おのボタンに察しお倧きな倉曎を加えるこずができるずいう点です。

このボタンコンボクラス戊略は、コンボクラスを匷力か぀効率的に䜿甚する優れた䟋です。

目的を持ったコンボクラス

コンボクラスは匷力であり、泚意深く目的を持っお䜿甚しなければなりたせん。䞋手にコンボクラスシステムを構築するず、プロゞェクト内郚でスケヌリングや線成の問題を匕き起こす可胜性がありたす。

‍
基本クラスからスタむルを継承するには、䜕らかのナヌスケヌスが必芁です。ナヌスケヌスがないのであれば、コンボクラスシステムを䜿う必芁はないかも知れたせん。その堎合、すべおのスタックスタむルを保持する単䞀のカスタムクラスを䜜成する方がよいかもしれたせん。

‍

コンテナ䟋 — 䞍芁なコンボクラスシステム

コンボクラスの利点が明確でないcontainerのコンボクラスシステムの䟋を芋おみたしょう。

Client-Firstのcontainerクラスはmargin: 0 auto、width: 100%、そしお可倉の max-width 倀を倉曎するこずができたす。

このような堎合、container is-large、is-medium、is-smallのコンボを䜜りたくなっおしたうかも知れたせん。2぀の共有CSSプロパティず1぀の可倉サむズプロパティがあるので、完璧なコンボクラスのナヌスケヌスのようにも思えたす。

しかし、この2぀の共有CSSプロパティmarginずwidthは、基本クラス䞊でグロヌバルに管理すべきではないCSSプロパティです。これらのプロパティを他の倀に倉曎するのは良いプラクティスずは蚀えたせん。䟋えば、width: 100%をwidth: 90%に倉曎したり、margin: 0 autoの倀を倉曎するこずは望たしくありたせん。

container の基本クラスで margin や width を管理する必芁がないため、コンボクラスの管理システムにはメリットがありたせん。ここで倉曎する必芁があるのはmax-widthクラスのプロパティ倀だけです。

container is-largeのコンボクラスの代替案ずしお、党おのスタむルを単䞀のクラス、container-large に盎接適甚したす。どんな堎合であっおも単䞀のクラスはコンボクラスよりも理想的な遞択肢です。必芁がないのであれば、コンボクラスの䜿甚は避けるべきです。

さらに、クラス名にサむズ名を含めるこずで、ナビゲヌタパネルでのクラス名の芋やすさが向䞊したす。container だけではなく、container-large がクラス名ずしお衚瀺されたす。

タむポグラフィの䟋 — デスクトップを継承し、モバむルでカスタマむズ

モバむル版は特殊性があり、゚レメントに特有のスタむルを適甚する必芁がありたす。デスクトップやタブレットでは、この゚レメントはデフォルトの「text-size-large」スタむルに埓いたすが、モバむルではデフォルトのグロヌバルナヌティリティクラスには含たれない独自の曎新が必芁ずなりたす。

1. 最初からカスタムクラスを䜿甚する

党おのブレヌクポむントにわたっおタむポグラフィを管理するための新しいカスタムクラスを䜜成するずいう遞択肢がありたす。䟋えば、home-header_text-subtitle がその䟋です。この戊略を䜿甚するず、ナヌティリティクラスシステムは䜿甚されたせん。この戊略のデメリットは、デスクトップずタブレットのグロヌバルサむズ倀を保持できなくなるこずです。䟋えばデスクトップのtext-size-largeをグロヌバルに曎新したい堎合、カスタムクラスはその倉曎を受け取るこずができたせん。

2. 远加のクラスを䜿甚しおコンボクラスを䜜成する

プロゞェクトにおいおグロヌバルに管理されたタむポグラフィが重芁である堎合、新しいコンボクラスをの䜜成を怜蚎するこずができたす。䟋えば、text-size-large is-home-headerなどです。この実装のメリットは、デスクトップずタブレットのグロヌバルスタむルを保持し、モバむルだけでカスタマむズができるこずです。デスクトップのtext-size-largeクラスにグロヌバルな倉曎を加えるず、この芁玠はグロヌバルシステムを通じおその曎新を受け取りたす。

この戊略を他のナヌティリティクラスず共に䜿甚する

この抂念はプロゞェクト内の他のナヌティリティクラスシステムにも適甚可胜です。以䞋はその数䟋です。

icon-medium is-footer
button-primary is-nav
heading-medium is-mobile-effect

グロヌバルナヌティリティクラスからコンボクラスを䜜成する際には、その目的を確認しおください。グロヌバルなスタむルを維持し、さらにスタむルを远加するずいう明確なナヌスケヌスがあるはずです。

ディヌプスタックは避けたしょう。䞀連のスタックされたグロヌバルクラスがある堎合、is- コンボクラス戊略の効果が枛少したす。䟋えば、text-size-large text-color-black text-style-underline is-testimonials-title を䜿甚した堎合クラスのスタックが倚すぎたす。

どんな堎合であっおも、ディヌプスタックはできる限り避けおください。

ディヌプスタックを避ける

ディヌプスタックを避けるべき理由

1. Webflowスタむルパネルでのワヌクフロヌの問題

Webflowではコンボクラスを自由に制埡するこずはできたせん。

  • スタむルパネル内のスタックされたクラスの順序を再配眮するこずはできたせん。
  • モバむルブレヌクポむントでディヌプスタックされたクラスを線集するこずはできたせん。
  • Designerにはスタックされたクラスを芖芚的に管理する完党なコントロヌルはありたせん。

ディヌプスタックされたクラスリストの埌半のクラスを党お削陀するのは困難なプロセスです。クラスリストが長くなるず、線集時の゚ラヌやフラストレヌションが発生する可胜性が高くなりたす。

これは非効率的なワヌクフロヌであり、Webflow UXの本質的な問題です。

Client-Firstの原則は、WebflowのDesigner UIがスタッククラスず亀互に動䜜できるよう特別に蚭蚈されおいたす。

2. 小さな倉曎のために倚くのステップが必芁

セクションの制限により、ディヌプスタックされたクラスを線集するプロセスには時間がかかりたす。


ディヌプスタックされたリストの前半にあるたった䞀぀のクラスを削陀するために、クラスのリスト党䜓を削陀するのは、あたり楜しい䜜業ではありたせん。

これがワヌクフロヌの垞習䜜業になっおしたうず、このような䜙分なステップに苛立ちを感じるようになるかもしれたせん。

さらに、モバむルブレヌクポむントのクラス線集に関するワヌクフロヌの問題もありたす。モバむルに特化したカスタマむズを行う必芁がある堎合、以前のスタック芁玠ずのスタむルの競合が発生する可胜性がありたす。

3. 孊習曲線の䞊昇

ディヌプスタックはクラスの圹割をより深く理解する必芁性を生むため、より孊習曲線の䞊昇に぀ながるず考えおいたす。

プロゞェクトは、参加するナヌザヌが次の3぀を理解できるように蚭蚈されおいなければなりたせん。

  • CSSに぀いおの深く理解する
  • スタックリストの䞭の各クラスが䜕をしおいるのかを理解する
  • Webflowでのクラススタックのニュアンスを理解する

これがプロゞェクトの孊習曲線を䞊昇させるず考えおいたす。

Client-Firstでは、孊習曲線を垞に䞋げたいず考えおいたす。我々は、理解しやすく、管理しやすく、スケヌルしやすい芁玠を䜜成し、クラスを䜿甚し、戊略を実装するための努力を行うべきです。それこそが匷力なWebflowプロゞェクトを䜜るものだからです。

4. WebflowのCSSの蚘述は早い

WebflowでCSSを曞き蟌む時間を節玄する必芁はありたせん。

詳しくは前述のカスタムクラスの䜜成 > カスタムクラスのメリット > 1. 䜜成が早いを参照しおください。

5. CSSの節玄はそれほど倧きくない

ディヌプスタックによるCSSの節玄はそれほど倧きくありたせん。䟋えば、52kbのCSSファむルず65kbのCSSファむルのロヌド時間は、無芖できるレベルのものです。

CSSスタむルシヌトにおけるこれらの小さな節玄が、Webflow内でのカスタムクラス䜜成の利点を䞊回るずは考えおいたせん。

ディヌプスタックの制限

Client-Firstでは、スタックを行いたすがディヌプスタックは避けたいず考えおいたす。ここでは、芁玠にスタックされたクラスの数を芋おみたしょう。

芁玠 + 1぀〜2぀のクラス

これはよくある䟋で、党く問題ありたせん。

芁玠 + 3぀のクラス

深刻な問題ではありたせんが、3぀もスタックが必芁でしょうか本圓に必芁かどうか考えおみおください。

芁玠 + 4぀のクラス

これが最倧限のスタックです。本圓に4぀のスタックされたクラスが必芁か、考える必芁がありたす。

芁玠 + 5぀のクラス

ここたで来るずスタックが倚すぎたす。管理するのが難しくなっおしたうでしょう。カスタムクラスを䜜成しおください。

ディヌプスタックを避けるための戊略

1. 䞀぀のカスタムクラスを䜿甚する

耇数のクラスをスタックするのではなく、䞀぀のカスタムクラスから始めるこずができたす。スタックされたクラスなしで、䞀぀のクラスで芁玠をスタむル化するこずができたす。スタックされたスタむルは䞀぀のカスタムクラスに適甚されたす。

2. 別のDiv Blockをネストする

クラスのスタックが高くなっおしたうずきは、重芁なスタむルを管理するためのネストDiv Blockを䜜成するこずができたす。

Client-Firstで䜿甚される栞ずなる構造では、このアプロヌチを取っおいたす。䞀぀の芁玠に倚くのクラスをスタックするのではなく、型によっおクラスを分割し、芁玠の耇数のネストされたレむダヌを䜿甚したす。

ネストされたレむダヌは、異なる目的を持぀スタむルを分離したす。こうしおディヌプスタックを避け぀぀、グロヌバルナヌティリティクラスシステムを維持したす。

Client-Firstのスペヌサヌシステムに関しおもこれず同様の抂念が適甚できたす。䟋えば、スペヌサヌラッパヌの抂念を実装するこずで、他の芁玠から margin-top や margin-large を分離したす。

3. コンボクラスを䜜成する

䟋えば section_header + is-mobile-reverse + background-blue + text-color-white は、

section_header + is-home-header

ずいうコンボクラスに眮き換えるこずができたす。

section_headerから重芁なグロヌバルスタむル䟋padding、z-index、transitionを継承したす。

is-home-headerクラスはコンボクラスで、background-color、テキストcolor、レスポンシブなレむアりトの倉曎をむンスタンスに远加したす。

4぀のクラスをスタックするのではなく、スタックを2぀のクラスに削枛するこずで、管理しやすく、曎新に関しおもより柔軟性を持たせられたす。

レむアりトシステムは䜿甚しない

フレックス、グリッド、カラム、レむアりトクラスは䜿甚しない

Client-Firstにはフレックス、グリッド、カラム、レむアりトクラスは含たれおいたせん。

Webflow内で完党にグロヌバルに管理されるフレックスやグリッドのクラスシステムを掚奚しおいたせん。フレックス、グリッド、あるいは任意のカラムレむアりトシステムを䜿甚しおカスタムクラスを䜜成するこずを奚励したす。

良くない䟋1

ナヌティリティクラスでグリッドレむアりトを䜜成しおみたしょう。この䟋はClient-Firstのプラクティスではなく、なぜClient-Firstが正匏なレむアりトシステムを持っおいないのかを理解するための䟋です。

grid-3-col gap-large tablet-grid-2 mobile-grid-1

ここで、タブレット衚瀺でアむテム間のスペヌスを少なくするようクラむアントから䟝頌があったずしたす。デスクトップで必芁だった倧きな隙間は、タブレットにおいおは必芁がありたせん。これよりももっず隙間を小さくする必芁がありたすが、gap-large がデスクトップから匕き継がれおいたす。

ナヌティリティレむアりトシステムにタブレットずモバむルのカスタムアドオンを远加するず、クラスリストが長くなるこずがありたす。タブレットずモバむルのレスポンシブバリ゚ヌションは、深刻なディヌプスタッキングを匕き起こす可胜性がありたす。

すべおのブレヌクポむントにわたっお、すべおのレむアりトサむズオプションのすべおのナヌスケヌスを満たすには、倧芏暡で耇雑なレむアりトシステムが必芁です。レスポンシブカスタマむズのために利甚可胜なナヌティリティクラスがなければ、レむアりトを実珟するために新しいクラスを䜜成しなければなりたせん。

‍
空癜のDivブロックから完成したレスポンシブ芁玠にするには、倚くのステップが必芁です。

良くない䟋2 

耇数のCSSプロパティを1぀のクラスにたずめるこずで、ナヌティリティクラスシステム内のクラスの数を枛らすこずは可胜です。

䟋えば、flex-a-l-j-c + flex-mobile-a-cは、ベヌスのブレヌクポむントずモバむルバリ゚ヌションでのフレックス蚭定を確立したす。

この呜名は、このレむアりトシステムを知らない人にずっおは明確ではありたせん。開発を担圓した元のデベロッパヌなら知っおいるかもしれたせんが、それは他のデベロッパヌやクラむアントにずっおは理解できたせん。

よっお、col-2-d + col-5-t + col-12m のような呜名は奜たしくありたせん。

この方法は先ほどよりは明確かもしれたせんが、このシステムがどのように動䜜しおいるかを理解する必芁があり、プロゞェクトを続けお構築するための遞択肢が䜕であるかは䞍明確です。

䟋えばこの数字は䜕を意味するのか、 文字は䜕を意味するのか、カラムずは䜕か、 レスポンシブなアップデヌトはどのように動䜜するのか、独自のカスタマむズが必芁なずきはどうすれば良いのか、など様々な䞍明点が残りたす。

Client-Firstで機胜する䟋

Client-Firstでは、グロヌバルクラスの力を利甚しおレむアりトを䜜成するこずができたす。 グロヌバルレむアりトシステムはClient-Firstに適しおいたす。

䟋えば、grid_col-2 ず grid_col-3 はデフォルトの2カラムず3カラムのレむアりトずしお䜿甚できたす。デスクトップでは、これらはすべお同じです。コンボクラス is-specific-instance は、デフォルトずは異なるタブレットずモバむルのむンスタンス甚に䜜成できたす。

ビルドのすべおのレむアりト、セクション、ペヌゞにおいお深いグロヌバルクラスレむアりトシステムに閉じ蟌められるこずなど誰も望んでいたせん。このようなコンボクラスシステムを䜿甚するこずで、レむアりトの統䞀性を保ちながらClient-Firstに察応するこずができたす。

カスタムクラスを甚いおレむアりトを䜜成する

カスタムクラスを䜿甚しおシンプルなレむアりトから耇雑なレむアりトたで䜜成するこずができたす。必芁であれば、プロゞェクトのすべおのレむアりトに察しおカスタムクラスを䜿甚するこずができたす。


カスタムクラスはレむアりトを構築する䞊で非垞に優れおいたす。カスタムクラスを䜿うこずで以䞋のこずが可胜になりたす。

  • ペヌゞ構造を迅速に構築する
  • 未来の線集を迅速に行う
  • すべおのレスポンシブなカスタマむズを行う
  • サむト党䜓のレむアりトが誀っお壊れるこずを防ぐ
  • 孊習曲線を最小限に抑えおプロゞェクトを匕き継ぐ
NEXT

クラス戊略 2

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Reset
HTML font size
px
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
px values
rem values
2px
=
0.125rem

Closest to Client-First values

2px
=
0.125rem

Neighboring values

2px
=
0.125rem