inline-block et -moz-inline-box

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Ministeyr

inline-block et -moz-inline-box

Message par Ministeyr »

Bonjour,
FF 1.07 et 1.5 ne supportent pas la valeur "inline-block" de la propriété "display" de CSS (2.1, quand même :p).
En gouglant un peu, j'ai trouvé une "-moz-inline-box", qui semble faire la même chose. Mon CSS pour un objet à mettre en inline-block devient donc:
display: -moz-inline-box; /*Gecko*/
display: inline-block; /*non-Gecko, ou futur Gecko*/
La question est: les deux propriétés sont-elles réellement équivalentes?
Sinon, quelles différences, quels risques à utiliser -moz-inline-box?
Si oui, pourquoi inline-block n'est pas reconnu? (le code étant déjà écrit pour -moz-inline-box).

Voilà voilà, merci.
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

A la question "les deux propriétés sont-elles réellement équivalentes?" je répondrai : je n'en sais rien je n'ai pas fait de recherche sur la question.
Mais à la question "pourquoi inline-block n'est pas reconnu? (le code étant déjà écrit pour -moz-inline-box)" je pense que c'est parce que css2 est une recommandation du W3C tandis que css2.1 n'en est encore qu'au stade de "working draft" donc rien de définitif et que les développeurs Gecko dans l'attente ont produit une préversion d'où le préfixe -moz- devant la propriété.
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Il y a aussi -moz-inline-block. Visiblement, celui-ci est déjà plus près de inline-block que -moz-inline-box, même si ce n'est pas parfaitement équivalent. (source).

En gros : -moz-inline-box n'a aucune spécification. Il pourrait être ammené à changer à l'avenir, cassant ainsi ta page. Pour -moz-inline-block, c'est à peu près pareil même si c'est moins probable. Tu fais bien de le définir avant inline-block pour éviter de tout faire foirer si un jour inline-block est implémenté et que les développeurs décident de modifier le fonctionnement de la propriété pour un autre usage :wink:

Si dans ton cas ça fonctionne, alors n'hésite pas (mais avec -moz-inline-block). Mais si ce n'est pas implémenté comme inline-block, c'est aussi parce qu'il y a certainement des situations ou on pourrait voir une vraie différence :wink:

Quant au fait que CSS 2.1 ne soit pour l'heure qu'un document de travail, je ne sais pas qu'en penser, vu que ce n'est en fait qu'une révision de CSS 2.0, donc a priori relativement stable :roll: :wink:

PS : bien entendu vous pouvez voter pour le bug en question :)
PsyDk
Lézard à collerette
Messages : 317
Inscription : 23 sept. 2003, 09:41

Message par PsyDk »

Ah le inline-block, qu'est-ce que ça manque en effet. Je dois souvent simuler ce comportement à l'aide de float, mais manipuler les floats c'est souvent de la magie noire, et ça a toutes les chances de sauter sous IE. Et paradoxalement sous IE ça fonctionne assez bien le inline-block.

-moz-inline-block c'est un début d'implémentation mais il reste des bugs. Par exemple ce qui m'avait empêché de l'utiliser c'était entre autres sa non réceptivité du click souris en javascript.

C'est curieux, mais en html il existe un élément qui est en inline-block de façon naturelle, c'est « img ». Je pense qu'il y aurait moyen de s'inspirer du code qui gère les img pour le rendre plus générique afin de finaliser l'implémentation du inline-block sous Gecko. Faudrait que je mette mon nez là-dedans quand j'aurai une plus grosse machine pour compiler ce mastodonte :)

Je vais voter pour le bug en tout cas ^^
Ministeyr
Arias
Messages : 1
Inscription : 10 févr. 2006, 12:05

Message par Ministeyr »

Bonjour,
j'ai quelques problèmes avec -moz-inline-block: les objets sont considérés comme des blocs (du moins on dirait), et pas comme des inline-block... :/
Par contre avec -moz-inline-box, ça a l'air de marcher comme inline-block.
Avec le petit bout de css que j'avais mis, l'affichage est le même avec Opera 9 bêta, FF 1.5 / FF 1.07 et Konqueror 3.4.3.
Opera 8.51 et IE 5.x / IE 6 ont quelques petits bugs d'alignement vertical, on dirait.

Mais donc pour autant que j'aie pu tester, -moz-inline-box est équivalent à inline-block, et -moz-inline-block serait plus proche de block...
Donc votez pour le bug sur bugzilla :D
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités