2010-10-01 7 views
3

J'ai un div à 100%, afin de centrer les choses J'ai une balise d'ancrage à l'intérieur je veux seulement à la largeur de 85px, mais il ne reconnaît pas cela et étendra juste basé sur la longueur du texte qui est dans l'ancre marque.Div largeur 100%, mais voulez une ancre à l'intérieur pour seulement 85px de large?

HTML:

<div class="players_names"> 
    <a class="player_name" href="#">34 J. Langenbrunner</a><br /> 
    <a class="team_name" href="#">TORONTO</a> 
</div> 

CSS:

.players_names{ 
    width: 100%; 
    position: relative; 
    z-index: 3; 
    text-align: center; 
} 
.players_names a{ 
    color: #fff; 
} 
.players_names a.player_name { 
    width: 85px; 
    font-size: 1.1em; 
    text-align: center; 
    line-height: 1; 
} 

pourquoi ne peut-il faire exactement ce que je lui dis de le faire?

Répondre

4

Par défaut, a est un tag inline. Pour spécifier une largeur (ou hauteur), vous devrez obtenir pour rendre comme inline-block (ou block, puisque vous semblez vouloir sur son propre privilège de toute façon):

.players_names a.player_name { 
    width:85px; 
    font-size:1.1em; 
    text-align: center; 
    line-height: 1; 
    display: block; 
} 
2

a est une étiquette de niveau en ligne. Seules les balises de niveau bloc peuvent avoir un ensemble de largeur. Comme cela a été indiqué dans le commentaire par kmfk, vous pouvez définir display: block dans votre CSS pour l'élément.

+1

Quels moyens , vous pouvez définir manuellement l'étiquette d'ancrage à afficher en tant qu'élément de bloc. Ajoutez 'display: block' à vos styles. – kmfk

0

Il suffit de remplacer

players_names a.player_name { 
width: 85px; 
font-size: 1.1em; 
/*text-align: center; - Delete this line */ 
margin: 0 auto; /*Add this line*/ 
display: block; /*Add this too*/ 
line-height: 1; 
} 
+0

En outre, juste FYI - la largeur par défaut d'un div est de 100%, il n'est donc pas nécessaire de le déclarer sauf si vous essayez d'écraser une déclaration de style précédente. – Marcus

0
display:inline-block; 

ou

display:block; 

à votre point d'ancrage alors vous serez en mesure de modifier sa largeur et il ight, et si vous voulez masquer le contenu de plus vous pouvez utiliser:

overflow:hidden; 

ou vous pouvez utiliser CSS3 et déformer le mot à votre largeur:

word-wrap: break-word; 

this helps

Questions connexes