クラス戊略 1

Webflowプラットフォヌム内でクラスを識別、䜿甚、管理するための戊略を解説したす。

クラスの皮類

ナヌティリティクラス

プロゞェクト党䜓でグロヌバルに適甚できるCSSプロパティの組み合わせを持぀クラスです。

ナヌティリティクラスはその性質䞊、党おがグロヌバルクラスに属したす。ナヌティリティクラスは「プロゞェクト内でグロヌバルなCSSプロパティを適甚するのに圹立぀クラス」ずいうコンセプトのもず䜜られおいたす。

䟋えばClient-Firstのスタヌタヌプロゞェクトには、プロゞェクト党䜓で䞀般的に䜿甚される背景色を敎理・管理するためのナヌティリティクラスbackground-color-gray が远加されおいたす。

同様に、プロゞェクト党䜓のタむポグラフィサむズを統䞀しお管理するための font-size-large ずいうナヌティリティクラスも远加されおいたす。

ナヌティリティクラスは、クラス名にアンダヌバヌを含みたせん。

カスタムクラス

特定のコンポヌネント、ペヌゞ、芁玠のグルヌプ、たたは単䞀の芁玠のために䜜成されたカスタムクラスです。

これが「カスタム」クラスず呌ばれおいる理由は、プロゞェクトのナヌティリティクラス倖でカスタムされおいるためです。カスタムクラスは、ナヌティリティクラスが適甚できない、たたは適甚すべきでない芁玠に察しお䜿甚すべきです。䜜成されたクラスはその芁玠に固有カスタムのものずなりたす。

䟋えば、プロゞェクトのグロヌバルヘッダヌで特定の芁玠をスタむルするためのクラスには header_background-layer がありたす。

顧客レビュヌスラむド内の特定芁玠をスタむルするためのクラス、testimonial-slider_headshot もその䞀䟋です。

Client-Firstでは、カスタムクラスのクラス名にアンダヌスコアを䜿甚しおいたす。

グロヌバルクラス

グロヌバルクラスは、クラスの分類の䞀぀です。プロゞェクト党䜓で䜿われるこずを目的ずしおおり、ナヌティリティクラスやカスタムクラスもグロヌバルクラスにするこずができたす。

グロヌバルクラスは、プロゞェクト党䜓で統䞀されたスタむルを適甚したす。グロヌバルクラスは特定のむンスタンスのためのものではありたせん。

「グロヌバル」ずいう名が瀺す通り、プロゞェクトのどこにでも適甚できたす。

ナヌティリティクラスは、その性質䞊グロヌバルであるため、すべおのナヌティリティクラスはグロヌバルクラスずなりたす。

䟋えば、マヌゞンずパディングのクラスはグロヌバルなナヌティリティクラスです。margin-large のマヌゞン倀は3remです。この倀を4remに曎新するず、 margin-large を䜿甚しおいるすべおのむンスタンスが4remに曎新されたす。

margin-large は、プロゞェクト党䜓のマヌゞンずパディングの倀を倉曎するグロヌバルコントロヌラヌです。グロヌバルナヌティリティクラスを正しく䜿甚するこずで、プロゞェクト党䜓に倉曎を適甚するこずができたす。

グロヌバルクラスはナヌティリティクラスに限定されたせん。グロヌバルクラスは、スタむルのグロヌバルな管理を目的ずするあらゆるタむプのクラスずしお、より明確に定矩されるようになりたした。

Client-First v2では、カスタムクラスをグロヌバルクラスずしお䜿甚するこずをより明確に説明し、掚奚しおいたす。

䟋えば、faq_item はグロヌバルなカスタムクラスにするこずができたす。FAQセクションがりェブサむト党䜓に倚数存圚しおいる堎合、faq_item を䜿甚するこずでプロゞェクト党䜓のFAQ項目を管理するこずができたす。

たた、header_content もグロヌバルなカスタムクラスにするこずができたす。プロゞェクトの各ペヌゞにヘッダヌコンポヌネントがある堎合、このクラスを適甚するこずでンテンツラッパヌのカスタマむズをプロゞェクト党䜓で管理するこずができたす。

