ホームページ >ウェブフロントエンド >CSSチュートリアル >長年集めた18のCSSスキル_体験交流
最近、仕事で遭遇する CSS の問題について友人からよく質問されます。彼らは常に CSS をうまく制御できず、CSS の効率に影響を与えます。誰もが CSS をより簡単に使用できるように、エラーを分析してまとめてみましょう。
この記事では、私が CSS レイアウト手法を使い始めてから学んだすべてのテクニックと互換性解決策をまとめています。これらを皆さんと共有したいと思います。特に、初心者がよく犯す間違い (私が犯したものを含む) について説明します。すでに CSS マスターである場合は、これらの経験とスキルをすでにご存知かもしれません。さらにお持ちの場合は、それらを追加するのを手伝っていただければ幸いです。
1. CSS 略語を使用する
略語を使用すると、CSS ファイルのサイズが小さくなり、読みやすくなります。 CSS 略語の主なルールについては、ここでは説明しませんので「一般的な CSS 略語構文の概要」を参照してください。
2. 値が 0 でない場合は、単位を明確に定義します。
CSS 初心者によくある間違いは、サイズの単位を定義することです。 HTML では width="100" と記述するだけで済みますが、CSS では width:100px width:100em のように正確な単位を指定する必要があります。単位を定義しない場合の例外は、行の高さと 0 の値の 2 つだけです。また、単位の後には他の値を指定する必要があります。値と単位の間にスペースを入れないように注意してください。
3. 大文字と小文字を区別する
XHTML で CSS を使用する場合、CSS で定義された要素名は大文字と小文字が区別されます。このエラーを回避するには、すべての定義名に小文字を使用することをお勧めします。
HTML と XHTML では class と id の値も大文字と小文字が区別されます。大文字と小文字を混合して使用する必要がある場合は、CSS での定義が XHTML のタグと一致していることを注意深く確認してください。
4. クラスと ID の前に要素の修飾を解除する
要素のクラスまたは ID を定義するように記述する場合、ID が含まれているため、前の要素の修飾を省略できます。ページは一意ですが、クラス s はページ上で複数回使用できます。要素を修飾することは意味がありません。例:
div#content { /* 宣言 */ }
fieldset.details { /* 宣言 */ }
は、
#content { /* 宣言 */ として記述できます。 }
.details { /* 宣言 */ }
これにより、バイト数を節約できます。
5. デフォルト値
通常、padding のデフォルト値は 0 で、background-color のデフォルト値は透明です。ただし、デフォルト値はブラウザによって異なる場合があります。競合が心配な場合は、次のように、スタイル シートの先頭ですべての要素のマージンとパディングの値を 0 として定義できます。
* {
margin:0; 0;
}
6. 継承可能な値を繰り返し定義する必要がない
CSS では、子要素は親要素の属性値を自動的に継承します親要素に既に存在する色やフォントなど。一度定義すると、繰り返し定義することなく子要素に直接継承できます。ただし、ブラウザーがいくつかのデフォルト値で定義をオーバーライドする可能性があることに注意してください。
7. 最も近い優先の原則
同じ要素の定義が複数ある場合、最も近い (最小レベルの) 定義が優先されます。 たとえば、次のようなコードがあります。
更新: Lorem ipsum dolor set
CSS ファイルで、要素 p とクラス「update」を定義しました。
p {
margin:1em 0 ; >フォントサイズ:1em;
カラー:#333;
.update {
フォントの太さ:#600;
これら 2 つの定義では、class が p よりも近いため、class="update" が使用されます。詳細については、W3C の「セレクターの特異性の計算」を参照してください。
8. 複数のクラス定義
タグは同時に複数のクラスを定義できます。例: まず 2 つのスタイルを定義します。最初のスタイルの背景は #666、2 番目のスタイルの境界線は 10 ピクセルです。
.one{width:200px;background:#666;} .two{border:10px Solid #F00;}
ページのコードでは、
最終的な表示効果は、この div に #666 の背景と 10 ピクセルの境界線の両方があることです。はい、これは可能です、試してみてください。
9. 子孫セレクターを使用する