37 votes

HTML|CSS: Espace entre les boutons d'entrée

J'ai un problème dans lequel j'ai un espace entre ces deux boutons.

Le code est le suivant:

.PostBtn
{
   background: url(../Images/Buttons/PostButtonF.png) no-repeat;
   width: 50px;
   height: 28px;
   border: none;
   margin: 0;
   padding: 0;
}
#NeedBtn
{
   background-position: 0 0;
}
#ProvBtn
{
   background-position: -50px 0;
}

Comment enlever cet espace?

Navigateur: Firefox 3.5

IE8

78voto

Pikrass Points 2671

Le saut de ligne entre les deux crée un espace entre eux sur la page. Vous devez supprimer le saut de ligne, ou utiliser ce truc :

3 votes

La saut de ligne cause l'espace, il faut le taper comme ceci : au lieu de les avoir sur des lignes séparées.

0 votes

Mettez sur une seule ligne.

0 votes

Désolé si je n'ai pas utilisé des mots clairs, l'anglais n'est pas ma langue maternelle.

25voto

Matthew Points 2740

Surpris que personne n'ait encore mentionné cette méthode :

Le problème est l'espacement blanc entre les deux boutons qui est rendu. Tout espace blanc (retours à la ligne, tabulations, espaces) entre les boutons sera rendu comme un espace unique par le navigateur. Pour corriger cela, vous pouvez définir la taille de police à 0 sur un élément parent.

J'ai ajouté DIV#button-container autour des boutons et un style pour montrer le truc de la taille de police.

Note : j'ai également dû changer la position sur l'image de fond du bouton que vous avez liée car elle avait quelques pixels d'espace supplémentaires autour. Peut-être que cela faisait partie du problème, peut-être pas.

Voici un lien vers le fiddle: http://jsfiddle.net/dHhnB/ et le code:

#button-container
{
   font-size:0;    
}
.PostBtn
{
   background: url(http://img22.imageshack.us/img22/5066/capturebtn.png) no-repeat;
   width: 50px;
   height: 28px;
   border: none;
   margin: 0;
   padding: 0;
}
#NeedBtn
{
   background-position: -4px 0;
}
#ProvBtn
{
   background-position: -59px 0px;
}

0 votes

Cette réponse m'a aidé à comprendre que vous devez supprimer non seulement le saut de ligne, mais également tous les retraits que vous aviez sur la ligne suivante.

0 votes

Propre. J'avais utilisé float, mais cela peut être mieux dans certaines situations. Si vous avez du texte dans le conteneur, c'est cuit.

0 votes

Vous pouvez créer un conteneur séparé à l'intérieur du conteneur font-size:0 pour le texte et changer la taille de police selon vos besoins. Le seul problème avec cette méthode est que vous perdez l'héritage de la taille de police. Par exemple, si vous avez une taille de police de 14pt sur votre corps, vous devez la redéfinir sur ces conteneurs de texte internes.

8voto

einar Points 939

Vous pouvez utiliser le CSS pour le corriger. Définissez float:left ou float:right sur les boutons d'entrée. Cela a résolu le problème pour moi.

0 votes

C'est exactement ce dont j'avais besoin. J'avais les boutons dans des cellules de tableau et ils ajoutaient de l'espace supplémentaire gênant. Les mettre en float: left a résolu le problème!

3voto

vectran Points 788

Essayez d'utiliser une réinitialisation CSS - cela pourrait résoudre le problème de différence de navigateur : http://meyerweb.com/eric/tools/css/reset/reset.css

1voto

neatlysliced Points 139

Je vois qu'ils ont une hauteur et une largeur définies. Ajouter overflow: hidden devrait masquer l'espace vide en dehors de votre largeur définie. C'est une alternative à l'élimination de l'espace vide, comme l'a remarqué @Pikrass. Habituellement, l'espace vide est un problème d'IE, je ne l'ai pas remarqué dans FF avant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X