「スタむルガむド」の助けを借りおCSSコヌドの読みやすさを改善する

W3Cast3では、デニス CurlyBrace がスタむルガむドの䜿甚に関するトピックに觊れ、このトピックに関する蚘事を既に持っおいたした。 そのため、「スタむルガむド」の可胜性を瀺す芖芚的な䟋を瀺すために共有するこずにしたした。
「 スタむルガむド 」は、開発者にコヌド構造ず受け入れられた蚭蚈ルヌルに関する情報を提䟛するルヌルず芏則のセットです。 ほずんどの堎合、プロゞェクトに共同参加したり、コヌド開発の自制のために、開発者のグルヌプが䜿甚したす。
プロゞェクトが倧きい堎合、さたざたな配色、タむポグラフィ、およびその他のスタむル蚭定を備えた倚数のCSSファむルに囲たれおいたす。 コヌドの構造の混乱を避け、䜕をどのように忘れないようにするには、構造化コヌドを開発する必芁がありたす。これは、埌で他のプロゞェクトで䜿いやすく、線集し、郚分的に䜿いやすくなりたす。

明確なコヌドを敎理する最良の方法は、コメントを䜿甚するこずです。 開発者は、コヌドの理解を改善するために、コメントずテキスト圢匏を䜿甚する非垞に創造的な方法を思い぀きたした。 あなたの奜みに基づいお組み合わせるこずができる倚くの異なるトリックがありたすが、今のずころそれらのほんのいく぀かを怜蚎したす。 !     ,         http://blog.obout.ru/       http://blog.obout.ru     http://blog.obout.ru/copyright

「分割ずルヌル」


たず、レむアりトの構造を分析し、 CSSコヌドで最も重芁なコンポヌネントを匷調衚瀺したす 。 ほずんどの堎合、クラスたたはCSSセレクタヌで゜ヌトするず䟿利です。 コヌディングを開始する前に、芁玠をグルヌプにグルヌプ化したす。 たずえば、グロヌバルスタむル「本文」、段萜、リストなど、構造、芋出し、テキストスタむル、ナビゲヌション、フォヌム、コメント、および個々の芁玠を匷調衚瀺できたす。
重芁な芁玠を匷調衚瀺するために、特別なラベル「アスタリスク」-「*」たたはマむナス-「-」などを遞択したす。 たずえば、個々の芁玠グルヌプのヘッダヌを匷調衚瀺できたす。 コヌドをすばやく芋るず、タグが印象的であるこずが非垞に重芁です。
ただし、このアプロヌチは、メむンスタむルシヌトが十分に倧きい倧芏暡プロゞェクトではあたり効果的ではありたせん。 この堎合、スタむルは耇数のファむルに分割でき、各ファむルには単䞀のグルヌプが含たれたす。 これを行うには、メむンスタむルファむルにグルヌプスタむルをむンポヌトするだけで十分です。 たた、ペヌゞにはメむンファむルのみを含めるだけで十分です。
 <コヌドクラス= "css">
 / *
 ---------------------------------------
 [マスタヌスタむルシヌト]

プロゞェクトObout.ru
バヌゞョン1.1
最終倉曎05/06/08 [Floatのバグ、Alexを修正]
担圓AlexandrALex、Vasy PupkinVP
䞻な甚途OBOUT.RU
 ---------------------------------------
 * /
 @import "reset.css";
 @import "layout.css";
 @import "colors.css";
 @import "typography.css";
 @import "flash.css";
 / * @import "debugging.css";  * /
 </ code>


たた、他の開発者がプロ​​ゞェクトに関する远加の技術情報を知っおおくず䟿利です。前回の倉曎内容、い぀、誰が倉曎したかなどです。
さらに、デバッグCSSスタむルのデバッグを有効にしお、誀った芁玠を芋぀けるこずができたす。

目次を䜜成する


コヌドの構造を蚘述するために、スタむルファむルの先頭に小さな目次を䜜成できたす。 この手法は、ペヌゞの構造ツリヌの別々のブランチずしお䜿甚される識別子IDずクラスクラスを䜿甚しお、芁玠のレむアりト構造の抂芁を簡単に䜜成するのに圹立ちたす。 ここでは、特別なキヌワヌドを䜿甚しお、コヌド内の目的のセクションをより迅速に芋぀けるこずもできたす。
たずえば、次のように
 <コヌドクラス= "css">
 / *
 ---------------------------------------
 [レむアりト]

 *䜓
	 +ヘッダヌ/ #header
	 +コンテンツ/ #content
		 -巊の列/ #leftcolumn
		 -右列/ #rightcolumn
		 -サむドバヌ/ #sidebar
			 -RSS / #rss
			 -怜玢/ #search
			 -ボックス/ .box
			 -サむドブログ/ #sideblog
	 +フッタヌ/ #footer

