[22] [[CSS]] における [DFN[shorthand [RUBYB[特性]@en[property]]]]とは、 複数の[[特性]]の値をまとめて指定できる[[特性]]を言います。 * 仕様書 [REFS[ - [21] [CITE@en[About the CSS 2.1 Specification]] ([TIME[2011-06-08 01:01:10 +09:00]] 版) ]REFS] * shorthand [24] ほとんどの場合、値が指定される各[[特性]]は [[shorthand]] の特性名を含む、 より長い名前です。 [EG[ [25] 例えば [[shorthand]] である [CODE(CSS)@en['[[outline]]']] は [CODE(CSS)@en['[[outline-color]]']], [CODE(CSS)@en['[[outline-width]]']] などの値を指定します。 ]EG] [EG[ [26] しかし [CODE(CSS)@en['[[font]]']] は [CODE(CSS)@en['[[font-family]]']] などと共に [CODE(CSS)@en['[[line-height]]']] も指定することができます。 ]EG] [27] [[shorthand]] によって指定される[[特性]]は、他の [[shorthand]] によっても指定できることがあります。 [EG[ [28] 例えば [CODE(CSS)@en['[[border-top-width]]']] の値を指定できる [[shorthand]] は [CODE(CSS)@en['[[border-top]]']] や [CODE(CSS)@en['[[border-width]]']]、 更に [CODE(CSS)@en['[[border]]']] と3つあります。 ]EG] [30] [[shorthand]] でなかった[[特性]]が、後の改訂により [[shorthand]] となることもあります。 * 値の割り当て [29] [[shorthand]] によって指定できるある[[特性]]の値が指定されていないときは、 [[初期値]]が指定されていたものとみなします [SRC[>>21]]。 * 特殊な shorthand [31] [CODE(CSS)@en['[[font]]']] は特殊で、個別の[[特性]]に指定できない特別な値を指定できます。 詳しくは [CODE(CSS)@en['[[font]]']] の項を参照してください。 * 実装 [1] [[Firefox]] 2 は [CODE(DOMa)@en[[[cssText]]]] でできるだけ [[shorthand]] にまとめようとしますが、 [[WinIE 6]] や [[Opera]] 9 はそうではないみたいです。 ([[名無しさん]]) [2] [[Firefox]] 2 は [CODE(DOMa)@en[[[cssText]]]] でできるだけ [[shorthand]] にまとめようとしますが、 [[WinIE 6]] や [[Opera]] 9 はそうではないみたいです。 ([[名無しさん]]) [3] >>1 は正確ではありませんでした。。。 ([[名無しさん]]) [4] [CODE(CSS)@en[[[margin]]]] 全ブラウザともまとめます。 ([[名無しさん]]) [5] [CODE(CSS)@en[[[border-width]]]] [[Firefox]] 2 だけまとめます。 ([[名無しさん]]) [6] [CODE(CSS)@en[[[border-top]]]] [[WinIE 6]] と [[Firefox]] 2 はまとめます。 ([[名無しさん]]) [7] [CODE(CSS)@en[[[border]]]] [[Firefox]] 2 はまとめます。 [[WinIE 6]] は [CODE(CSS)@en[[[border-bottom]]]] など[[四辺]]別にまとめます。 [[Opera]] 9 はまとめません。 ([[名無しさん]]) [8] [CODE(CSS)@en[[[padding]]]] [[Firefox]] 2 だけまとめます。 ([[名無しさん]]) [9] [CODE(CSS)@en[[[font]]]] [[WinIE 6]] だけまとめます。 ([[名無しさん]]) [10] [CODE(CSS)@en[[[background]]]] [[WinIE 6]] と [[Firefox]] 2 はまとめます。 ([[名無しさん]]) [11] [CODE(CSS)@en[[[list-style]]]] どのブラウザもまとめません。 ([[名無しさん]]) [12] [CODE(CSS)@en[[[outline]]]] どのブラウザもまとめません。 ;; [[WinIE 6]] はそもそも未対応。 ([[名無しさん]]) [13] [CODE(CSS)@en[[[outline]]]] どのブラウザもまとめません。 ;; [[WinIE 6]] はそもそも未対応。 ([[名無しさん]]) [14] [CODE(CSS)@en[[[cue]]]] [[Firefox]] 2 も [[Opera]] 9 もまとめません。 ([[名無しさん]]) [15] [CODE(CSS)@en[[[pause]]]] [[Firefox]] 2 も [[Opera]] 9 もまとめません。 ([[名無しさん]]) [16] [CODE(CSS)@en[[[background-position]]]] ([CODE(CSS)@en[[[background-position-x]]]] & [CODE(CSS)@en[[[background-position-y]]]]) [[WinIE 6]] はまとめます。 ;; [[Firefox]] 2 も [[Opera]] 9 も未対応。 ([[名無しさん]]) [17] [CODE(CSS)@en[[[overflow]]]] (元はばら) (元はまとめて) [[Firefox]] 2 はまとめます。 [[WinIE 6]] はばらしませんしまとめません ([[shorthand]] とみなされていない?)。 ;; [[Opera]] 9 は未対応。 ([[名無しさん]]) [18] [CODE(CSS)@en[[[layout-grid]]]] [[WinIE 6]] はまとめます。 ([[名無しさん]]) [19] >>4 は間違い。 [[Opera]] 9 はまとめません。 ([[名無しさん]]) [20] [CODE(CSS)@en[[[margin]]]] 1つでも [CODE(CSS)@en[![[important]]]] があると、 [[Firefox]] 2 はまとめませんが、 [[WinIE 6]] はまとめます ([CODE(CSS)@en[![[important]] は捨てます)。 構成する [[longhand]] すべてに [CODE(CSS)@en[![[important]]]] をつければ [[Firefox]] 2 はまとめ、かつ [CODE(CSS)@en[![[important]]]] をつけますが、 [[WinIE 6]] はまとめ、 [CODE(CSS)@en[![[important]]]] は捨ててしまいます。 * 関連 [23] [[shorthand]] に対して値が指定される各[[特性]]のことを [[longhand]] と呼ぶことがあります。 [32] [CITE@en[CSS Cascading and Inheritance Level 3]] ( ([TIME[2013-08-22 00:22:13 +09:00]] 版))