2010-06-07 13 views
1

Je rencontre un problème avec la présentation correcte des éléments dans une liste non ordonnée. Les étiquettes sont flottantes à gauche et les portées connexes qui sont longues sont enveloppées et apparaissent sous l'étiquette. J'ai besoin d'une solution qui garde les envergures connexes dans leurs colonnes respectives. En d'autres termes, je ne veux pas que les longues portées soient visibles sous les étiquettes. De quelle propriété puis-je profiter pour obtenir la disposition souhaitée dans tous les navigateurs populaires, y compris IE6? Merci d'avance pour l'aide.Problème de présentation dans une liste non ordonnée

Mon code est le suivant:

<ul> 
    <li> 
     <label>Name</label> 
     <span><%= Html.Encode(Model.Name) %></span> 
    </li> 
    <li> 
     <label>Entity</label> 
     <span><%= Html.Encode(Model.Entity) %></span> 
    </li> 
    <li> 
     <label>Phone</label> 
     <span><%= Html.Encode(Model.Phone) %></span> 
    </li> 
</ul> 

Mon style CSS est la suivante:

ul 
{ 
    display:block; 
    list-style-type:none; 
    margin:0; 
    padding:0; 
} 

ul li label 
{ 
    float:left; 
    width:100px; 
} 
+1

Je vous recommande personnellement d'utiliser une liste de définitions à la place, ou peut-être même une table pour ce type d'information. –

+2

La balise 'label' n'est pas destinée à ce type d'utilisation. Vous devriez vraiment envisager d'utiliser un 'dl'. – mqchen

+0

Pourquoi les étiquettes d'étiquettes ne sont-elles pas prévues pour cet usage? Quels sont les avantages de l'utilisation d'une liste de définitions? Merci d'avance pour la clarification. – phreeskier

Répondre

1

Cela fonctionne dans Firefox. Il devrait également fonctionner dans IE6.

ul li span { 
    display: block; 
    margin-left: 100px; 
}