Pourquoi <td > hauteur de pas égal à <img > hauteur à l'intérieur de celui-ci quand DOCTYPE XHTML 1.0 Strict?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td align="right" colspan="5">
<span class="validationInline">*</span>
<span class="hint">Required fields</span>
</td>
</tr>
<tr>
<td colspan="5" background="http://media.monster.com.hk/bgr_8.gif">
<img src="/static/cleardot.gif" height="1" width="1" />
</td>
</tr>
</table>
</body>
</html>
Pouvez le vérifier ici:
http://maishudi.com/tt2.html
Je l'ai connue elle est causée par le DOCTYPE ,parce que la suppression de cette partie sera de le rendre normal:
Quel est donc le problème?Comment puis-je le faire fonctionner avec le DOCTYPE ?
Je voudrais, tout d'abord, vous conseillons de les remplacer XHTML1.0 doctype avec HTML4.01 stricte (voir webdevout.net/articles/beware-of-xhtml pourquoi c'est une bonne idée)
Oh,je ne peux pas changer le doctype sera la cause de beaucoup d'autres ennuis pour moi maintenant.
Je vous recommande de continuer à utiliser le XHTML Strict. Des exigences plus strictes sont une bonne chose dans absolument toute forme de développement de logiciels, à l'exception de HTML. Cela en dit beaucoup de ce que les programmeurs pensent généralement de HTML et de la compétence de ceux qui sont obligés de l'écrire. Ce que l'article de kangax ne dit pas c'est qu'il est parfaitement valide pour envoyer XHTML Strict en tant que text/html. Seulement XHTML 1.1 exige l'application/xml+xhtml de type mime.
Je crois que les inconvénients de servir xhtml en tant que texte/html clairement l'emportent sur ses avantages (voir, par exemple, hixie l'explication approfondie - hixie.ch/plaidoyer/xhtml). YMMV.
Oh,je ne peux pas changer le doctype sera la cause de beaucoup d'autres ennuis pour moi maintenant.
Je vous recommande de continuer à utiliser le XHTML Strict. Des exigences plus strictes sont une bonne chose dans absolument toute forme de développement de logiciels, à l'exception de HTML. Cela en dit beaucoup de ce que les programmeurs pensent généralement de HTML et de la compétence de ceux qui sont obligés de l'écrire. Ce que l'article de kangax ne dit pas c'est qu'il est parfaitement valide pour envoyer XHTML Strict en tant que text/html. Seulement XHTML 1.1 exige l'application/xml+xhtml de type mime.
Je crois que les inconvénients de servir xhtml en tant que texte/html clairement l'emportent sur ses avantages (voir, par exemple, hixie l'explication approfondie - hixie.ch/plaidoyer/xhtml). YMMV.
OriginalL'auteur omg | 2009-09-20
Vous devez vous connecter pour publier un commentaire.
Remarque: cela dépend probablement sur le navigateur.
La taille de bloc au niveau de l'élément (td, div, etc) si non spécifié sera seulement aussi grand que nécessaire, en fonction de l'espace occupé par son contenu. Si ce paramètre est spécifié, il va essayer de développer en conséquence, sauf si le contenu est plus grand, auquel cas elle se développer si nécessaire.
Dans votre exemple, la cellule ne contient qu'un seul caractère (espace insécable), qui prennent la taille d'une seule ligne. Par conséquent, l'élément de bloc doit être d'au moins 1 hauteur de la ligne de haut; il ne peut pas assumer toute petite taille. C'est pourquoi la hauteur de votre déclaration a été ignorée.
Vous souhaiterez peut-être utiliser ce style:
Ceci définit la hauteur de la ligne de 1px. La hauteur de la ligne n'est pas un élément, de sorte que la règle ci-dessus ne s'applique pas.
Il est basé sur des navigateurs. Certains navigateurs s'attendre à du texte contenu dans des éléments. Cela peut aussi arriver avec des divs.
Édité ma réponse.
OriginalL'auteur RichN
Ajouter un bloc de style avec cette règle
et voir https://developer.mozilla.org/en/Images,_Tables,_and_Mysterious_Gaps pour une explication complète.
OriginalL'auteur Alohci
arrière-plan n'est pas un attribut standard pour les éléments TD est la raison. Au lieu d'utilisation:
Comme pour votre 1 pixel de l'image, je suppose que c'est simplement pour faire de la cellule du tableau apparaissent? Si oui, ce n'est pas conseillé façon de le faire. Vous pouvez soit le faire:
en CSS bien que je ne pense pas que IE6 prend en charge. La plus conforme aux normes façon est d'utiliser un non espace insécable:
OriginalL'auteur cletus