Pourquoi peut-il définir la hauteur, mais contrairement aux éléments
, on a l'impression qu'il s'agit d'un élément "semi-inline" (inline : inline[text]-level). HTML 4 est décrit comme ceci :Les éléments suivants peuvent également être considérés éléments de niveau bloc puisqu'ils peuvent contenir des éléments de niveau bloc :
Cette description semble dire que <li />
est un élément "semi-inline". Bien sûr, des éléments similaires à <td />
dans cette liste m'ont également donné de tels doutes. Aujourd'hui, j'ai jeté un œil au CSS par défaut de chaque navigateur. Le résultat est le suivant :
Browsers | CSS |
---|---|
IE6/IE7 |
li{display:block; } |
IE8 / Webkit / Firefox / Opera |
li{display:list-item; } |
Ici, c’est fondamentalement clair. Dans les navigateurs A-Grade autres que IE6/7, il s'agit d'un élément « semi-inline ». En ce qui concerne display:list-item;
, en fait, même si tous les navigateurs A-Grade le prennent désormais en charge, peu de gens l'utilisent. Pourquoi? En fait, cela ne sert à rien. En mode Quirks, PPK dit ceci :
display: list-item
signifie que l'élément est affiché comme un élément de liste, ce qui signifie principalement qu'il a une puce devant lui (comme un UL), sauf dans IE 5 sur Mac où il obtient un numéro (comme un OL). Les numéros sont bogués : tous les LI précédents de la page comptent pour un, donc cet exemple commence par le numéro 5 (la capture d'écran a été faite avant d'insérer mes LI de compatibilité).Exemple en direct :affichage : bloqueraffichage : élément de listeaffichage : élément de liste
Bien. En fait, cela ne veut pas dire grand-chose. Mais cela peut être considéré comme résolvant l’un de mes doutes. Partagez-le. Si vous avez également de tels doutes, peut-être que si un bug ou une autre question survient la prochaine fois lors du codage, vous pourrez probablement répondre rapidement.