Est-il nécessaire de montrer un & lt; div & gt?
J'aimerais afficher un div qui a une couleur d'arrière-plan avec la hauteur et la largeur à 100%, mais pas de contenu. Est-il possible de le faire sans mettre un à l'intérieur?
Edit: Merci à Mark Biek pour préciser que div vide avec la largeur et la hauteur de styles montre comment j'allais attendre. Mon div est dans une cellule de tableau, où elle ne montre pas.
<table style="width:100%">
<tr>
<th>Header</th>
<td><div id="foo"></div></td>
</tr>
</table>
source d'informationauteur Dan Goldstein
Vous devez vous connecter pour publier un commentaire.
Cela semble fonctionner dans les navigateurs Firefox, Safari, IE6, & IE7.
Hmmm... je ne suis pas sûr de ce que exactement les spécifications dire, mais je sais que tout vide inline-éléments (par exemple, durée) sont valides, bloc vide-éléments (par exemple, p ou div) obtenir "nettoyé" par html tidy.
Donc je dirais que c'est mieux de s'en tenir à la comme il n'y a aucun mal dans votre cas. Je voudrais aussi ajouter un commentaire comme "<!-- arrière-plan du conteneur -->" ou quelque chose comme ça. Donc tout le monde qui va changer votre code html sait que la div a une signification particulière, même si elle est vide.
À mon humble avis, vous devez inclure l'nbsp autrement vide DIVs si vous voulez à réellement rendre en quelque chose.
Sur un "théorique", remarque .. le navigateur n'est pas censé de montrer quoi que ce soit si il n'y a pas de contenu. L'ensemble de point de nbsp est pour indiquer l'espace vide. C'est à la fois le sens commun et (je crois) de la norme.
Sur un côté pratique .. vous avez trois choix. L'un est de laisser nbsp off, en sachant que vous obtiendrez des résultats imprévisibles. C'est probablement le plus facile à coder. Une autre est de toujours inclure nbsp, soit en plaçant toujours nbsp à la fin de la div ou les essais à vide et en ajoutant nbsp si elle est vide. La troisième quant à elle à tester pour le navigateur et insérer nbsp cas de besoin.
Je pense que cela dépend du navigateur (IE/Gecko le moteur/moteur Webkit) et le mode (mode standard, mode Quirks). J'ai eu quelques divs figurant dans FFox/mode standard et ne figurant pas dans IE6/7.
Vous pouvez probablement le faire dans un navigateur croix de chemin avec uniquement du css, mais vous aurez probablement recourir à des hacks css.
De l'expérience, c'est à dire de ne pas rendre les frontières des éléments vides (au moins vide <td> éléments)
peut-être
#foo {empty-cells: show;}
bien que peut-être seulement pour
<td>
Vous devez inclure
à tout moment.