web-dev-qa-db-fra.com

'propriété: 0' ou 'propriété: 0px' en CSS?

J'ai vu cette notation beaucoup utilisée et je me demandais s'il y avait une différence notable entre ces deux notations?

element#id
{
  property: 0;
}

et

element#id
{
  property: 0px;
}

J'utilise property: 0px; tout le temps, car je trouve ça plus propre, mais je ne sais pas vraiment si le navigateur interprète 0px différemment de 0.

Quelqu'un sait-il lequel est meilleur ou correct?

80
Blender

Alors que l'unité est facultative lorsque la valeur est 0, J'ai tendance à le laisser, car je peux ensuite ajuster les valeurs avec les outils de développement de Chrome en cliquant sur la valeur et en appuyant sur les touches fléchées haut/bas. Sans unité, ce n'est pas vraiment possible.

De plus, les minificateurs CSS suppriment les unités de 0 les valeurs de toute façon, donc ça n'aura pas vraiment d'importance à la fin.

30
Blender

Les identificateurs d'unité sont facultatif, mais il n'y a pas d'augmentation de performances notée (bien que vous soyez en enregistrant deux caractères).

CSS2 - De Spécification W3C CSS 2.1 pour la syntaxe et les types de données de base :

Le format d'une valeur de longueur (notée <longueur> dans cette spécification) est un <nombre> (avec ou sans virgule décimale) immédiatement suivi d'un identifiant d'unité (par exemple, px, em, etc.). Après une longueur nulle, l'identifiant d'unité est facultatif.

(Je souligne)

CSS3 - De Module Valeurs et unités CSS W3C niveau (Actuellement dans Recommandation du candidat au moment de la rédaction)

Pour les longueurs nulles , l'identificateur d'unité est facultatif (c'est-à-dire qu'il peut être représenté syntaxiquement par le 0).

48
Chris Bier

Ce sont les mêmes. Le navigateur interprète les deux comme 0, alors optez pour ce qui est plus lisible pour vous.

Zéro de rien est zéro. 0px = 0% = 0em = 0pt = 0

La plupart des gens laissent l'appareil hors tension car il s'agit simplement d'un encombrement inutile.

9
Chuck

Pour autant que je sache, il n'y a pas de différence entre eux, puisque 0px = 0em = 0ex = 0% = 0. En tant que développeur, c'est uniquement à vous de décider ce que vous préférez (sauf si vous avez des normes de codage d'entreprise que vous devez suivre, bien sûr).

De la plupart des exemples de code que j'ai vus, la plupart des gens utilisent la version sans unité. Pour moi, ça a l'air plus propre. Si vous poussez une quantité importante de données (par exemple, si vous êtes Google), ces deux octets peuvent ajouter beaucoup de bande passante, d'autant plus que vous êtes susceptible de les répéter plusieurs fois dans votre feuille de style.

5
AgentConundrum

Zéro pixel est égal à zéro pouce et zéro mètre et ainsi de suite. 0 est tout ce dont vous avez besoin.

3
meder omuraliev

Je trouve personnellement 0 plus propre que 0px. C'est deux caractères supplémentaires qui peuvent s'additionner. Pourquoi ajouter des octets supplémentaires lorsque vous n'en avez pas besoin. J'ai vu padding: 0px 0px 0px 0px qui peut facilement être exprimé par padding: 0 trop souvent.

2
Amir Raminfar

Vous pouvez utiliser l'une ou l'autre - mon meilleur conseil est de ne pas trop vous inquiéter mais d'être cohérent en le faisant d'une manière ou d'une autre. Personnellement, je préfère spécifier "0px" pour les raisons suivantes:

  • L'utilisation de 0px rend les choses plus cohérentes avec toutes les autres tailles "px" que vous avez spécifiées
  • Il est également plus verbeux et indique très clairement que vous définissez une longueur nulle plutôt qu'un indicateur `` désactiver cette option ''
  • Il est légèrement plus facile d'ajuster une valeur '0px' pour en faire une autre valeur si nécessaire
1
Chris Halcrow

Comme les autres le disent, cela n'a pas vraiment d'importance si son 0, bien que je choisisse d'ajouter les mesures à toutes mes valeurs afin que quiconque regarde mes fichiers CSS puisse évaluer les mesures qu'ils sont susceptibles de traiter ailleurs.

0
danjah