1

私は通常、頻繁に再利用するスタイルにはスタイルシートで定義されたCSSクラスを使用し、再利用しないCSSにはインラインスタイルを使用します。すべてのスタイルをスタイルシートに含める必要がありますか?スタイルシートはブラウザによってキャッシュされます。これは便利ですが、ページの操作が少し難しくなるようです。

すべてのスタイルがCSSファイルに含まれている場合、それらは要素名( "#myElement {styles ...}"など)を参照する必要がありますか、それともクラスを使用する必要がありますか?

ありがとう!

4

6 に答える 6

3

一般的に、はい、すべてのCSSはスタイルシートに含まれている必要があります。CSSがインラインで表示されても問題ない場合がいくつかあります(display:none、email cssなど)。

ベストプラクティスを見つけるのに役立つCSS方法論はたくさんありますが、私はこれを使用します: http ://smacss.com/

私はCSSスタイルシートでクラスを使用し、jQueryで使用するためにIDを予約することを好みます。

于 2012-04-17T19:16:36.787 に答える
2

それはあなたの実装に依存すると私は主張しますが、CSSで行われるほとんどのことは、最終的に外部ファイルに到達する(そしておそらくそうすべきである)スタイルにリファクタリングすることができます。

たとえば、一意の要素をに設定するのは、その要素のみstyle="width:50px;height:25px;"である限り、おそらくその要素で行うのが最適です(たとえば、ユーザーコントロール、部分ビュー-区画化されたもの)。ただし、再利用できる(そして外部ファイルにキャッシュされたままにする)クラスを作成するのが最適な場合があります。style="text-align:center;.centered { text-align: center; }

于 2012-04-17T19:17:07.190 に答える
1

ID(#)は、ラッパーなどの繰り返しではない要素にのみ使用する必要がありますが、クラス(。)は、フォントのスタイルや色など、繰り返し使用される要素に使用する必要があります。

同様に、内部スタイルシートは、そのスタイルシートを1回だけ使用する必要がある場合に使用する必要がありますが、外部スタイルシートは、サイト全体でスタイルを使用する必要がある場合に使用する必要があります。一部の設計者は、外部スタイルシートを1回だけ使用する場合でも、チェックしたり別のサイトにコピーしたりするのが簡単になるように、外部スタイルシートを使用することを好みます。

インラインスタイルシートは、単一のスタイルが1回必要な場合にのみ使用する必要がありますが、ほとんどの設計者は、これがCSSの目的を完全に無効にすると考えています。

外部スタイルシートもチャッキングされているため、サイトのロードにかかる速度が低下し、帯域幅が節約される可能性があります。

于 2012-04-17T19:16:17.207 に答える
0

構造とクラスを使用して同様のセクションのスタイルを設定し、IDを使用して繰り返しのない要素のスタイルを設定します(ただし、これらはかなりの数である必要があります)。例:

HTML

<!DOCTYPE html>
<html>
<head>
...
</head>
<body>
<div id="wrapper">
<article>Main Article</article>
<aside>
<div class="some-widget-type"><h1>Title</h1></div>
<div class="some-widget-type"><h1>Title</h1></div>
<div class="some-other-widget-type"><h1>Title</h1></div>
</div>
</body>
</html>

CSS

h1 {/* Base styles here */}
.some-widget-type {/* Styles here */}
.some-widget-type h1 {/* Styles here */}
.some-other-widget-type {/* Different styles here */}
.some-other-widget-type h1 {/* Different styles here */}

これにより、類似した要素間およびページ全体で一貫したスタイルを維持できます。

于 2012-04-17T19:17:20.297 に答える
0

個人的には、すべてを外部のスタイルシートに入れることを好みます。これにより、はるかにスケーラブルになります。プロジェクトの後半でクラスを再利用したい場合は、検索せずに入力するだけです。

#を使用する必要があるのは、特別な要素の場合のみです。

于 2012-04-17T19:19:02.083 に答える
0

レイアウト/スタイルを編集するためにソースコードにアクセスする必要がないという理由だけで、すべてのCSSはスタイルシートに含まれている必要があります。

StructreはHTMLにあり、レイアウトはCSSにあります。

  • Webサイトの複数のインスタンスに表示される可能性のある要素のクラスを使用します。
  • 各ページに1つしか存在できない要素にはIDを使用します。

私は個人的に次のようにCSSファイルを構成します。

  • 最初のセクション:グローバル要素(h1、h2、a、p、bodyなど)
  • 2番目のセクション:レイアウトクラス/ ID(#footer、#header、#logo、.navigationなど)
  • 3番目のセクション:一緒に構造化されたページ固有のCSS

このようにして、探しているものを簡単に見つけることができます。関連性が高いほど、ヒラシーが高くなります。

于 2012-04-17T19:19:24.877 に答える