SMACSS_html/css_WEB-ITnose についての話
SMACSS (Scalable and Modular Architecture for CSS) は「スマックス」と同じように発音されます。フレームワークやライブラリではありません。これは、CSS コードを編成するための単なる方法論 (または、コードを拡張可能にして保守しやすくするための一連の仕様。これにより、チーム開発が容易になります)。人はそれぞれ世界を異なる視点から見ており、その方法論も人によって異なるため、このセットがあなたに適しているとは限りません。
CSS 分類
SMACSS に従って 5 つのカテゴリに分類できます:
-
基本 - 通常、いくつかのデフォルトのスタイル、reset.css、normalize.css など
html, body, form { margin: 0;}input[type=text] { border: 1px solid #999;}a { color: #390;}
ログイン後にコピー -
レイアウト -ルールそれページを複数の部分に分割します。レイアウトには 1 つ以上のモジュールを含めることができます。
.nav {}.footer {}.sidebar {}
ログイン後にコピー -
モジュール - この部分は、ポップアップ ボックスやハンバーガー ボタンなどの再利用可能なモジュール コードです。
.panel {}.panel-body {}
ログイン後にコピー -
状態 - 状態は、レイアウトとモジュールを記述するために使用される特別なスタイルです。
.is-hidden {}
ログイン後にコピー -
テーマ - テーマはさまざまなテーマを定義することです
命名規則
通常、l- 接頭辞はこのクラス名をレイアウトとしてマークするために使用され、is- 接頭辞は状態クラスなどとしてマークされ、モジュール 必要はありません。何でもいいので呼び出してください。
/* Example Module */.example { }/* Callout Module */.callout { }/* Callout Module with State */.callout.is-collapsed { }/* Inline layout */.l-inline { }
属性のグループ化
CSS 属性を変更するとき、多くの場合、ターゲットの属性を肉眼で検索する必要があります。属性が整理されていない場合は、調査にさらに時間を費やす必要があります。 CSS 属性をアルファベット順に配置するプラグインを開発した人がいますが、個人的には、幅と高さを変更する必要がある場合、高さを見つけてから幅を見つける必要があると思います。まだかなり面倒です。通常、このようなパラメータはグループで表示されます。
次の順序で書くことができます:
- Box (表示、浮動小数点、位置、左、上、高さ、幅…)
- ボーダー (ボーダー、ボーダー画像、ボーダー半径…)
- 背景 (背景- color、background-image… )
- Text ( font-family、font-size、text-transform… )
- Other (その他)
セレクターのパフォーマンスの最適化
CSS セレクターは右から左に一致します
body div#content p { color: #003366; }
ブラウザは p 要素を見つけると、div#content のような親要素があるかどうかを調べます。見つかった場合は、一致するまで検索を続け、レンダリングに追加します。ツリー; if 見つからない場合、一致は失敗し、このスタイルは機能しません。
食事をコントロールし、過食に注意してください: 子孫セレクターは非常に便利ですが、上記の分析から、p 要素が見つからない場合は上向き検索を実行する必要があり、これは明らかに非常にコストがかかることがわかります。
次の 3 つのルールに従うと、健康を維持するのに役立ちます:
- サブクラス セレクターを使用します ('>'、IE6 についてはごめんなさい)
- 共通のタグ セレクターの使用を避ける
- 右端のセレクターにはクラス名を使用します
たとえば、DOM に 12 個の H3 がある場合、.module h3 のようなノードの場合、上向きの探索経路は長くなります。 .module > h3 に変更すると、24 個の要素を検索するだけで済みます。
カラー宣言
十分簡潔であるため、3 桁または 6 桁の 16 進数のカラー値を使用するようにしてください。 rgbとhslは少し長めです。もちろん rgba と hsla は 16 進数にはアルファ値がないので避けられません。
ファイル構成
- すべての基本スタイルを個別のファイルに配置します
- レイアウトはファイルのサイズに応じて、複数のファイルに調整するか、同じファイルに配置します
- 各モジュールには個別のファイルがあります
- サブモジュール プロジェクトのサイズに応じて
- グローバル状態は別のファイルに配置されます
- レイアウト、モジュール状態、メディアクエリは対応するモジュールファイルに配置されます
Sassと組み合わせると、ファイルツリーは次のようになります
+-layout/ | +-grid.scss | +-alternate.scss +-module/ | +-callout.scss | +-bookmarks.scss | +-btn.scss | +-btn-compose.scss +-base.scss +-states.scss
そして main.scss で導入された、
@import "base", "states", "layout/grid", "module/btn", ...
は最終的に main.css ファイルを生成します。 jonathanpath の SASS-SMACSS、github アドレスを参照できます
その他のリソース
CSS プリプロセッサ
- LESS
- Sass
その他の方法論
- OOCSS
- BEM
ドキュメント
- フロントエンド スタイル ガイド
- 口ひげは光です環境に左右されない論理的なテンプレート言語です。
- 壁クラック推奨 Hugo Giraudel’s Sass ガイドライン
この記事は SMACSS 電子書籍を購入したので、私の学習メモ + 要点のまとめです。必要に応じて、メール アドレスを残していただければ、電子書籍を共有したり (学習とコミュニケーションのみ)、WeChat QR コードをスキャンして私を友達として追加したりできます。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









この記事では、HTML< Progress>について説明します。要素、その目的、スタイリング、および< meter>との違い要素。主な焦点は、< Progress>を使用することです。タスクの完了と< Meter> statiの場合

この記事では、HTML< Datalist>について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、html< meter>について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化< Meter> < Progress>およびex

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

この記事では、< iframe>外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する
