28172 sujets

CSS et mise en forme, CSS3

Pages :
(reprise du message précédent)

Attention, le décalage apparaît lorsqu'on réduit manuellement la fenêtre sur des taille de fenêtre impaire.
Je pense que le contexte rentre en cause également.
A savoir les marges droite et gauche en auto.
Du coup sur les taille de fenêtre impaire, il y a un premier calcul d'interprétation par le navigateur.
Je pense donc que ce problème devrait apparaître quelque soit le système.

Sinon je suis tout à fait d'accord avec toi sur les 3 points soulevés.
La multiplication par un entier annule le problème. la division aussi d’ailleurs.
Tout calculer en em me semble alors le mieux. D'ailleurs cette option doit être couplé avec du javascript si on n'utilise pas un compilateur css.
Et pour les données tabulaires le tableau s'impose.

Ps : je corrige mes pseudos tiers...
Bonjour à toutes et à tous.

Je ne veux pas faire un cours d'informatique qui d'ailleurs n'est pas le propos de ce sujet, mais il faut savoir qu'en informatique, la multiplication n'est pas commutative ! Autrement dit, l'ordre des opérations à de l'importance. Attention, je ne parle pas des priorités.

Exemple : vous voulez calculer : (100 / 3) * 3
En mathématique, le résultat est 100. Ce va de soi.
En informatique, il faut décomposé le calcul.

En premier, l'opération est la suivante : 100 / 3 = 33.3333
La précision du calcul est limité à quatre chiffre après la virgule, sans arrondi !
En second, l'opération est la suivante : 33.3333 * 3 = 99.9999

Maintenant, changez l'ordre des opérations sans changer le résultat logique !
Soit : (100 * 3) / 3

Première opération : 100 * 3 = 300.
Deuxième opération : 300 / 3 = 100.

Surprenant, mais sur le même calcul selon l'ordre des opérations, nous n'obtenons pas le même résultat. Et c'est pourquoi, je ne privilégierais pas le calcul du genre 100%/3. Je suppose, mais cela reste une hypothèse, qu'il n'existe pas un arrondi au plus près sur la dernière décimale lors d'un calcul de ce genre.

On aurait exactement le même problème si l'arrondi se faisait au plafond.
Première opération : 100 / 3 = 33.3334
Deuxième opération : 33.3334 * 3 = 100.0002
Le problème des arrondis est un problème récurrent en informatique.
D'où les décalages de 1px lorsqu'on applique les pourcentages sur les width et les height.

Le mieux serait de faire cela en JavaScript et en pixel ! Mais bon, cela va finir en usine à gaz et tout ça pour un pixel.

Je ne peux rien dire de plus que l'exposé de gc-nomade, que j'approuve totalement.

@ Heillige Leben : une précision à deux chiffres après la virgule, j'utilise cela quand je fais des calcules en euros. La plus petite subdivision de l'euro est le "cent" ou centimes. Donc rien ne justifie d'aller au-delà.
En réalité; le calcul se fait sur trois chiffres après la virgule et ensuite, on pratique un arrondi au plus près (+0.005). Exemple : avant arrondi = 0.277 après arrondi 0.282 et le résultat tronqué à deux chiffres après la virgule, sera 0.28

Comme la largeur de la fenêtre est de 1440px, 1px représente donc 1/1440, soit 0.00069444.
Pour la précision, au minimum, il faut au moins quatre chiffres après la virgule. Six c'est bien !

Le sujet est-il résolu ?

@+
Modifié par tournikoti (08 Oct 2013 - 18:22)
Bon, je crois que là c'est bon, on a fait le tour de la question.

Merci tournikoti pour tes précisions.

Merci gc-nomade, je vais regarder ton code avec attention. On peut sans doute le réduire avec une boucle, mais c'est un autre problème.
Pages :