CSSコード仕様の共有

Feb 03, 2021 am 11:40 AM
css 仕様

CSSコード仕様の共有

CSS を学習する過程で、CSS の学習は難しくないことがわかりますが、大規模なプロジェクトでは管理が難しくなります。プログラマーによって書き方が大きく異なるため、チームで作業する場合のコミュニケーションが困難になることがあります。したがって、CSS コードの記述標準が存在します。

1. リセットは使用しますが、グローバル リセットは使用しません

ブラウザごとに要素のデフォルト属性が異なります。ブラウザの互換性を実現するために、ブラウザ要素のデフォルト属性の一部をリセットするには、リセットを使用します。ただし、グローバル リセットは使用しないでください:

*{ margin:0; padding:0; }
ログイン後にコピー

これは、遅くて非効率な方法であるだけでなく、いくつかの不要な要素のマージンとパディングもリセットする原因となるためです。 YUI Reset と Eric Meyer の実践を参照することをお勧めします。私も Eric Meyer と同じ意見です。リセットは静的ではありません。ブラウザーの互換性と操作の利便性を実現するには、プロジェクトのさまざまなニーズに応じて適切な変更を行う必要があります。私が使用するリセットは次のとおりです:

/** 清除内外边距 **/
body, h1, h2, h3, h4, h5, h6, hr, p,
blockquote, /* structural elements 结构元素 */
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
pre, /* text formatting elements 文本格式元素 */
form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */
th, td, /* table elements 表格元素 */
img/* img elements 图片元素 */{
  border:medium none;
  margin: 0;
  padding: 0;
}
/** 设置默认字体 **/
body,button, input, select, textarea {
  font: 12px/1.5 '宋体',tahoma, Srial, helvetica, sans-serif;
}
h1, h2, h3, h4, h5, h6 { font-size: 100%; }
em{font-style:normal;}
/** 重置列表元素 **/
ul, ol { list-style: none; }
/** 重置超链接元素 **/
a { text-decoration: none; color:#333;}
a:hover { text-decoration: underline; color:#F40; }
/** 重置图片元素 **/
img{ border:0px;}
/** 重置表格元素 **/
table { border-collapse: collapse; border-spacing: 0; }
ログイン後にコピー

2. 良い名前付けの習慣

乱雑なコードや意味論的ではない名前のコードは、間違いなく誰でも気が狂うでしょう。次のコードのように:

.aaabb{margin:2px;color:red;}
ログイン後にコピー

初心者でも実際のプロジェクトでこのようなクラス名を付けることはないと思いますが、このようなコードにも非常に問題があると考えたことはありますか:

<h1>My name is <span class="red blod">Wiky</span></h1>
ログイン後にコピー

問題は、元の赤いフォントをすべて青に変更する必要がある場合、スタイルが次のようになるということです。

.red{color:bule;}
ログイン後にコピー

このような名前付けは非常に複雑になります 同じサイドバーに同じ名前が付いているのは不可解です.leftBar を右側のサイドバーに変更する必要がある場合、非常に面倒になります。したがって、要素の特性 (色、位置、サイズなど) をクラスや ID の名前に使用しないでください。#navigation{...}、.sidebar{... などの意味のある名前を選択できます。このように、これらのクラスまたは ID を定義するスタイルをどのように変更しても、それらと HTML 要素の間の接続は影響を受けません。

別の状況があります。一部の固定スタイルは、定義後に変更されません。その場合、名前を付けるときに前述の状況を心配する必要はありません。たとえば、

.alignleft{float:left;margin-right:20px;}
.alignright{float:right;text-align:right;margin-left:20px;}
.clear{clear:both;text-indent:-9999px;}
ログイン後にコピー

then forこのような段落

<p class="alignleft">我是一个段落!</p>
ログイン後にコピー

この段落を元の左揃えから右揃えに変更する必要がある場合は、その className を alignright に変更するだけで済みます。

3. コードの省略形

CSS コードの省略形を使用すると、コードの記述速度が向上し、コードの量が合理化されます。 CSS では、margin、padding、border、font、background、color 値など、省略できるプロパティが多数あります。コードの省略形を学習すると、次のような元のコード:

li{
    font-family:Arial, Helvetica, sans-serif;
    font-size: 1.2em;
    line-height: 1.4em;
    padding-top:5px;
    padding-bottom:10px;
    padding-left:5px;
}
ログイン後にコピー

を次のように省略できます:

li{
    font: 1.2em/1.4em Arial, Helvetica, sans-serif;
    padding:5px 0 10px 5px;
}
ログイン後にコピー

これらの属性を省略する方法について詳しく知りたい場合は、「一般的な CSS 省略構文の概要」を参照するか、CSS-Shorthand-Cheat-Sheet.pdf をダウンロードしてください。

4. CSS 継承を使用する

ページ上の親要素の複数の子要素が同じスタイルを使用する場合、親要素に同じスタイルを定義し、それらの子要素にこれらのスタイルを継承させることが最善です。 CSS スタイル。こうすることで、コードを適切に保守し、コードの量を減らすことができます。元のコードは次のようになります:

#container li{ font-family:Georgia, serif; }
#container p{ font-family:Georgia, serif; }
#container h1{font-family:Georgia, serif; }
ログイン後にコピー

は次のように短縮できます:

#container{ font-family:Georgia, serif; }
ログイン後にコピー

5. 複数のセレクターの使用

複数の CSS セレクターを 1 つにマージできます (存在する場合)。が一般的なスタイルです。そうすることで、コードが簡潔に保たれるだけでなく、時間とスペースも節約されます。例:

h1{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
h2{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
ログイン後にコピー

h1, h2, h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }
ログイン後にコピー

6 にマージできます 適切なコード コメント

コード コメントにより、他の人がコードを読みやすくなり、コード コメントを合理的に整理できるようになります。構造をより明確にすることができます。スタイル シートの先頭にディレクトリを追加することを選択できます。

/*------------------------------------
    1. Reset
    2. Header
    3. Content
    4. SideBar
    5. Footer
  ----------------------------------- */
ログイン後にコピー

これにより、コードの構造が一目で明確になり、コードを簡単に検索して変更できます。

コードの主要なコンテンツも適切に分割し、必要に応じてコードにコメントを追加する必要があります。これはチーム開発にも役立ちます:

/***    Header  ***/
#header{ height:145px; position:relative; }
#header h1{ width:324px; margin:45px 0 0 20px; float:left;  height:72px;}
 
/***    Content ***/
#content{ background:#fff; width:650px; float:left; min-height:600px; overflow:hidden;}
#content h1{color:#F00}/* 设置字体颜色 */
#content .posts{ overflow:hidden; }
#content .recent{ margin-bottom:20px; border-bottom:1px solid #f3f3f3; position:relative; overflow:hidden; }
 
/***    Footer  ***/
#footer{ clear:both; padding:50px 5px 0; overflow:hidden;}
#footer h4{ color:#b99d7f; font-family:Arial, Helvetica, sans-serif; font-size:1.1em; }
ログイン後にコピー

7. CSS コード

コード内のプロパティをアルファベット順に並べ替えることができれば、修正箇所をより速く見つけることができます:

/*** 样式属性按字母排序 ***/
div{
    background-color:#3399cc;
    color:#666;
    font:1.2em/1.4em Arial, Helvetica, sans-serif;
    height:300px;
    margin:10px 5px;
    padding:5px 0 10px 5px;
    width:30%;
    z-index:10;
}
ログイン後にコピー

8. CSS を読みやすくする

書き込みを読みやすくするCSS を使用すると、スタイルの検索と変更が簡単になります。次の 2 つのケースのどちらが読みやすいかは自明だと思います。

/*** 每个样式属性写一行 ***/
div{
    background-color:#3399cc;
    color:#666;
    font: 1.2em/1.4em Arial, Helvetica, sans-serif;
    height:300px;
    margin:10px 5px;
    padding:5px 0 10px 5px;
    width:30%;
    z-index:10;
}
 
/*** 所有的样式属性写在同一行 ***/
div{ background-color:#3399cc; color:#666; font: 1.2em/1.4em Arial, Helvetica, sans-serif;  height:300px; margin:10px 5px; padding:5px 0 10px 5px; width:30%; z-index:10; }
ログイン後にコピー

スタイル属性の少ない一部のセレクターについては、次の行を書きます:

/*** 选择器属性少的写在同一行 ***/
div{ background-color:#3399cc; color:#666;}
ログイン後にコピー

このルールに厳密なルールはありませんが、どの方法で使用しても問題ありません。 、私の提案は、常にコードの一貫性を保つことです。属性が多い場合は複数行に分けて記述しますが、属性が3つ未満の場合は1行で記述できます。

9. より適切なスタイル属性値を選択する

CSS の一部の属性は、異なる属性値を使用します。効果は似ていますが、次のようなパフォーマンスの違いがあります。

違いborder:0 はボーダーを 0px に設定します。ページには表示されませんが、ボーダーのデフォルト値に従って、ブラウザーはボーダー幅/ボーダーカラーをレンダリングします。つまり、メモリ値は占領されている。

And border:none はボーダーを "none" (つまり、何も存在しません) に設定します。ブラウザが "none" を解析するとき、レンダリング アクションは実行されません。つまり、メモリ値は消費されません。したがって、 border:none;

を使用することをお勧めします。同様に、display:none はオブジェクト ブラウザを非表示にし、レンダリングせず、メモリも占有しません。そして可視性:隠された意志。

10. 使用代替@import

首先,@import不属于XHTML标签,也不是Web标准的一部分,它对于较早期的浏览器兼容也不高,并且对于网站的性能有某些负面的影响。具体可以参考《高性能网站设计:不要使用@import》。所以,请避免使用@import

11. 使用外部样式表

这个原则始终是一个很好的设计实践。不单可以更易于维护修改,更重要的是使用外部文件可以提高页面速度,因为CSS文件都能在浏览器中产生缓存。内置在HTML文档中的CSS则会在每次请求中随HTML文档重新下载。所以,在实际应用中,没有必要把CSS代码内置在HTML文档中:

<style type="text/css" >
    #container{ .. }
    #sidebar{ .. }
</style>
ログイン後にコピー

<li style="font-family:Arial, helvetica, sans-serif; color:#666; " >
ログイン後にコピー

而是使用导入外部样式表:

<link rel="stylesheet" type="text/css" href="css/styles.css" />
ログイン後にコピー

12. 避免使用CSS表达式(Expression)

CSS表达式是动态设置CSS属性的强大(但危险)方法。Internet Explorer从第5个版本开始支持CSS表达式。下面的例子中,使用CSS表达式可以实现隔一个小时切换一次背景颜色:

background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );
ログイン後にコピー

如上所示,expression中使用了JavaScript表达式。CSS属性根据JavaScript表达式的计算结果来设置。

表达式的问题就在于它的计算频率要比我们想象的多。不仅仅是在页面显示和缩放时,就是在页面滚动、乃至移动鼠标时都会要重新计算一次。给CSS表达式增加一个计数器可以跟踪表达式的计算频率。在页面中随便移动鼠标都可以轻松达到10000次以上的计算量。

如果必须使用CSS表达式,一定要记住它们要计算成千上万次并且可能会对你页面的性能产生影响。所以,在非不得已,请避免使用CSS表达式。

13. 代码压缩

当你决定把网站项目部署到网络上,那你就要考虑对CSS进行压缩,出去注释和空格,以使得网页加载得更快。压缩您的代码,可以采用一些工具,如YUI Compressor

利用它可精简CSS代码,减少文件大小,以获得更高的加载速度。

相关推荐:CSS教程

以上がCSSコード仕様の共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ブートストラップボタンの使用方法 ブートストラップボタンの使用方法 Apr 07, 2025 pm 03:09 PM

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

ブートストラップのサイズを変更する方法 ブートストラップのサイズを変更する方法 Apr 07, 2025 pm 03:18 PM

Bootstrapの要素のサイズを調整するには、次のものを含むDimensionクラスを使用できます。

ブートストラップのフレームワークをセットアップする方法 ブートストラップのフレームワークをセットアップする方法 Apr 07, 2025 pm 03:27 PM

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

ブートストラップに写真を挿入する方法 ブートストラップに写真を挿入する方法 Apr 07, 2025 pm 03:30 PM

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

ブートストラップにスプリットラインを書く方法 ブートストラップにスプリットラインを書く方法 Apr 07, 2025 pm 03:12 PM

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

ブートストラップの日付を表示する方法 ブートストラップの日付を表示する方法 Apr 07, 2025 pm 03:03 PM

回答:ブートストラップの日付ピッカーコンポーネントを使用して、ページで日付を表示できます。手順:ブートストラップフレームワークを紹介します。 HTMLで日付セレクター入力ボックスを作成します。ブートストラップは、セレクターにスタイルを自動的に追加します。 JavaScriptを使用して、選択した日付を取得します。

ブートストラップの日付を確認する方法 ブートストラップの日付を確認する方法 Apr 07, 2025 pm 03:06 PM

ブートストラップの日付を確認するには、次の手順に従ってください。必要なスクリプトとスタイルを紹介します。日付セレクターコンポーネントを初期化します。 Data-BV-Date属性を設定して、検証を有効にします。検証ルール(日付形式、エラーメッセージなどなど)を構成します。ブートストラップ検証フレームワークを統合し、フォームが送信されたときに日付入力を自動的に検証します。

ブートストラップナビゲーションバーの設定方法 ブートストラップナビゲーションバーの設定方法 Apr 07, 2025 pm 01:51 PM

ブートストラップは、ナビゲーションバーをセットアップするための簡単なガイドを提供します。ブートストラップライブラリを導入してナビゲーションバーコンテナを作成するブランドアイデンティティの作成ナビゲーションリンクの作成他の要素の追加(オプション)調整スタイル(オプション)

See all articles