2010-11-04 5 views
1

J'essaie d'implémenter l'affichage suivant.word-wrap en CSS

alt text

Mon html & CSS sont comme ça ...

<div class="label iepngfix">Nickname</div> 
<div class="text"> 
    <?php echo $nickname; ?> 
</div> 

.label { 
    float: left; 
    font-weight: bold; 
    padding: 0; 
} 

.text { 
    float: left; 
    margin: 0 0 0 5px; 
    word-wrap: break-word; 
} 

Dans IE6, 7 il semble bien, mais, dans IE8, Chrome et Firefox, il semble comme ça ...

alt text

Qu'est-ce qui me manque ici?

Cordialement

Répondre

3

Votre CSS et HTML ne correspondent pas vraiment, mais je pense que, puisque vous ne donnez pas une largeur au second flotteur et il contient un long texte, le navigateur fait aussi large que possible ainsi il ne s'adaptera pas à côté du premier flotteur.

Ou quelque chose que vous ne nous montrez pas déclenche cela. Votre page déclenche-t-elle le mode standard (par exemple, a-t-elle un DOCTYPE)?

+1

Sans définir explicitement la largeur, l'élément essaiera de s'étendre le plus possible - c'est le comportement standard. Voir: http://www.jsfiddle.net/yijiang/xbzVp/1/ –

0

Si vous donnez à div.text une largeur définie, vous obtiendrez les résultats que vous recherchez. Exemple: Si la boîte contenant est 250px, div.label est naturellement 90px, alors div.text a besoin d'une largeur de 155px ou moins (cela prend en compte la marge de 5px).