CSSの「property:0」または「property:0px」?


86

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

element#id
{
  property: 0;
}

そして

element#id
{
  property: 0px;
}

私が使用しproperty: 0px;、私はそれがクリーン探して見つけると、すべての時間を、しかし、ブラウザの解釈場合、私はわからないんだけど、実際に0pxは異なるより0

どちらが良いか正しいか誰かが知っていますか?


1
良い質問であり、この可能性のある重複よりも前に:stackoverflow.com/q/5359222/292060ですが、仕様を引用すると、より良い答えがあります。
goodeye 2012年

1
どちらを使用する場合でも、プロジェクト全体で一貫性を保つようにしてください。
PBwebD 2016

回答:


56

ユニット識別子はオプションですが、パフォーマンスの顕著な向上はありません(ただし、2文字節約しています)。

CSS2-構文および基本データ型のW3CCSS 2.1仕様から:

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

(エンファシスマイン)

CSS3 -からW3CのCSS値と単位モジュールレベル3(現在で勧告候補、この記事の執筆時点で)

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


1
GZIP圧縮がアクティブな場合、本当に2バイト節約できることは間違いありません。私にとって、それはあなたが何を快適に感じているかという問題です。ただし、一部のCSSLintersは0pxを嫌う場合があります。
Manuel Arwed Schmidt 2015

34

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

また、CSSミニファイアは0とにかく値から単位を取り除くので、最終的にはそれほど重要ではありません。


ミニファイアがこれを知っていること、およびそれらを含めることによって持つべき機能があることを観察するための+1。
Graham P Heath

9
識別子なしで0の上下矢印キーを押すと、Chromeのデベロッパーツールはデフォルトでpxになります。また、Chromeの開発ツールでは、下向き矢印を0にすると、pxが保持されます。
PBwebD 2016

1
@ tests123:私がこの回答を書いた時点ではそうではなかったと思いますが、それは知っておくとよいでしょう。
Blender

アプリケーションの複数の場所で使用されている場合、0と0pxの実行時間の問題はありますか?
クルクラ

15

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


「正しい」または標準に準拠した選択はありますか?border: 3 solid単位がないので書けないのは知っていますが、ゼロのウェブ標準はありますか?
Blender 2010年

1
私の答えで述べたように、それはそれらがすべて同一であるためです。ピクセルのサイズ、em、ex、またはパーセンテージを掛けているかどうかにかかわらず、ゼロ倍はまだゼロです。
AgentConundrum 2010年

Web標準の意味はわかりませんが、「margin:10px 0 0 10px」は正常に機能し、「border:0」は「none」と同等のゼロを使用できることを意味します。
トム

1
@blenderドキュメントへのリンクを含むWeb標準については、以下の私の回答を確認してください。
Chris Bier 2014年

3
-参照、リンク、または理論的根拠のない議論の余地のある内容の回答の場合は-1。あなたの意見をデータでバックアップするか、それが事実情報ではなくあなたの意見であると明確に述べてください。

11

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

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


1
例外は時間単位です:/の0有効な代替手段ではありません0s0ms
Henrik Christensen 2017年

5

私の知る限り、それらの間に違いはありません0px = 0em = 0ex = 0% = 0。何が一番好きかを決めるのは、開発者としてのあなた次第です(もちろん、従う必要のある企業のコーディング標準がない限り)。

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


6
大量のデータをプッシュしている場合(Googleの場合など)、これを行うミニファイツールを使用することをお勧めします:p
John

4

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


0ピクセルが0インチに等しいというあなたの発言などが間違っていると思っていたので、しばらくの間、私はあなたの投稿に反対票を投じるつもりでした。:)私の心の中で、どうしてそれができるのか考えていたからです。それらは異なる単位です。
web_Designer 2011年

2

私は個人的により0きれいだと思います0px。これは、合計できる2つの余分な文字です。必要のないときにバイトを追加する理由。私はpadding: 0px 0px 0px 0pxどちらがpadding: 0あまりにも頻繁に方法として簡単に表現できるかを見てきました。


1

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

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

0

他の人が言うように、0であるかどうかは実際には問題ではありませんが、CSSファイルを見ている他の人が他の場所で処理する可能性のある測定値を測定できるように、すべての値に測定値を追加することを選択します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.