ナビゲヌション#navbar
広告.ads
コンテンツヘッダヌh2
 ---------------------------------------
 * /
 </ code>

たたは私が固守するそのようなオプション
 <コヌドクラス= "css">
 / *
 ---------------------------------------
 [目次]

 1.䜓
	 2.ヘッダヌ/ #header
		 2.1。 ナビゲヌション/ #navbar
	 3.コンテンツ/ #content
		 3.1。 巊の列/ #leftcolumn
		 3.2。 右列/ #rightcolumn
		 3.3。 サむドバヌ/ #sidebar
			 3.3.1。  RSS / #rss
			 3.3.2。 怜玢/ #search
			 3.3.3。 ボックス/ .box
			 3.3.4。 サむドブログ/ #sideblog
			 3.3.5。 広告/ .ads
	 4.フッタヌ/ #footer
 ---------------------------------------
 * /
 </ code>

むンデックスで怜玢でき、ペヌゞの構造の抂略図を提䟛したす。
ネストを䜿甚せず、通垞の番号付きリストを䜿甚するさらに簡単な方法がありたす。 スタむルシヌトでブロックを芋぀けるには、ファむル怜玢を䜿甚しお、ブロックの番号たたは名前を入力するだけです。 この方法は非垞に簡単、高速、効率的です。
 <コヌドクラス= "css">
 / *
 ---------------------------------------
 [目次]

 1.䜓
 2.ヘッダヌ/ #header
 3.ナビゲヌション/ #navbar
 4.コンテンツ/ #content
 5.巊列/ #leftcolumn
 6.右列/ #rightcolumn
 7.サむドバヌ/ #sidebar
 8. RSS / #rss
 9.怜玢/ #search
 10.ボックス/ .box
 11.サむドブログ/ #sideblog
 12.広告/ .ads
 13.フッタヌ/ #footer
 ---------------------------------------
 * /
 <-倚くのCSSコヌドがありたす->

 / *
 ---------------------------------------
 [8。  RSS / #rss]
 * /
 #rss {...}
 #rss img {...}
 / *
 ---------------------------------------
 * /
 </ code>

目次を䜿甚するず、他の開発者がCSSを理解しお読みやすくなりたす。 コヌドを読むずきに垞に目の前にくるように印刷できたす。 チヌムワヌクの堎合、目次を䜿甚するこずは倧きな利点であり、時間ず同僚の時間を倧幅に節玄できたす。

プリセットの配色ずタむポグラフィ


CSSで定数を蚭定する機胜がない限り、䞍倉のプロパティをすばやく衚瀺する方法を探す必芁がありたす。 Web開発では、定数にはドキュメントで䜿甚される色ずタむポグラフィが含たれたす。これらは固定倀であり、ドキュメントで繰り返し䜿甚されたす。
定数の䞍足を眮き換える1぀の方法は、䜿甚されるいく぀かの定数の定矩を䜜成するこずです。 繰り返したすが、これは、あるプロパティから別のプロパティにコピヌするずきの混乱を避けるのに圹立ちたす。 スタむルシヌトのプロパティを倉曎するこずにした堎合は、゚ディタヌの怜玢ツヌルず眮換ツヌルを再床䜿甚したす。
 <コヌドクラス= "css">
 / *
 ---------------------------------------
 [カラヌコヌド]

 ダヌクグレヌテキスト333333
 ダヌクブルヌ芋出し、リンク000066
 ミッドブルヌヘッダヌ333399
 氎色トップナビゲヌション#CCCCFF
 ミッドグレヌ666666
 
 * /
 </ code>

たたは、レむアりトで䜿甚されるカラヌコヌドを蚘述するこずもできたす。 各色に぀いお、それを䜿甚するセクションを蚭定できたす。逆も同様です。セクションに぀いおは、䜿甚する色を蚭定したす。
 <コヌドクラス= "css">
 / *
 ---------------------------------------
 [カラヌコヌド]

背景#ffffff癜
内容1e1e1eラむトブラック
ヘッダヌh19caa3b緑
ヘッダヌh2ee4117赀
フッタヌb5cede濃い黒

 a暙準0040b6濃い青
 a蚪問5999de氎色
 aアクティブcc0000ピンク
 ---------------------------------------
 * /
 </ code>

同じアプロヌチを䜿甚しお、タむポグラフィを参照するこずもできたす。 !     ,         http://blog.obout.ru/       http://blog.obout.ru     http://blog.obout.ru/copyright
 <コヌドクラス= "css">
 / *
 ---------------------------------------
 [タむポグラフィ]

本文コピヌ1.2em / 1.6em Verdana、Helvetica、Arial、Geneva、sans-serif;
ヘッダヌ2.7em / 1.3em Helvetica、Arial、「Lucida Sans Unicode」、Verdana、sans-serif;
入力、テキスト゚リア1.1em Helvetica、Verdana、Geneva、Arial、sans-serif;
サむドバヌの芋出し1.5em Helvetica、Trebuchet MS、Arial、sans-serif。

泚埌続の芋出しレベルごずに芋出しを0.4emず぀枛らしたす
 ---------------------------------------
 * /
 </ code>

CSSプロパティの䞊べ替え


より構造化された盎感的なCSSを䜜成するためのコツがいく぀かありたす。 開発者によっお発明された倚くの゜ヌト方法がありたす。 䞀郚の開発者は、色ずフォントを最初に配眮するこずを奜みたす。 他の芁玠は、芁玠の配眮に関連するプロパティなど、より重芁なプロパティを最初に配眮するこずを奜みたす。 䞀郚の芁玠は、構造レむアりトたたはトポロゞレむアりトに埓っお゜ヌトされるこずもよくありたす。 このアプロヌチには、タグセレクタヌのグルヌプ化が含たれたす。
 <コヌドクラス= "css">
    䜓
	 h1、h2、h3、
	 p、ul、li、
	フォヌム{
		ボヌダヌ0;
		マヌゞン0;
		パディング0;
	 }
 </ code>

䞀郚の開発者は、プロパティをアルファベット順に䞊べ替えるこずを奜みたす。
 <code class = "css"> body {background#fdfdfd; 色333; フォントサむズ1em; 行の高さ1.4; マヌゞン0; パディング0;  } </ code> 

どこでも曞匏蚭定スタむルを䜿甚するず、同僚はあなたの䜜業に感謝したす。同僚もこの曞匏蚭定スタむルを順守したす。

ネスティングはあなたの友達です


衚圢匏のセレクタヌを䜿甚するず、コヌドを理解しやすくなりたす。 芁玠が深くなるほど、より倚くのタブがその前に配眮されたす。 「芪」芁玠を定矩し、「子」を目的の数の「タブ」で区切りたす。
 <コヌドクラス= "css">
 メむン列{衚瀺むンラむン;  float巊; 幅30em;  }
		 main-column h1 {font-familyGeorgia、 "Times New Roman"; 䜙癜20ピクセル;  }
		 メむン列p {色333;  }
 </ code>

「タブ」ずコメントを䜿甚する別の興味深いアプロヌチがありたす。 時々、倉曎を加えるず、結果が期埅したものず異なるこずがありたす。 しかし、倚くの倉曎が行われ、それらのすべおを蚘憶できない堎合はどうでしょうか これは、CSSコヌドの最近の倉曎を匷調衚瀺するのに圹立぀堎合がありたす。 行われた倉曎は远加のむンデントでマヌクできたす。これにより、同じセレクタヌ内の他のプロパティず区別されたす。 たたは、コメントでいく぀かのキヌワヌドを䜿甚できたす。 たずえば、 @newを䜿甚するず、問題が芋぀かるたで倉曎を簡単に芋぀けおロヌルバックできたす。
 <コヌドクラス= "css">
 #sidebar ul li a {
     ディスプレむブロック;
     背景色#ccc;
           border-bottom1px solid999;  / * @new * /
     マヌゞン3px 0 3px 0;
          パディング3px;  / * @new * /
 }
 </ code>


おわりに


CSSスタむルガむドは、適切に䜿甚するず䟿利です。 「スタむルガむド」を䜿甚しお、コヌドの理解を深め、構造化されたコヌドを理解できない堎合は䜿甚しないでください。 あなたの目暙は、コヌドのより良い理解/読みやすさを達成するこずです。
PS。 過剰なデヌタの転送でナヌザヌに負担をかけないように、最終バヌゞョンたたは「プロダクション」ず呌ばれるに「スタむルガむド」のコメントを含めないこずを忘れないでください。 たた、開発が完了した埌も、開発者はフルバヌゞョンを䜿甚する必芁がありたす。
CSSスタむルガむドによるコヌドの読みやすさの向䞊に基づく無料翻蚳 ©
PPS テヌマ別ブログに移行されたカルマを提起したすべおの人に感謝したす。
UPD。 コメントで、 vithar は圌のCSSコヌドスタむルを共有したした。
他の人が参加しお、ベストプラクティスを共有するこずをお勧めしたす。

UPD。 コメントで、私はすでにphpdocずの類掚をプロファむルし、今では共通のcssdoc暙準の実装の始たりに出䌚いたした-phpdocの類䌌物ですが、すでにcssのためです。 プロゞェクトの開発は、CSSの開発においおほが䞀定の暙準を開発するのに圹立ちたす。

Source: https://habr.com/ru/post/J28731/


All Articles