1. CSS ファイルとスタイルの名前付け
グローバル スタイル: global.css;
フォント スタイル: font.css; .css;
印刷スタイル: print.css;
2. CSS スタイルの命名規則
文字、_ 記号、- 記号、および数字を使用することをお勧めします。開発後のスタイル名の管理を容易にするために、同僚がスタイルのどの部分に属しているかを一目で理解できるように、意味のある単語または略語の組み合わせを使用して名前を付けてください。これにより、スタイルを検索する時間を節約できます。次に例を示します。
ヘッダー ヘッダーの左側には、header_left または header_l を使用できます。box _1of3 (3 つの列のうちの最初の列)、box_2of3 ( 3 列の 2 列目)、ボックス _3of3 (3 列の 3 列目)、その他の例を 1 つずつ挙げるつもりはありません。上記のルールに従って名前を付けるだけです。
みんなの便宜のために、一般的に使用される名前付きの言葉をいくつか紹介します: (将来的には、誰もが仕事の過程で蓄積したすべての言葉をゆっくりと共有するでしょう。そうすれば、みんなの生活はより統一され、すべての言葉が存在する状況はなくなります。は 1 つの意味を持つ複数の単語です。)
コンテナ: コンテナ/ボックス
ヘッダー: ヘッダー
メイン ナビゲーション: mainNav
サブ ナビゲーション: subNav
トップ ナビゲーション: topNav
ウェブサイトのロゴ: ロゴ
大きな広告: バナー
ページの中央: mainBody
下部: フッター
メニュー: メニュー
メニュー コンテンツ: menuContent
サブメニュー: subMenu
サブメニュー コンテンツ: subMenuContent
検索: 検索
検索キーワード:キーワード
検索範囲: 範囲
タグテキスト: tagTitle
タグの内容: tagContent
現在のタグ: tagCurrent/currentTag
タイトル: title
Content: content
List: list
現在の位置: currentPath
サイドバー: サイドバーアイコン :icon
注: メモ
ログイン: ログイン
登録: 登録
列定義: column_1of3 (3 列の最初の列)
column_2of3 (3 列の 2 番目の列)
column_3of3 (3 列3 番目の列)
2. ID とクラスの使用法と違い
スタイル シートでスタイルを定義するときに、次のように ID またはクラスを定義できることがわかります:
ID メソッド: #test{color: #333333}、ページで
CLASS メソッド: .test{color:#333333}、ページで
ページ上で同じIDを複数使用しましたが、IEでは正常に表示されました。IDとクラスに違いはないようです。複数の同じIDを使用することによる影響はありますか?
ページ上に同一の ID が複数ある場合、W3 検証に失敗します。
ページの表示に関しては、現在のブラウザでは依然としてこの間違いが許容されており、複数の同一 ID を使用すると「通常は」正常に表示されます。ただし、JavaScript を使用して ID を通じてこの div を制御する必要がある場合、エラーが発生します。
id は、名前と同じように、異なる構造とコンテンツを区別するために使用されるタグです。同じ名前を持つ人が 2 人いると、混乱が生じます。
class は、どの構造にも適用できるスタイルです。 content は衣服と同じです。
概念的に言えば、これらは異なります。
id は最初に構造/コンテンツを見つけ、次にそのスタイルを定義します。クラスは、最初にスタイルを定義し、それを複数の構造に適用することを意味します。 /コンテンツ 。
つまり、XHML+CSS を記述するとき、それが 1 次元の構造的位置決めである場合は id を使用し、それ以外の場合は class を使用することをお勧めします (これにより、非構造的位置決め div ブロックの ID はプログラマーが定義できるようになります)
Web 標準は、誰もが厳密な習慣に従ってコードを書くことを望んでいます。
3. CSS 略語を使用する
略語を使用すると、CSS ファイルのサイズが小さくなり、読みやすくなります。一般的に使用される CSS 略語の主なルール:
Color
16 進数のカラー値は、各 2 桁の値が同じ場合、半分に省略できます。たとえば、
#000000 は #000 に省略できます。 ; #336699 は # 369; と省略できます。
ボックス サイズ
プロパティ: value1; は、すべてのエッジが値であることを意味します。上と下の値は value1、右と左の値は value2 です
property:value1 value2 value3; 上の値が value1、右と左の値が value2、下の値が value3 であることを意味します
property:value1 value2 value3 value4; 4 つの値は、上、右、下、左を表します
覚えておくと便利な方法は、時計回り、右上、左下です。マージンとパディングの具体的な適用例は次のとおりです。margin:1em 0 2em 0.5em;
Border (ボーダー)
ボーダーのプロパティは次のとおりです。 -style:solid;
border-color:#000;
は次の 1 つの文に短縮できます: border:width style color;背景の属性は次のとおりです:
background-color :#f00;
background-image:url(background.gif);
background-repeat:no-repeat;
background-attachment:fixed;
background-position:0 0;
可以缩写为一句:background:#f00 url(background.gif) no-repeat fixed 0 0;
语法是background:color image repeat attachment position;
你可以省略其中一个或多个属性值,如果省略,该属性值将用浏览器默认值,默认值为:
color: transparent
image: none
repeat: repeat
attachment: scroll
position: 0% 0%
字体(fonts)
字体的属性如下:
font-style:italic;
font-variant:small-caps;
font-weight:bold;
font-size:1em;
line-height:140%;
font-family:"Lucida Grande",sans-serif;
可以缩写为一句:font:italic small-caps bold 1em/140% "Lucida Grande",sans-serif;
注意,如果你缩写字体定义,至少要定义font-size和font-family两个值。
列表(lists)
取消默认的圆点和序号可以这样写list-style:none;
list的属性如下:
list-style-type:square;
list-style-position:inside;
list-style-image:url(image.gif);
可以缩写为一句:list-style:square inside url(image.gif);
更多属性写法请参考《CSS样式手册》,在线手册地址:http://www.jb51.net/css/
四、明确定义单位,除非值为0
忘记定义尺寸的单位是CSS新手普遍的错误。在HTML中你可以只写width=100,但是在CSS中,你必须给一个准确的单位,比如:width:100px width:100em。只有两个例外情况可以不定义单位:行高和0值。除此以外,其他值都必须紧跟单位,注意,不要在数值和单位之间加空格。
五、区分大小写
当在XHTML中使用CSS,CSS里定义的元素名称是区分大小写的。为了避免这种错误,我建议所有的定义名称都采用小写。
class和id的值在HTML和XHTML中也是区分大小写的,如果你一定要大小写混合写,请仔细确认你在CSS的定义和XHTML里的标签是一致的。
六、取消class和id前的元素限定
当你写给一个元素定义class或者id,你可以省略前面的元素限定,因为ID在一个页面里是唯一的,class可以在页面中多次使用。你限定某个元素毫无意义。例如:
div#id1{}可以写成#id1{}
这样可以节省一些字节。
七、默认值
通常padding和margin的默认值为0,background-color的默认值是transparent。但是在不同的浏览器默认值可能不同。如果怕有冲突,可以在样式表一开始就先定义所有元素的margin和padding值都为0,象这样:
* {
padding:0;
margin:0
}
或者是针对某元素来定义:
ul,li,div,span {
padding:0;
margin:0
}
八、CSS的优先级
行内样式(inline style) > ID选择符 > 样式(class),伪类(pseudo-class)和属性(attribute)选择符 > 类别(type),伪对象(pseudo-element)
解释:
*内联样式(inline style):元素的style属性,比如
,其中的color:red;就是行内样式*ID选择符:元素的id属性,比如
可以用ID选择符#content*伪类(pseudo-class):最常见的是锚(a)伪类,比如a:link,a:visited.
*属性选择符(attribute selectors):比如div[class=demo],含有class为demo的div元素
*类别选择器(type selector):HTML标签选择,比如div .demo,div元素下含有class为demo的元素
*伪对象选择器(pseudo-element selector):比如div:first-letter,div元素下的第一个单词。
九、不需要重复定义可继承的值
CSS中,子元素自动继承父元素的属性值,象颜色、字体等,已经在父元素中定义过的,在子元素中可以直接继承,不需要重复定义,除非是为了更变当前元素样式不使用父元素的属性值,但是要注意,浏览器可能用一些默认值覆盖你的定义。
十.多重CSS样式定义,属性追加重复最后优先原则
一个标签可以同时定义多个class,也可以是同一个class中重复定义属性。例如:
我们先定义两个样式
.one{width:200px;background:url(http://www.jb51.net/1.jpg) no-repeat left top;}
.two{border:10px solid #000; background:url(http://www.jb51.net/2.jpg) no-repeat left top;}
在页面代码中,我们可以这样调用:
这样最终的显示效果是这个div样式是什么呢??重复的是以哪一个为准呢??
应用到的样式如下:width:200px;
border:10px solid #000;
background:url(http://www.jb51.net/2.jpg) no-repeat left top;
因为,当应用两个或多个样式时,浏览器所应用的样式根据是属性追加重复最后优先原则
就是说两个或多个或重复的样式名定义,浏览器所应用的样式是按先后顺序的,如果定义了重复的属性值,以最后定义的为准,如果应用了两个或多个样式名,里面不重复定义的属性值就追加上去,重复的属性值就以最后一个为准。这里要注意的是,样式的先后不是根据页面上应用的名字顺序,而是样式表里的样式顺序。
十一、使用子选择器(descendant selectors)
使用子选择器是影响他们效率的原因之一。子选择器可以帮助你节约大量的class定义。我们来看下面这段代码:
このコードの CSS 定義は次のとおりです:
div#subnav ul { }
div#subnav ul li.subnavitem { }
div#subnav ul li.subnavitem a.subnavitem { }
div#subnav ul li.subnavitemselected { }
div#subnav ul li.subnavitemselected a.subnavitemselected { }
上記のコードは次のメソッドに置き換えることができます