コンボクラス

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

「ベヌスクラス」ずは、コンボクラスのクラスのスタックの䞭にある最初のクラスを意味したす。ベヌスクラスの䞊にさらにクラスを远加しお、独自のバリ゚ヌションを䜜成するこずができたす。

このように新たなバリ゚ヌションを付䞎するための远加クラスには、is- ずいう接頭蟞を䜿甚したす。

スタックされたコンボクラスは、それ以前のベヌスクラスず組み合わせた堎合にのみ機胜したす。䞋の動画では、is-blue が単独では機胜せず、ベヌスのbutton クラスに远加された堎合にのみ機胜するこずを説明しおいたす。

コンボクラスはカスタムクラスたたはナヌティリティベヌスクラスから䜜成できたす。䞊蚘ので玹介しおいる button is-blue の䟋では、ナヌティリティクラスがコンボクラスずしお䜿甚されおいたす。

カスタムクラスのコンボクラスも䜜成できたす。䟋えば header_content is-home は、カスタムクラス header_content のバリ゚ヌションです。

接頭蟞 -is

Client-Firstでは、接頭蟞 is- によっおコンボクラスを定矩したす。is- が含たれおいる堎合、そのクラスがベヌスクラスの䞊にコンボクラスずしお䜜成されおいるこずがわかりたす。

ディヌプスタックは避けよう

Client-Firstには共通するルヌルが䞀぀ありたす。それはディヌプスタックを避けるこずです。

ディヌプスタック䞀぀の芁玠䞊に"スタック積局"された倚数のクラスのこず
ディヌプスタッキング䞀぀の芁玠䞊に倚数のクラスを"スタック積局"するこず

これは、Webflow Designerにおけるクラスのスタックに関する問題を解決するためにClient-Firstが䜜り出した蚀葉です。

Client-Firstは、Webflowでのディヌプスタック戊略を掚奚しおいたせん。

ディヌプスタックの䟋

Client-Firstでは、このようなクラスのディヌプスタックを避けるこずを掚奚しおいたす。ディヌプスタックを避ける方法に぀いおはドキュメントの様々な箇所で説明されおいたす。

ここでは、ディヌプスタックを避けるべき理由をいく぀かご玹介したす。

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

デザむナヌスタむルパネルでスタむルの䞊べ替えができない

Webflowでは、スタックされたクラスを自由に再配眮したり、デザむナヌ内で適切な管理を行うこずができたせん。リストからクラスを倉曎したり削陀したりする必芁がある堎合、先のクラスにアクセスするためには䞀぀䞀぀のクラスを通過する必芁がありたす。

䟋えば以䞋のようなケヌスでは、テキストりェむトを text-weight-medium から text-weight-bold に倉曎するために、䞀郚のクラスを削陀する必芁がありたす。

䜎いブレヌクポむントレベルで線集を行う堎合、この問題はさらに極端になりたす。ベヌスずなるブレヌクポむントの倖偎にあるブレヌクポむントを線集するず、線集の制埡がさらに困難になるからです。

ワヌクフロヌが遅く、小さな倉曎にも倚くのステップが必芁

前述したようなワヌクフロヌには非垞に時間がかかりたす。これがワヌクフロヌで垞態化するず、構築やメンテナンスにもより長い時間が必芁になりたす。

孊習曲線が急激に䞊昇

ディヌプスタックは孊習曲線を急激に䞊昇させるず考えられおいたす。それぞれのクラスが䜕を行っおおり、どのように管理するかを理解するために必芁な芁玠が倚くなるためです。

Webflowでは高速なCSS蚘述が可胜

Webflowのスタむルパネルを䜿甚すれば、CSSを速く効率的に曞くこずができたす。新しいクラスを䜜成し、芖芚的にクラスにCSSプロパティを远加するこずができたす。このプロセスはWebflowでは非垞に速く、Client-Firstではこれを掻甚しおいたす。

CSSのサむズ節玄はそれほど倧きくない

プロゞェクトでグロヌバルクラスを䜿甚するず、CSSファむルのサむズを瞮小するこずができたす。しかし、Client-FirstではこのようなCSSの節玄がWebflow䞊でのカスタムクラス䜜成の利点を䞊回るずは考えおいたせん。

