HTML - alignement des boutons radio et de texte
Dire que vous avez deux simples cellules d'un tableau à côté de l'autre.
L'un contient un bouton radio et de texte. L'autre contient seulement du texte.
Le bouton radio de la taille est définie à 16x16 pixels (ne me demandez pas pourquoi, supposons que c'est juste).
La taille de la police est de 12 pixels.
Comment voulez-vous faire à la fois des étiquettes et le bouton radio à la ligne de manière cohérente dans tous les principaux navigateurs (ou raisonnablement proche possible de la verticale du milieu de la ligne du tableau?
Exemple de code HTML pour vous aider à démarrer:
<style type="text/css">
td {
font-size: 12px;
font-family: Verdana;
}
.radio {
width: 16px;
height: 16px;
vertical-align: middle;
margin: 0px;
}
.blah {
text-decoration: line-through;
}
</style>
<table>
<tr>
<td>
<input type="radio" class="radio" />
<span class="blah">O</span>
</td>
<td>
<span class="blah">O</span>
</td>
</tr>
</table>
Dans ma installé les versions de IE, Opera, Firefox et google Chrome, le ci-dessus rend comme cette
Le résultat que j'attends de voir, c'est celui qui est affiché à l'image de... ...c'est à dire? Sérieusement?
Le reste regarde d'assez près, mais toutes les tentatives que j'ai fait pour aligner le texte fait-il toujours l'air terrible dans au moins 2 des 4 navigateurs.
OriginalL'auteur mjomble | 2010-06-30
Vous devez vous connecter pour publier un commentaire.
Googler "vertical-align:middle" trouvés cette courte explication par Gavin Kistner, ce qui est utile. J'ai essayé la suggestion finale sur cette page, qui semble rendre repectably dans Chrome, IE, Firefox, Opera, et Safari.
Ce que j'ai fait a été d'ajouter
td{ line-height:1.5em }
- voir le lien pour les explications.OriginalL'auteur Dan Burton
Une solution rapide est de faire de la
font-size:12px;
de la td etwidth:16px;height:16px;
de la radio de l'égalité.2 exemples:
et
cette astuce a très bien fonctionné pour moi dans FF et Chrome... ne l'ai pas testé sous IE, mais je ne suis pas à l'aide de tableaux)... Merci!
Cela n'est pas pour faire joli sur la haute résolution écran :/
OriginalL'auteur tcooc
Pourquoi ne pas vous mettre le texte dans sa propre colonne.
donner une classe avec padding:0;
OriginalL'auteur gblazex
Une façon d'y parvenir serait d'ajouter une table imbriquée à la première de vos deux cellules, et de mettre le bouton radio et de la première période de deux cellules (à l'intérieur de la table imbriquée)
Sans blague, mais il est déjà à l'aide de tableaux, qui s'en soucie?
La table externe était en fait assez justifiée (dans le problème original que j'ai tiré cet exemple) comme j'ai besoin d'en organiser le contenu en une véritable grille. Donc, je voudrais encore rester à l'écart de ces intérieure "hack " tables" 🙂 Mais de toute façon, j'ai déjà eu une réponse qui a résolu le problème.
OriginalL'auteur alex
Rapide de coups de feu dans l'obscurité:
vertical-align:middle;
àtd
au lieu de.radio
? Peut encore causer des problèmes, parce que la ligne de base du texte dans la cellule avec la radio de l'élément d'entrée peut toujours être déterminé par l'élément d'entrée...OriginalL'auteur orithena