Est l'aide de <li> sans enfermant <ul> balises dangereux?
Quels sont les dangers de l'insertion <li>...</li>
dans une page sans renfermant le ou les article(s) dans un <ul>
bloc? Par exemple:
<div style="border:solid 1px red;">
<li>Item</li>
<li>Another Item</li>
<li>Yet Another Item</li>
</div>
De Validation est le moindre de mes préoccupations, je me demandais ce que cela pourrait briser dans les navigateurs pour l'utilisateur final la possibilité d'afficher la page comme prévu.
- Ok je vais mordre... pourquoi voudriez-vous faire cela?
- N'est-ce pas un comportement indéterminé?
- xkcd.com/292
- Tout autant de raisons pour ne PAS, l'emballage dans ul?
- C'est plus de la curiosité qu'un grand besoin de faire de cette façon. Je vais être en utilisant
<ul>
balises, mais il a remarqué quelques endroits où ils étaient manquantes dans le balisage, et je ne vois pas de problèmes visuels dans l'un des navigateurs j'ai regardé, mais il se sent comme il l'aurait fait de casser des choses. J'ai donc pensé que je demanderais. - Si vous voulez en savoir plus, pourquoi ne pas l'avoir expérimenter avec elle?
- Je l'ai fait - j'ai seulement un peu de navigateurs afin de le tester, et pas beaucoup d'expérience dans le mal structurées listes. J'ai pensé que d'autres personnes sur ALORS peut-être savoir ce que cela casserait que je n'avais pas vu (les navigateurs et/ou des situations).
- Je suis curieux de savoir aluminothermique, je ne vais pas le tester, je le jure
Vous devez vous connecter pour publier un commentaire.
Il n'est pas valide balisage à tous. Si il s'affiche correctement, c'est seulement une question de chance.
Comme vous semblez le définir dangereux par "pause" dans les navigateurs pour l'utilisateur final la possibilité d'afficher la page comme prévu", alors oui c'est dangereux.
Navigateurs essaient de leur mieux pour compenser les invalides de balisage, mais il n'y a aucune garantie à tous les votre page s'affiche correctement.
Vous dire de validation est le moindre de vos préoccupations, veuillez reconsidérer et avoir un regard sur Pourquoi Valider?. Si vous vous souciez de votre page affichée correctement, sans caprices, puis valider.
Enfin, HTML Tidy peut vous aider à la fixation html existant.
EDIT: J'ai soumis votre fragment de browsershots.org pour voir comment il est rendu par les différents navigateurs.
<ul>
balises où ils sont absents. Je suis juste curieux de savoir si elle pourrait être à l'origine de problèmes que nous ne connaissons pas.En utilisant des données invalides de balisage comme votre exemple peut provoquer un comportement inattendu dans les différentes pages. Si vous utilisez des balises valides, les navigateurs sera (ou devrait être) l'affichage de votre contenu basé sur la spécification. Mais si vous utilisez des invalides de balisage, le navigateur va essayer et interperet le balisage et affichage de la page comment il pense qu'il voulait dire être. Parfois, ils vont afficher comme vous le souhaitez, parfois pas. Voici un exemple de Firefox 3.5 sur un Mac.
La première liste est votre code, mais, avec la bonne
<ul>
tag remplacement de la<div>
tag. La deuxième liste est votre code exactement. Notez que la seconde liste est manquant les marges par défaut sur la gauche et les balles.Fondamentalement, rien ne va mourir si vous utilisez des invalides de balisage comme ça, mais c'est vraiment de la mauvaise pratique, car elle conduira à l'inattendu et de l'incohérence des résultats.
C'est la même que l'utilisation de
<td>
balises à l'intérieur<p>
. Bien sûr, il pourrait travailler en quelque sorte sur certains navigateurs, mais il va certainement être brisé. Le comportement d'une telle construction est undefined, il n'y a pas de garanties sur la façon dont il fonctionne sur les différents navigateurs. Ne pas parler de l'accessibilité, des programmes de lecteur d'écran serait assez perplexe sur ce genre de structure.Pourquoi n'utilisez-vous pas un bon
<ul>
ou<ol>
tag? Il peut être de style et de poignées de la même façon qu'une<div>
.<ul>
balises. La question est plus sur ce que ce serait de la structure de pause pour les utilisateurs finaux?C'est l'écho de tout le monde de répondre, en partie: avec n'importe quelle balise, il y a une question empirique de savoir si ça fonctionne ou pas sur les navigateurs que vous testez sur. Vous l'avez testé sur tous vos navigateurs, et votre plaisir. C'est cool et c'est un immense partie de l'œuvre.
Mais au-delà, il y a aussi la question hypothétique de la façon dont cela pourrait fonctionner sur un navigateur plate-forme de combinaisons que vous n'avez pas testé, soit parce que:
Pour ce jeu, qui devient toujours pertinentes, tôt ou tard, vous devez suivre les normes -- quand c'était possible-et d'utiliser les enfermant UL ou OL tags (dans ce cas).
Il est également intéressant de mentionner que les balises LI plus facile à suivre vers le bas si vous faites de script, ou si quelqu'un est en train de faire un script sur votre page (par exemple, Greasemonkey).
Je ne vois pas pourquoi il ne s'affiche pas correctement, alors il n'est pas censé exister elle rendu amende.
Vous devriez le mettre dans un
<ul>
il y a pas avantages pour le balisage vous utilisez plus de ne pas le faire correctement.En tant que web designer/développeur, vous savez, vous vous trouvez hors tension lorsque vous commencez l'écriture HTML que même Frontpage ou Microsoft Word ne serait pas générer.
Respect des normes est une rue à double sens. Si nous voulons que les développeurs de navigateurs pour créer rapide, fiable et cohérente des moteurs de rendu, nous avons besoin de les rencontrer à mi-chemin par la création d'uniforme, propre et bien formé HTML.
Inattendue des comportements de rendu sur les différents navigateurs ?
Le RÉFÉRENCEMENT ?
Il serait pour le navigateur de mise en œuvre de décider quoi faire avec elle.
Si vous voulez vraiment le faire, de la tester dans tous les navigateurs vous souhaitez prendre en charge avant de l'utiliser.
Noter également que les navigateurs comportements pourrait changer dans l'avenir.
Dangereux? Il ne souffle pas que quoi que ce soit. Il peut causer des problèmes si la mise en page est de toute façon important pour vous.
Vous juste ne sais pas comment le navigateur va le rendre.
Je ne peux pas vraiment imaginer pourquoi vous ne devriez pas l'envie de mettre la
<ul>
ou<ol>
dans les tags, ils définissent la liste. Ensuite, vous avez le contrôle sur la façon dont la liste est affichée, pas de le laisser pour le navigateur de décider, ce qui est important. Leur disparition est juste écrit invalide balisage, ouais, ça va fonctionner dans certains navigateurs, mais id certainement garder à l'intérieur.La plupart des navigateurs sera probablement prendre cela et courir avec lui, mais il existe deux types de liste des types disponibles: non ordonnée <ul> et des listes ordonnées <ol>, où une liste ordonnée des nombres pour chaque élément.
Au lieu d'utiliser des <li> balises, vous pouvez utiliser un "•" bullet caractère (•), et puis un <br /> à la fin de chaque ligne.
Je ne voudrais pas compter sur un quelconque comportement. Il suffit de remplacer que
<div>
par<ul>
et utiliser les CSS pour le style.