28172 sujets

CSS et mise en forme, CSS3

Et si flexbox n'était pas LA solution à tous nos soucis de mise en page ?

Philip Walton nous propose de maintenir à jour un git sur ce propos en y répertoriant tous les bugs connus avec cette propriété.

Git de Philip Walton - Flexbug (en anglais)

Bonne lecture à toutes et tous.
Smiley smile

Edit: le lien a été corrigé, il manquait effectivement un 's'.
Modifié par Greg_Lumiere (12 Mar 2017 - 16:56)
Administrateur
Hello, oui flexbox est buggué, ou plutôt les navigateurs le sont.
En fait, c'est exactement la même chose pour chaque spécification. Le record absolu était atteint avec float, qui comptait plus d'une 30aine de bugs connus juste sur IE Smiley cligne
Bref, il y a des bugs navigateurs sur flexbox, gris layout, float, inline-block, etc
C'est quand même fou à une époque ou les consortiums se sont multipliés, où les normes sont établies en concertation avec les plus grands acteurs de l'accès au web, de se retrouver encore avec des propriétés mal gérées, mal interprétées et dont certaines implémentations peuvent se révéler fantaisistes.

Et à nous de composer avec...

Je reconnais toutefois que les choses tendent à s'améliorer peu à peu. Mais le chemin à parcourir pour obtenir une certaine homogénéité me semble encore bien long.Et de là à ce qu'elle devienne absolue me paraît encore chimérique.
Administrateur
Greg_Lumiere a écrit :
...où les normes sont établies en concertation avec les plus grands acteurs de l'accès au web, de se retrouver encore avec des propriétés mal gérées, mal interprétées et dont certaines implémentations peuvent se révéler fantaisistes...


J'ai envie de répondre "oui, mais" Smiley smile

Il y a plusieurs paramètres qui rendent les choses compliquées :

- Pour commencer, il s'agit comme tu le dis d'une concertation entre les grands acteurs du Web. Or, lorsque ces acteurs ont des enjeux et objectifs économiques très différents, voire antinomiques, tels que Apple vs Google, ça complique forcément le consensus.

- On a longtemps reproché à Internet Explorer de prendre trop de temps pour implémenter une spécification (il a mis 11 ans à supporter un truc aussi basique que border-radius). A présent que ce n'est plus le cas, on lui reproche l'inverse : IE s'est mis à supporter Flexbox et Grid Layout très tôt (c'était d'ailleurs le premier navigateur à supporter Grid Layout). Le souci est qu'il a supporté ces specs alors qu'elles n'étaient encore qu'à l'état de brouillon. Résultat : aujourd'hui, Flexbox et Grid Layout ont changé 3x de spec avant de devenir des Candidate Recommandation et forcément IE10 et IE11 ne reconnaissent que l'ancienne version obsolète de ces specs.
Google Chrome fait exactement pareil sauf qu'on ne s'en rend pas compte au vu du renouvellement fréquent de ses versions.

Bref, oui c'est compliqué mais on est quand même très loin du temps de Netscape vs IE où chacun imposait ses propres specs très différentes de l'autre.
Pour moi, après quelques essais, j'ai abandonné l'utilisation de flex en raison des incompatibilités entre navigateurs d'une part, de certaines insuffisances d'autre part, notamment la gestion des images.

Dans le temps, javais pris comme principe de n'utiliser QUE ce qui était supporté de la même façon par les deux navigateurs utilisés dans mon entreprise, Netscape et IE, bien sûr. Ça réduisait fortement ce que l'on pouvait faire, mais au moins ça marchait.

De nos jours, avec la multiplication des supports et des navigateurs, on est bien obligé de faire avec ce qui existe, mais je continue à essayer de simplifier au maximum les choses en évitant d'utiliser des choses "nouvelles" qui ne sont pas supportées de façon homogène, et ce malgré les standards (encore heureux qu'ils existent, ça limite les dégâts)

Malgré le côté pénible que ça représente, je fais donc toujours appel à des programmes JS, trouvant que finalement il n'est pas plus difficile d'écrire des scripts qui font ce qu'on veut, comme on veut, quand on veut, plutôt que de se triturer les méninges à définir des feuilles CSS de plus en plus complexes, et qui de plus ne sont pas toujours exécutées de la même façon, comme je le constate tous les jours
Heureusement que ce site existe, et qu'il est fréquenté par des personnes de bonne volonté prêtes à partager leur expérience, ça permet en général de se sortir de situations dont on n'arrive pas à sortir tout seul.
Administrateur
PapyJP a écrit :
Heureusement que ce site existe, et qu'il est fréquenté par des personnes de bonne volonté prêtes à partager leur expérience, ça permet en général de se sortir de situations dont on n'arrive pas à sortir tout seul.

Merci pour ce beau compliment, ça fait réellement chaud au coeur et motive pour continuer Smiley smile Smiley confused
Bonjour,

Quelques essais de flexbox ici et là m'ont permis de faire sur des paginations simples de réelles économies de code. Mais il est vrai que ses principes contraignent à penser très différemment le comportement des éléments à placer.

Je reste donc prudent en évitant un réflexe, peut-être un défaut, celui d'en propager partout, comme une nouvelle mode. D'autant que semble-t-il un navigateur non upgradable sur une machine qui a une dizaine d'années ou plus va probablement donner un résultat plus que décevant.

Enfin pour compléter la citation de PapyJP, je voulais ajouter mon respect pour une qualité complémentaire de toutes celles déjà appréciables sur ce site, c'est l'excellente tenue de la langue française dans les tutoriels et l'ensemble des publications, dont les administrateurs méritent selon moi d'être félicités.

Bonne fin de journée.

PapyJP a écrit :
Heureusement que ce site existe, et qu'il est fréquenté par des personnes de bonne volonté prêtes à partager leur expérience, ça permet en général de se sortir de situations dont on n'arrive pas à sortir tout seul.