91

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

element#id
{
  property: 0;
}

element#id
{
  property: 0px;
}

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

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

4

11 に答える 11

56

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

CSS2-構文および基本データ型のW3CCSS2.1仕様から:

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

(エンファシスマイン)

CSS3- W3CからCSSの値と単位モジュールレベル3(この記事の執筆時点で現在推奨されている候補)

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

于 2013-05-10T14:34:37.830 に答える
35

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

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

于 2013-07-23T19:11:01.250 に答える
18

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

于 2010-11-30T20:51:47.563 に答える
12

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

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

于 2010-11-30T20:54:04.380 に答える
5

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

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

于 2010-11-30T20:54:24.237 に答える
4

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

于 2010-11-30T20:53:04.240 に答える
2

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

于 2010-11-30T20:53:47.767 に答える
2

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

  • 0pxを使用すると、指定した他のすべての「px」サイズとの一貫性が高まります。
  • また、より冗長であり、「これをオフに切り替える」フラグではなく、ゼロの長さを設定していることを非常に明確にします。
  • 必要に応じて、「0px」の値を微調整して別の値にする方が少し簡単です。
于 2016-05-09T23:37:19.820 に答える
0

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

于 2010-11-30T20:54:55.730 に答える
0

との間に違いはないはずですが、時々あることがわかりました。0px0

私はこのようなオブジェクトを中央に配置しようとしていました:

position: absolute;
left: max(0px, calc((100vw - 400px)/2));
max-width: 400px;   

それは機能しますが、それで置き換える0px0機能しません。

于 2020-12-07T11:17:11.127 に答える
0

ゼロ単位ゼロ値は単位を必要としません。CSSにバイトを保存する簡単な方法は、値が0のときに単位を含めないことです。たとえば、0pxと0はまったく同じです...

http://csslint.net/index.html

于 2021-05-17T14:07:35.613 に答える