実際の CSS の運用においては,性質の似た属性をいっぺんに指定することが多い。このような属性には短縮属性が用意されていて,手間を省くことができる。
短縮属性は,同時に指定することの多い属性値をまとめて指定するものである。一般に,短縮属性に与える値は複数で,値を並べる順番が問題になるものもある。
短縮属性に与える値は,必ず指定しなければならないものと,必要であれば指定するもの(以下では [ ] でくくって示す)に分かれる。値それぞれは,短縮される前のもともとの属性に従って指定することになる。
margin 短縮属性は First step CSS の Section 10 で紹介した margin-top,margin-bottom,margin-left,margin-right の 4 つの属性を同時に指定する。
margin: (長さ);
このとき与えられる属性値の数は 1 値から 4 値で,その数によってどのマージンがどのように指定されるか決定される。具体的には,次のようになる。
margin: (全方向);
margin: (垂直方向) (水平方向);
margin: (上方向) (水平方向) (下方向);
margin: (上) (右) (下) (左);
当然ながら,値は半角スペースで区切る。たとえば,次の宣言
margin: 1em;
これは,次と等価である。
margin-top: 1em; margin-bottom: 1em;
margin-left: 1em; margin-right: 1em;
また,
margin: 1em 2em;
これは,次と等価である。
margin-top: 1em; margin-bottom: 1em;
margin-left: 2em; margin-right: 2em;
3 値あるいは 4 値でも同様である。
また,それぞれにキーワード auto を指定してもよい。
4 方向の値を指定する短縮属性については,値が 4 つに満たない場合,“指定されていない辺は反対側よりコピーする”という原則がある。たとえば,2 値では,4 値のときの“上”“右”が指定された状態で,“下”は“上”の値から,“左”は“右”の値から,それぞれコピーされる。3 値の場合,“左”がない状態なので,“右”からコピーされる。
値の与え方は,margin 4 属性とまったく同じである。パーセント指定も同様に行ってよい。
IE3 margin 短縮属性には 3 値までしか与えられない。
font-短縮属性は,font-size,line-height,font-family,font-style,font-weight,font-variant の 6 つの属性を同時に指定する。
font: [(文字の装飾)] (font-size)[/(line-height)] (font-family);
文字の装飾は font-style,font-weight,font-variant の 3 属性で,順不同。指定しなくてもよい。ただし,normal は何に対して指定されているかわからない場合があるので,この場合は個別に指定するのがよい。
font-size は必須。半角スラッシュを続けて line-height を指定してもよい。この line-height が基準にするのは,直前の font-size である。
font-family も必須。font-family は値を半角カンマで区切ることに注意しよう。
たとえば,次の場合。
font: 12pt Times, serif;
これは,次と等価。
font-size: 12pt; font-family: Times, serif;
また,
font: italic bold 120%/1.5 Verdana, Chicago, Arial, sans-serif;
上は,次と等価となる。
font-style: italic; font-weight: bold;
font-size: 120%; line-height: 1.5;
font-family: Verdana, Chicago, Arial, sans-serif;
文字の装飾に関する属性は順不同であるから,font-size より前であれば,先ほどの例で言えば italc と bold の順序を変えてもよい。
background 短縮属性は background-color,background-image,background-attachment,background-repeat,background-position の 5 つの属性を同時に指定することができる。
background: (背景属性);
属性値は順不同で,すべての属性を指定しなくともよい。
background: #9CF url(bg.jpg);
これは,次と等価。
background-color: #9CF;
background-image: url(bg.jpg);
また,
background: url(bg.jpg) repeat-x fixed 0% 50%;
上と等価な記述は,
background-image: url(bg.jpg);
background-repeat: repeat-x;
background-attachment: fixed;
background-position: 0% 50%;
である。指定は順不同でよいが,background-position で 2 つの値を並べる場合はそれらを離して書いてはいけないし,順番も問題になる。
IE3 背景に関するすべての指定は個別の属性では行わず,この background 短縮属性を使う。