検索

  • 更新日: 2015 年 4 月 25 日
  • バージョン: 2015.04.25.00
  • 改訂版: Pan Tao

過去の改訂

  • 2015-04-25: 最初の新しい改訂版、Pan Tao

標準コンテンツ

構文

  • タブ文字を置き換えるには 2 つのスペースを使用します。これが、すべての環境で一貫したプレゼンテーションを保証する唯一の方法です。
  • セレクターをグループ化するときは、個々のセレクターを独自の行に配置します。
  • コードを読みやすくするために、各宣言ブロックの左中括弧の前にスペースを追加します。宣言ブロックの右中括弧は、単独の行に置く必要があります。
  • 各宣言文の : の後にスペースを挿入する必要があります。
  • より正確なエラー報告を行うには、各ステートメントを独自の行に配置する必要があります。
  • すべての宣言ステートメントはセミコロンで終わる必要があります。最後の宣言ステートメントの後のセミコロンはオプションですが、省略するとコードでエラーが発生しやすくなる可能性があります。
  • カンマ区切りの属性値の場合、各カンマの後にスペースを挿入する必要があります (例: box-shadow)。
  • rgb()、rgba()、hsl()、hsla()、rect() 値内のカンマの後にスペースを挿入しないでください。これは、複数の色の値 (カンマのみ、スペースなし) を複数の属性値 (カンマとスペース) から区別するのに役立ちます。
  • 属性値またはカラーパラメータの場合、1 未満の小数の先頭の 0 を省略します (例: 0.5 の代わりに .5、-0.5px の代わりに -.5px)。
  • 16 進数値はすべて小文字にする必要があります (例: #fff)。小文字は、その形が区別しやすいため、原稿をスキャンするときに読みやすくなります。
  • 短縮された 16 進値を使用するようにしてください。たとえば、#ffffff の代わりに #fff を使用します。
  • セレクター内の属性に二重引用符を追加します (例: input[type="text"])。場合によってはオプションですが、コードの一貫性を保つために二重引用符を使用することをお勧めします。
  • 0 の値に単位を指定することは避けてください。たとえば、margin: 0px; の代わりに margin: 0; を使用します。

ここで使用されている用語についての質問については、Wikipedia のカスケード スタイル シートの記事の構文セクションを参照してください。

非推奨

css.selector, .selector.secondary, .selector[type=text] {  padding:15px;  margin:0px 0px 15px;  background-color:rgba(0, 0, 0, 0.5);  box-shadow:0px 1px 2px #CCC,inset 0 1px 0 #FFFFFF}

推奨

css.selector,.selector.secondary,.selector[type="text"] {  padding: 15px;  margin-bottom: 15px;  background-color: rgba(0,0,0,.5);  box-shadow: 0 1px 2px #ccc, inset 0 1px 0 #fff;}

宣言の順序

関連するプロパティの宣言は、グループ化して次の順序で並べる必要があります:

  • 位置決め
  • ボックスモデル
  • グラフィカル
  • ビジュアル
  • を入力
配置により通常のドキュメント フローから要素が削除され、ボックス モデル関連のスタイルもオーバーライドできるため、最初にランク付けされました。ボックス モデルが 2 番目に来るのは、コンポーネントのサイズと配置が決定されるためです。

他のプロパティはコンポーネントの内部にのみ影響を与えるか、プロパティの最初の 2 つのグループに影響を与えないため、後ろにランクされます。

属性の完全なリストとその順序については、「Recess」を参照してください。

@import は使用しないでください

タグと比較して、@import コマンドは追加のリクエストの数が増えるだけでなく、予期しない問題を引き起こします。代替案は次のとおりです:

複数の 要素を使用する

    Sass などの CSS プリプロセッサを介して複数の CSS ファイルを 1 つのファイルにコンパイルする
  • Rails、Jekyll またはその他のシステムを介して提供される CSS ファイルのマージ機能を使用する
  • 詳細については、Steve Souders の記事を参照してください。

非推奨

css.declaration.order {  /* Positioning */  position: absolute;  top: 0;  right: 0;  bottom: 0;  left: 0;  z-index: 100;  /* Box-model */  display: block;  float: right;  width: 100px;  height: 100px;  /* Typography */  font: normal 13px "Helvetica Neue", sans-serif;  line-height: 1.5;  color: #333;  text-align: center;  /* Visual */  background-color: #f5f5f5;  border: 1px solid #e5e5e5;  border-radius: 3px;  /* Misc */  opacity: 1;}
推奨

html<!-- @imports --><style>  @import url("more.css");</style>
メディア クエリの配置

メディア クエリを関連ルールのできるだけ近くに配置します。これらを単一のスタイル ファイルにパッケージしたり、ドキュメントの最後に配置したりしないでください。分けてしまえば、将来的には誰からも忘れられるだけです。典型的な例を以下に示します。 接頭辞付き属性

特定のメーカーの接頭辞付き属性を使用する場合、各属性の値はインデントによって垂直方向に整列され、複数行の編集が容易になります。

Textmate で、[テキスト] → [選択範囲内の各行を編集] (??A) を使用します。 Sublime Text 2 では、選択 → 前の行を追加 (??↑) および選択 → 次の行を追加 (??↓) を使用します。

推奨

css.element { ... }.element.avatar { ... }.element.selected { ... }@media (min-width: 480px) {  .element { ...}  .element.avatar { ... }  .element.selected { ... }}
単一行のルール宣言

宣言が 1 つだけ含まれるスタイルの場合、読みやすさと迅速な編集のために、ステートメントを同じ行に置くことをお勧めします。複数の宣言を含むスタイルの場合も、宣言を複数の行に分割する必要があります。

これを行う際の重要な要素はエラー検出です。たとえば、CSS バリデーターは 183 行目に構文エラーがあることを示します。 1 行に 1 つのステートメントがある場合は、エラーを無視できません。1 行に複数のステートメントがある場合は、エラーを見逃さないように注意深く分析する必要があります。

css.selector {  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15);          box-shadow: 0 1px 2px rgba(0,0,0,.15);}

短縮されたプロパティ宣言

短縮されたプロパティ宣言の使用は、すべての値を明示的に設定する必要がある状況に限定する必要があります。省略された属性宣言の一般的な悪用は次のとおりです:

  • padding
  • margin
  • font
  • background
  • border
  • border-radius

  • 大部分情况下,我们不需要为简写形式的属性声明指定所有值。例如,HTML 的 heading 元素只需要设置上、下边距(margin)的值,因此,在必要的时候,只需覆盖这两个值就可以。过度使用简写形式的属性声明会导致代码混乱,并且会对属性值带来不必要的覆盖从而引起意外的副作用。

MDN(Mozilla Developer Network)上一片非常好的关于shorthand properties 的文章,对于不太熟悉简写属性声明及其行为的用户很有用。

不推荐

css.element {  margin: 0 0 10px;  background: red;  background: url("image.jpg");  border-radius: 3px 3px 0 0;}

推荐

css.element {  margin-bottom: 10px;  background-color: red;  background-image: url("image.jpg");  border-top-left-radius: 3px;  border-top-right-radius: 3px;}

Less 和 Sass 中的嵌套

避免非必要的嵌套。这是因为虽然你可以使用嵌套,但是并不意味着应该使用嵌套。只有在必须将样式限制在父元素内(也就是后代选择器),并且存在多个需要嵌套的元素时才使用嵌套。

无嵌套

css.table > thead > tr > th { … }.table > thead > tr > td { … }

嵌套

css.table > thead > tr {  > th { … }  > td { … }}

注释

代码是由人编写并维护的。请确保你的代码能够自描述、注释良好并且易于他人理解。好的代码注释能够传达上下文关系和代码目的。不要简单地重申组件或 class 名称。

对于较长的注释,务必书写完整的句子;对于一般性注解,可以书写简洁的短语。

不推荐

css/* Modal header */.modal.header {  ...}

推荐

css/* 包裹 .modal-title 与 .modal-close 的外围容器 */.modal.header {  ...}

class 命名(此条暂时未完全定下来)

class 名称中只能出现小写字符和破折号(dashe)(不是下划线,也不是驼峰命名法)。同时,破折号只有在多个单词必须连着同时存在才具有真实意义时使用,用于区分两个不同的单词,例如,.button 与 .danger.button ,但是不允许使用 .danger-button 或者 .button.danger。

不允许使用简写。但 class 名称应当尽可能短,并且意义明确。使用有意义的名称。使用有组织的或目的明确的名称,不要使用表现形式(presentational)的名称。

使用 .js-* class 来标识行为(与样式相对),并且不要将这些 class 包含到 CSS 文件中。

在为 Sass 和 Less 变量命名是也可以参考上面列出的各项规范。

不推荐

css.t { ... }.red { ... }.header { ... }

推荐

css.tweet { ... }.important { ... }.tweet.header { ... }

选择器(此条暂时未完全定下来)

对于通用元素使用 class ,这样利于渲染性能的优化。对于经常出现的组件,避免使用属性选择器(例如,[class^="..."])。浏览器的性能会受到这些因素的影响。

选择器要尽可能短,并且尽量限制组成选择器的元素个数,建议不要超过 3 。
只有在必要的时候才将 class 限制在最近的父元素内(也就是后代选择器)(例如,不使用带前缀的 class 时 -- 前缀类似于命名空间)。

不推荐

cssspan { ... }.page-container #stream .stream-item .tweet .tweet-header .username { ... }.avatar { ... }

推荐

css.avatar { ... }.tweet-header .username { ... }.tweet .avatar { ... }

代码组织

  • 以组件为单位组织代码段。
  • 制定一致的注释规范。
  • 使用一致的空白符将代码分隔成块,这样利于扫描较大的文档。
  • 如果使用了多个 CSS文件,将其按照组件而非页面的形式分拆,因为页面会被重组,而组件只会被移动。
css/* * 组件 */.element { ... }/* * 组件 * * 有的时候也可能一个组件是很复杂的 */.element { ... }/* 组件的子组件 */.element-heading { ... }
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割:Webコンテンツの構造HTMLの役割:Webコンテンツの構造Apr 11, 2025 am 12:12 AM

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTMLとコード:用語を詳しく見るHTMLとコード:用語を詳しく見るApr 10, 2025 am 09:28 AM

htmlisaspecifictypeofcodefocuseduructuringwebcontent

HTML、CSS、およびJavaScript:Web開発者に不可欠なツールHTML、CSS、およびJavaScript:Web開発者に不可欠なツールApr 09, 2025 am 12:12 AM

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

HTML、CSS、およびJavaScriptの役割:コアの責任HTML、CSS、およびJavaScriptの役割:コアの責任Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLは初心者のために簡単に学ぶことができますか?HTMLは初心者のために簡単に学ぶことができますか?Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTMLでの開始タグの例は何ですか?HTMLでの開始タグの例は何ですか?Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

CSSのフレックスボックスレイアウトを使用して、メニューの点線のラインセグメンテーション効果のセンターアラインメントを実現する方法は?CSSのフレックスボックスレイアウトを使用して、メニューの点線のラインセグメンテーション効果のセンターアラインメントを実現する方法は?Apr 05, 2025 pm 01:24 PM

メニューで点線のラインセグメンテーション効果を設計する方法は?メニューを設計するときは、通常、皿の名前と価格の間に左右に合わせることは難しくありませんが、真ん中の点線またはポイントはどうですか...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン