2010-06-03 7 views
2

Voici le HTMLComment afficher une liste HTML non imbriquée?

<ul> 
    <li>Salads</li> 
    <li>Fruits 
     <ul> 
      <li>Apples</li> 
      <li>Prunes</li> 
     </ul> 
    </li> 
    <li>Main Course</li> 
</ul> 

Voici à quoi il ressemble maintenant:

 
Salads Fruits 
    Apples Prunes 
Main Course 

Et voici ce que je voudrais que ça ressemble à:

 
Salads Fruits Main Course 
Apples Prunes 

Comment puis-je parvenir , sans en modifiant le code HTML?

CSS actuel:

ul { 
    list-style:none; 
    display:block; 
} 
li { 
    display:inline-block; 
} 
+0

Si les salades ou le plat principal ont des enfants, indiquez comment vous voulez que les résultats apparaissent. Une même ligne avec des pommes et des pruneaux ou des lignes différentes? –

+0

@Khnle: Seul l'un des meilleurs éléments va jamais avoir des enfants. Je l'utilise pour un menu. –

Répondre

6

Il en résulte à l'écran:

Salads Fruits Main Course 
     Apples Prunes 

Voici le CSS je.

ul { 
    list-style:none; 
    display:block; 
    float: left; 
    clear: both; 
    width: 100%; 
} 

li { 
    display: inline; 
} 

Si vous ne voulez pas que les fruits individuels pour commencer un peu à travers la page - retirer le rembourrage avec cette règle de style:

ul > li > ul { 
    padding-left: 0; 
} 

Toutes ces va encore travailler si vous nid plus d'articles aussi. Par exemple:

<ul> 
    <li>Salads 
     <ul> 
      <li>Green Leaf</li> 
      <li>Chicken</li> 
     </ul> 
    </li> 
    <li>Fruits 
     <ul> 
      <li>Apples</li> 
      <li>Prunes</li> 
     </ul> 
    </li> 
    <li>Main Course</li> 
</ul> 
+0

http://jsfiddle.net/s6yup/2/ est venu avec le même. – Kyle

+0

Un test rapide utilisant browsershots.org a montré que cela fonctionne même pour les anciens navigateurs. Merci beaucoup! –

+0

@Georg - content de pouvoir aider. – Fenton

-1

vous devrez appliquer des styles aux ULs INSIDE du lis. Essayez ceci

ul li { 
    float: left;   
} 
+0

Il en résulte un grand écart dans la rangée du haut. – Fenton

3

Vous devriez le style de la ul à l'intérieur du li, et l'intérieur du liul,

View demo here. J'espère que ça aide.

CSS pour un rapide coup d'oeil:

ul { 
    list-style:none; 
    display:block; 
    float: left; 
    clear: both; 
    width: 100%; 
} 
li { 
    display: inline; 
} 
ul > li > ul { 
    padding-left: 0; 
} 
+0

Cette disposition est interrompue lorsque les longueurs de texte changent. –

+0

Après un peu plus de tests, je suis venu avec la même réponse que Sohnee vérifier: http://jsfiddle.net/s6yup/2/ – Kyle

Questions connexes