1. ID ルール
2. クラス ルール
3. タグ ルール
4. 一般ルール
効率性に関する共通の理解は、Steve Souders が 2013 年に出版した「High-Performance Website Construction」から来ています。 2009 「Advanced Guide」から始まり、この本にはさらに詳しく記載されていますが、ここで完全な参考リストを参照することもできます。また、Google の「効率的な CSS セレクターのベスト プラクティス」で詳細を参照することもできます。
この記事では、高パフォーマンスの CSS を作成するために私が使用しているいくつかの簡単な例とガイドラインを共有したいと思います。これらは、MDN によって作成された効率的な CSS ガイドに触発されており、同様の形式に従っています。
1. 過度の拘束を避ける
原則として、不必要な制約を追加しないでください。
// おっと
ul# someid {. .}
.menu#otherid{..}
// OK
#someid {..}
#otherid {..}
2. 子孫セレクターは最悪です
パフォーマンスが低いだけでなく、コードも非常に脆弱で、HTML コードと CSS コードは非常に結合しています。 HTML コードの構造が変更されると、CSS も変更する必要があります。これは大変なことですが、特に大企業では、HTML と CSS を作成する人が同じ人ではないことがよくあります。
// 最悪です
html div tr td {..}
3. チェーン (交差) セレクターを避ける
これは、過剰な制約の状況と似ています。より賢明なアプローチは、単純に新しい CSS クラス セレクターを作成することです。
// おっと
.menu .left. icon {..}
// OK
.menu-left-icon {..}
4. KISS 原則に従う
次の DOM があると想像してください。
対応するルールは次のとおりです...
/ / 悪い
#navigator li a {..}
// 良い
#navigator {..}
5. 複合 (コンパクト) 構文を使用する
可能な限り複合構文を使用します。
// おっと
.someclass {
padding-top: 20px;
padding-bottom: 20px;
padding-left: 10px;
padding-right: 10px;
背景: #000;
背景-画像: url (../imgs/キャロット.png);
背景-位置: ボトム;
背景-リピート: リピート-x;
}
// わかりました
.someclass {
パディング: 20px 10px 20px 10px;
背景: #000 url(../imgs/キャロット.png)repeat-xbottom;
}
6. 不要な名前空間を避ける
// 悪い
.someclass テーブル tr.otherclass td.somerule {..}
// 良い
.someclass .otherclass td.somerule { . .}
7. 不必要な繰り返しを避ける
繰り返しのルールを可能な限り結合します。
// おっと
.someclass {
カラー: 赤;
背景: ブルー;
フォントサイズ: 15px;
}
.otherclass {
カラー: 赤;
背景: 青 ;
font-size: 15px;
}
// OK
.someclass, .otherclass {
カラー: 赤;
背景: blue;
font-size: 15px;
}
8. ルールを可能な限り合理化する
上記のルールに基づいて、さらに、異なるカテゴリの繰り返しルールをマージできます。
// おっと
.someclass {
色: 赤;
背景: 青;
高さ: 150px;
幅: 150px;
font-size: 16px;
}
.otherclass {
カラー: 赤;
背景: 青;
高さ: 150px;
幅: 150px;
font-size: 8px;
}
// OK
.someclass, .otherclass {
カラー: 赤;
背景: 青; 高さ: 150px;
幅: 150px;
}
.someclass {
font-size: 16px;
}
.otherclass {
font-size: 8px;
}
9. 不明確な命名規則を避ける
セマンティクスを表す名前を使用することが最善です。適切な CSS クラス名は、それがどのようなものであるかではなく、それが何であるかを説明する必要があります。
10. !重要な要素を避ける
実際には、他の高品質セレクターも使用できるはずです。
11. 標準的な申告順序に従います
CSS プロパティを並べ替える一般的な方法はいくつかありますが、以下は私が従う一般的な方法です。
.someclass {
/*位置決め */
/* ディスプレイおよびボックス モデル */
/* 背景およびタイポグラフィ スタイル */
/* トランジション */
/* その他 */
}
コードの読みやすさは、保守のしやすさに直接比例します。以下は私が従うフォーマット方法です。
// おっと
.someclass -a, .someclass-b, .someclass-c, .someclass-d {
...
}
// わかりました
.someclass-a,
.someclass -b ,
.someclass-c,
.someclass-d {
...
}
// 良い実践例
.someclass {
背景-画像 :
線形グラデーション(#000, #ccc),
線形グラデーション(#ccc, #ddd); 1px 1px #ddd インセット;
}
明らかに、これらは、より効率的で保守しやすくするために、私が独自の CSS で従おうとしているルールのほんの一部にすぎません。さらに詳しく読みたい場合は、MDN の「効率的な CSS の作成ガイド」と Google の「ブラウザ レンダリングの最適化ガイド」を読むことをお勧めします。

CSSグリッドは、複雑で応答性の高いWebレイアウトを作成するための強力なツールです。設計を簡素化し、アクセシビリティを向上させ、古い方法よりも多くの制御を提供します。

記事では、レスポンシブデザインにおけるスペースの効率的なアラインメントと分布のためのレイアウト方法であるCSS FlexBoxについて説明します。 FlexBoxの使用量を説明し、CSSグリッドと比較し、ブラウザのサポートを詳細に説明します。

この記事では、ビューポートメタタグ、柔軟なグリッド、流体メディア、メディアクエリ、相対ユニットなど、CSSを使用してレスポンシブWebサイトを作成するための手法について説明します。また、CSSグリッドとフレックスボックスを使用してカバーし、CSSフレームワークを推奨しています

この記事では、要素の寸法の計算方法を制御するCSSボックスサイズのプロパティについて説明します。コンテンツボックス、ボーダーボックス、パディングボックスなどの値と、レイアウト設計とフォームアライメントへの影響について説明します。

記事では、CSS、キープロパティ、およびJavaScriptとの組み合わせを使用してアニメーションの作成について説明します。主な問題は、ブラウザの互換性です。

記事では、3D変換、主要なプロパティ、ブラウザの互換性、およびWebプロジェクトのパフォーマンスに関する考慮事項にCSSを使用して説明します。

この記事では、CSSグラデーション(線形、放射状、繰り返し)を使用して、ウェブサイトのビジュアルを強化し、深さ、フォーカス、および現代の美学を追加します。

記事では、CSSの擬似要素、HTMLスタイリングの強化における使用、および擬似クラスとの違いについて説明します。実用的な例を提供します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

WebStorm Mac版
便利なJavaScript開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