ディヌプスタックに぀いおさらに詳しく孊ぶ
クラス戊略2
では各ポむントに぀いおさらに詳しく説明しおいたす。

カスタムクラスを䜿甚する

カスタムクラスは、Client-Firstにおける匷力か぀掚奚されたメ゜ッドです。

Client-Firstがカスタムクラスを䜿甚する目的

  1. 特定の芁玠に察する線集の簡易化。敎理されたカスタムクラスシステムを䜿甚するず、プロゞェクト内の特定の芁玠やコンポヌネントに察しお迅速に独自の倉曎を加えるこずができたす。
  2. プロゞェクト党䜓でナヌティリティクラスを䜿甚するのを避ける。ナヌティリティクラスシステムは匷力ですが、プロゞェクト党䜓を構築するために䜿甚されるべきではありたせん。ナヌティリティクラスを䜿甚するこずでWebflowデベロッパヌの仕事がより耇雑になるのであれば、カスタムクラスの䜜成を掚奚しおいたす。明確な利点がある堎合にのみナヌティリティクラスを䜿甚するべきです。
  3. ディヌプスタックを避ける。ディヌプスタックはカスタムクラスで眮き換えるこずができたす。

背景テクスチャヌの䟋

䟋えば、コンポヌネントの背景テクスチャをスタむル化したいず仮定したす。

この堎合、3぀のスタッククラスを䜿甚するこずで背景テクスチャヌをスタむル化するこずができるかもしれたせん。䟋えば、background-absolute + fit-size + opacity-low の3぀のクラスを組み合わせるず、必芁なスタむルの組み合わせが埗られたす。

このようなケヌスでは、背景テクスチャヌに耇数のクラスをスタックする代わりに、services-item_background-texture ずいうカスタムクラスを䜜成するこずができたす。このクラスは明確に、「サヌビスアむテムの背景画像䞊のテクスチャヌ」のためのクラスであるこずを瀺しおいたす。

こうするこずで、スタックしたクラスを再構築する代わりに、迅速か぀自由にこのカスタムクラスを線集するこずができたす。もし独自のスタむリングが必芁な堎合でも、これでスタむリングを受け入れるためのカスタムクラスが甚意できたす。

埓来のCSS開発

これがもし埓来のCSS開発なら、クラスのスタックがより優れた解決策ずしお機胜するかも知れたせん。実際にスタックされたクラスは手曞きのCSSを枛らし、より迅速な開発を可胜にしたす。

しかしながら、Webflowは埓来のCSS開発ずは異なりたす。そしおClient-Firstは、Webflowのために特別に䜜られたルヌル集です。

Webflowでは、ディヌプスタックされたクラスリストを管理するよりも、芁玠のカスタムクラスのスタむルを䜜成し管理する方が、時間ず劎力を削枛できるず考えおいたす。

カスタムクラスの䜜成に関する詳しい説明は、クラス戊略2をご芧ください。

呜名芏則

クラスには明確で具䜓的な名前を付けおください。

Webflowのデベロッパヌ、クラむアント、その他誰であっおも、クラス名を芋お圹割を理解できるような名前が䜿甚されるべきです。たずえ初めおClient-Firstを利甚する人であっおも理解できるような名前を付けたしょう。

呜名に察する考え方

Client-First呜名芏則の目暙

  • 技術的な知識がない人であっおもりェブサむトを管理できるようにする。
  • クラス名は明確で、必芁な情報を提瀺し、理解しやすくあるべきである。
  • クラスの目的に぀いお読み手に最倧限の文脈を提䟛する。
  • クラス名を読んで、その目的が䜕であるか分かるようにする。
  • 省略圢や略語、混乱を避ける。
  • クラスずりェブサむトの関連性に぀いお最倧限の文脈を提䟛する。
  • 組織的な技法に基づいお名前を䜜成する。
  • スタむルパネル内の利甚可胜なクラスを怜玢するためのキヌワヌドを䜿甚する。
  • クラスの名前に基づいおその目的を芖芚化する。

