2016-04-04 7 views
1

Ich muss jedes ungerade Element auf der linken Seite und alle geraden Elemente auf der rechten Seite wie das Bild unten platzieren.FLoated Elemente obere Ausrichtung

enter image description here

Bitte überprüfen Sie die Geige für das, was ich bisher getan haben. https://jsfiddle.net/afelixj/na4fwkg7/

Wie kann ich den zusätzlichen Platz über und unter dem dritten grünen Element entfernen? Hier

ist der Code

*{box-sizing:border-box;} 
 
ul{ 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
li{ 
 
    list-style: none; 
 
    border: 2px solid red; 
 
    margin: 0 0 10px; 
 
    width: 50%; 
 
} 
 
li:nth-child(odd){ 
 
    float: left; 
 
    clear: left; 
 
} 
 
li:nth-child(even){ 
 
    border: 2px solid green; 
 
    float: right; 
 
    clear: right; 
 
}
<ul> 
 
    <li>test</li> 
 
    <li>Lorem ipsum dolor sit amet</li> 
 
    <li>, consectetur adipisicing elit. Reiciendis aliquid eos sint et autem optio? Optio </li> 
 
    <li>culpa, nisi, dolore maiores aut vel cum</li> 
 
    <li> totam non ab voluptatibus assumenda quasi, blanditiis?</li> 
 
    <li>test</li> 
 
    <li>Lorem ipsum dolor sit amet</li> 
 
    <li>, consectetur adipisicing elit. Reiciendis aliquid eos sint et autem optio? Optio </li> 
 
    <li>culpa, nisi, dolore maiores aut vel cum</li> 
 
    <li> totam non ab voluptatibus assumenda quasi, blanditiis?</li> 
 
    <li>test</li> 
 
    <li>Lorem ipsum dolor sit amet</li> 
 
    <li>, consectetur adipisicing elit. Reiciendis aliquid eos sint et autem optio? Optio </li> 
 
    <li>culpa, nisi, dolore maiores aut vel cum</li> 
 
    <li> totam non ab voluptatibus assumenda quasi, blanditiis?</li> 
 
</ul>

+0

Welchen Platz möchten Sie entfernen? – ketan

+0

gibt es etwas zusätzlichen Platz über und unter dem dritten grünen Element, mit Inhalt "Test" –

+0

für diese denke ich beste Lösung, um Display zu verwenden: Inline-Block. Sie können versuchen, dass –

Antwort

1

Versuchen

li:nth-child(even){ 
    display: inline-block; 
} 

Ihre Geige mit dieser Änderung - https://jsfiddle.net/e5p15160/

+0

die schwebenden linken Gegenstände werden nicht nach oben bewegt. Überprüfen Sie diesen Fall [https://jsfiddle.net/afelixj/e5p15160/1/](https://jsfiddle.net/afelixj/e5p15160/1/) –

+0

wie folgt dann: https://jsfiddle.net/e5p15160/ 3/ – Goombah

+0

@Goombah Das Hinzufügen von 'float' überschreibt die Eigenschaft 'dispaly-inline', so dass das vorherige Beispiel bricht – t1m0n

0

Prüfen Sie dies, wenn es geeignet ist für dich, ich Position hinzugefügt a s relativ in li für css:

<ul> 
<li>test</li> 
<li>Lorem ipsum dolor sit amet</li> 
<li>, consectetur adipisicing elit. Reiciendis aliquid eos sint et autem optio? Optio </li> 
<li>culpa, nisi, dolore maiores aut vel cum</li> 
<li> totam non ab voluptatibus assumenda quasi, blanditiis?</li> 
<li>test</li> 
<li>Lorem ipsum dolor sit amet</li> 
<li>, consectetur adipisicing elit. Reiciendis aliquid eos sint et autem optio? Optio </li> 
<li>culpa, nisi, dolore maiores aut vel cum</li> 
<li> totam non ab voluptatibus assumenda quasi, blanditiis?</li> 
<li>test</li> 
<li>Lorem ipsum dolor sit amet</li> 
<li>, consectetur adipisicing elit. Reiciendis aliquid eos sint et autem optio? Optio </li> 
<li>culpa, nisi, dolore maiores aut vel cum</li> 
<li> totam non ab voluptatibus assumenda quasi, blanditiis?</li> 
</ul> 
<style> 
*{box-sizing:border-box;} 
ul{ 
margin: 0; 
padding: 0; 
} 
li{ 
list-style: none; 
border: 2px solid red; 
margin: 0 0 10px; 
width: 50%; 
position:relative; 
} 

li:nth-child(odd){ 
float: left; 
clear: left; 
} 

li:nth-child(even){ 
border: 2px solid green; 
float: right; 
clear: right; 
} 
</style>