Mauvaise compression CSS des nombres décimaux commençant par 0 en rem en 4.1 #4851

Closed
opened 3 months ago by jeanmarie · 7 comments

En 4.1, le styles suivants sont mals compressés :
.toto { padding: 0.1em 0 0 0; } devient .toto{padding:.1em 0 0}
.toto { padding: 0 0 0.1em 0; } devient .toto{padding:0 0 .1em}
.toto { padding: 0 0 0 0.1rem; } devient .toto{padding:0 0 0.1rem}

Les styles suivants sont quant à eux bien compressés :

.toto { padding: 0 0 0 0.1em; }
.toto { padding: 0 0.1em 0 0; }
.toto { padding: 0 0 0 1rem; }
En 4.1, le styles suivants sont mals compressés : `.toto { padding: 0.1em 0 0 0; }` devient `.toto{padding:.1em 0 0}` `.toto { padding: 0 0 0.1em 0; }` devient `.toto{padding:0 0 .1em}` `.toto { padding: 0 0 0 0.1rem; }` devient `.toto{padding:0 0 0.1rem}` Les styles suivants sont quant à eux bien compressés : ``` .toto { padding: 0 0 0 0.1em; } .toto { padding: 0 0.1em 0 0; } .toto { padding: 0 0 0 1rem; } ```
jeanmarie changed title from Mauvaise compression des valeurs CSS avec 0 + décimal en 4.1 to Mauvaise compression des valeurs CSS avec 0 + décimale en 4.1 3 months ago
b_b added the
bug
label 3 months ago
b_b added this to the spip-4.1 milestone 3 months ago

Je ne crois pas que
.toto { padding: 0.1em 0 0 0; } devient .toto{padding:.1em 0 0}
soit mal compressé.

En effet, la règle CSS est la suivante : le 4e n'a pas à être spécifié si identique au 2e.

Je ne crois pas que `.toto { padding: 0.1em 0 0 0; }` devient `.toto{padding:.1em 0 0}` soit mal compressé. En effet, la règle CSS est la suivante : le 4e n'a pas à être spécifié si identique au 2e.
Owner

Dans les exemples donnés seule la 3ème règle est en erreur à priori, en effet :

.toto { padding: 0 0 0 0.1rem; } devient .toto{padding:0 0 0.1rem}

Dans les exemples donnés seule la 3ème règle est en erreur à priori, en effet : > `.toto { padding: 0 0 0 0.1rem; }` devient `.toto{padding:0 0 0.1rem}`
Poster

Ah, ok, merci @RealET

On est donc sur un problème plus précis en lien avec les nombres décimaux commençant par 0 en rem :

.titi { padding: 0 0 0 0.1rem; } devient .titi{padding:0 0 0.1rem} > la 3e valeur (0) et mixée avec la 4e (.1rem)
.titi { padding: 0 0 0 0.1em; } devient .titi{padding:0 0 0 .1em} > OK

.titi { padding: 0 0.1rem 0 0; } devient .titi{padding:0 0.1rem 0 0} > on attend la suppression du 0 de la 2e valeur
.titi { padding: 0 0.1em 0 0; } devient .titi{padding:0 .1em 0 0} > OK

C'était mon problème de base en fait, les autres viennent de mes différents tests :)

Ah, ok, merci @RealET On est donc sur un problème plus précis en lien avec les nombres décimaux commençant par 0 en rem : `.titi { padding: 0 0 0 0.1rem; }` devient `.titi{padding:0 0 0.1rem}` > la 3e valeur (0) et mixée avec la 4e (.1rem) `.titi { padding: 0 0 0 0.1em; }` devient `.titi{padding:0 0 0 .1em}` > OK `.titi { padding: 0 0.1rem 0 0; }` devient `.titi{padding:0 0.1rem 0 0}` > on attend la suppression du 0 de la 2e valeur `.titi { padding: 0 0.1em 0 0; }` devient `.titi{padding:0 .1em 0 0}` > OK C'était mon problème de base en fait, les autres viennent de mes différents tests :)
jeanmarie changed title from Mauvaise compression des valeurs CSS avec 0 + décimale en 4.1 to Mauvaise compression CSS des nombres décimaux commençant par 0 en rem en 4.1 3 months ago
Owner

OK je reproduis, et pour être clair, voici ce qu'on a

.titi { padding: 0 0 0 0.1rem; }
.titi { padding: 0 0 0 0.1em; }

devient

.titi{padding:0 0 0.1rem}
.titi{padding:0 0 0 .1em}

Il y a donc un espace mangé avec les rem, qui du coup génère un shorthand erroné en effet.

OK je reproduis, et pour être clair, voici ce qu'on a ``` .titi { padding: 0 0 0 0.1rem; } .titi { padding: 0 0 0 0.1em; } ``` devient ``` .titi{padding:0 0 0.1rem} .titi{padding:0 0 0 .1em} ``` Il y a donc un espace mangé avec les rem, qui du coup génère un shorthand erroné en effet.
Owner

Bon j'ai trouvé le bug, j'ai un patch, mais il faut que je refactore les tests unitaires pour ajouter un test sur ce cas avant d'envoyer la PR. Stay tuned

Bon j'ai trouvé le bug, j'ai un patch, mais il faut que je refactore les tests unitaires pour ajouter un test sur ce cas avant d'envoyer la PR. Stay tuned
cerdic referenced this issue from a commit 3 months ago
Owner

cf la PR #4853 donc

cf la PR #4853 donc
Poster

Je viens de tester la PR, c'est bon chez moi.
Merci

Je viens de tester la PR, c'est bon chez moi. Merci
marcimat closed this issue 2 months ago
marcimat closed this issue 2 months ago
Sign in to join this conversation.
No Milestone
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.