web-dev-qa-db-ja.com

CSSの 'property:0'または 'property:0px'?

この表記法がよく使われているのを見てきましたが、この2つの表記法の間に顕著な違いはありますか?

element#id
{
  property: 0;
}

そして

element#id
{
  property: 0px;
}

見た目がすっきりしているので、常にproperty: 0px;を使用していますが、ブラウザが0px0と異なる解釈をするかどうかはよくわかりません。

どっちが良いか、正しいのか誰にも分かりますか?

70
Blender

値が0の場合、単位はオプションですが、値をクリックして上/下矢印キーを押すことにより、Chromeの開発者ツールで値を微調整できるため、そのままにしておく傾向があります。ユニットがなければ、それは実際には不可能です。

また、CSSミニファイヤは0値から単位を削除しますので、最終的には問題になりません。

30
Blender

ユニット識別子はoptionalですが、パフォーマンスの向上は認められていません(ただし、are 2文字を節約できます)。

CSS2-From W3C CSS 2.1構文および基本データ型の仕様

長さの値の形式(この仕様では<length>で示されます)は、ユニット識別子(px、emなど)が直後に続く<number>(小数点付きまたはなし)です。 長さがゼロの場合、ユニット識別子はオプションです。

(エンファシス鉱山)

CSS3-From W3C CSS Values and Units Module Level (現在は 勧告候補 でこの執筆の時間)

長さがゼロの場合、ユニット識別子はオプションです(つまり、0として構文的に表すことができます)。

48
Chris Bier

それらは同じです。ブラウザーは両方とも0として解釈するため、より読みやすいものを選択してください。

何もゼロはゼロです。 0px = 0% = 0em = 0pt = 0

ほとんどの人は、ユニットが単に不要な混乱であるため、ユニットをオフのままにします。

9
Chuck

私が知っている限り、0px = 0em = 0ex = 0% = 0。開発者として、あなたが最も好きなものを決定するのは純粋にあなた次第です(もちろん、あなたが従う必要がある企業のコーディング標準がない限り)。

私が見たコードサンプルのほとんどから、ほとんどの人はユニットレスバージョンを使用しています。私には、きれいに見えます。大量のデータをプッシュする場合(たとえば、Googleの場合)、特にスタイルシートでそれらを複数回繰り返す可能性が高いため、これらの2バイトは多くの帯域幅を追加する可能性があります。

5
AgentConundrum

ゼロピクセルは、ゼロインチ、ゼロメートルなどに相当します。 0 は、あなたが必要とすることすべてです。

3
meder omuraliev

個人的に00pxよりもきれいだと思います。合計すると2つの余分な文字になります。必要がないのに、なぜ余分なバイトを追加するのですか。 padding: 0px 0px 0px 0pxは頻繁にpadding: 0として簡単に表現できます。

2
Amir Raminfar

どちらを使用しても構いません-私の最善のアドバイスは、あまり心配することではなく、どちらかの方法で一貫性を保つことです。個人的には、次の理由で「0px」を指定することを好みます。

  • 0pxを使用すると、指定した他のすべての「px」サイズとの一貫性が高まります
  • また、より冗長であり、「これをオフにする」フラグではなく長さゼロを設定していることが非常に明確になります
  • 必要に応じて「0px」値を微調整して別の値にする方が少し簡単です
1
Chris Halcrow

他の人が言うように、0であるかどうかは本当に重要ではありませんが、CSSファイルを見ている他の人が他の場所で処理する可能性のある測定値を測定できるように、すべての値に測定値を追加します。

0
danjah