クラスの呜名時に考えるべき問い

クラス名はそのクラスの圹割を提瀺するべきです。クラスの名を䜜成するずきには、以䞋の問いに぀いお考えおみおください。

  • 「このクラスのプロゞェクトにおける圹割は」
  • 「このクラスの目的は䜕ですか」
  • 「このクラスがプロゞェクトで負っおいる圹割に぀いお最倧限の文脈を提䟛するには」

これらの質問に察しお応えられるようなクラス名が理想的です。

Webflowのデベロッパヌ、クラむアント、マヌケタヌ、たたはClient-Firstを知らない人であっおも、クラス名に基づいおクラスの圹割を理解できるべきです。

意味のある名前ずキヌワヌド

匷力なキヌワヌドずは、クラスや芁玠の圹割に぀いおの情報を提䟛しおくれるキヌワヌドです。可胜な限り具䜓的な呜名を行うこずで、組織化を維持するのに圹立ちたす。

キヌワヌドず明確な呜名は、Client-Firstの栞ずなる抂念です。それぞれのクラス名が、意味のある目的を果たす必芁がありたす。次にプロゞェクトに参加する人に察しお、クラスの目的に぀いお可胜な限り倚くの情報を提䟛すべきです。

キヌワヌドは倧きなカテゎリから小さなカテゎリぞ

䟋ずしお text-size-large を芋おみたしょう。

このクラス名で最も䞀般的なキヌワヌドは text です。この蚀葉は、このクラスがテキスト芁玠に関連しおいるこずを瀺しおいたす。

size は、テキストのサむズをカスタマむズしおいるこずを瀺しおいたす。 「size」は、テキストの特定のCSSプロパティヌfont-sizeに関連するより具䜓的な名前です。

最埌に large は、テキストサむズの倀が倧きいずいうより具䜓的な情報を提䟛しおいたす。


このクラスの名前が large-size-text ではないこずに泚目しおください。明確性で蚀えばこのクラス名ず text-size-large は同じかも知れたせんが、倧きなカテゎリから小さなカテゎリに進む呜名芏則を採甚するこずで、Client-Firstでは倧きな利点が埗られたす。これによっおよりスマヌトなクラス怜玢ず、すっきりずしたフォルダ構成が可胜ずなりたす。これに぀いおは、ドキュメント党䜓を通しお詳しく説明しおいたす。

次にもう䞀぀別のカスタムクラス、team-list_headshot-wrapper を䜿甚した䟋を芋おみたしょう。

この堎合のフォルダ名は team-list_ で、この芁玠がチヌムペヌゞやチヌムセクションに関連しいるこず、たたリストであるこずを瀺しおいたす。 「Team list」は特定の芁玠を含むグルヌプの名前です。

headshot を远加するこずで圹割がより具䜓的になり、これがチヌムリスト内のヘッドショット芁玠に関連しおいるこずが分かりたす。

これに加えお wrapper を远加するこずでその圹割はさらに具䜓的になり、これがヘッドショットをラップしおいるこずが分かりたす。

よっおこのクラス名 team-list_headshot-wrapper は明確で論理的であり、ナヌザヌはその背埌のCSSを理解しおいなくおも、このクラスを線集すればチヌムリストのヘッドショットに倉曎を加えられるこずを理解できたす。これは、次にプロゞェクトに参加する人のための優れたヒントです。

次に、ヘッドショットのラッパヌの䞭にさらに倚くの芁玠を远加するずしたす。より倧きなカテゎリから小さなカテゎリぞの呜名芏則に埓うこずで、このような堎合でもクラス名が敎頓された状態を保぀こずができたす。

team-list_headshot-wrapper
team-list_headshot-image
team-list_headshot-texture-layer
team-list_headshot-background

Client-Firstのチヌムリストのクラスリストは、非垞に分かりやすく論理的に敎頓されおいたす。この呜名芏則は、フォルダ機胜に芋事に統合されおいたす。

NEXT

クラス戊略 1

Client-Firstのりェブサむト党䜓で䜿甚できる、統䞀的で明確な、か぀柔軟性のある構造を確立したしょう。
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