2017-08-10 1 views
0

mir verschiedene Trie tun things aber kann nicht scheinen, von dem weißen Raum hier zwischen zwei Inline-Blöcken zu befreien, so ist list nicht neben inline-block-div:CSS Inline Block Leerraum

.parent { 
 
    border: 10px solid red; 
 
} 
 

 
.list { 
 
    border: 5px solid green; 
 
    margin-top: 0; 
 
    display: inline-block; 
 
    width: 25%; 
 
} 
 

 
.inline-block-div { 
 
    border: 5px solid blue; 
 
    display: inline-block; 
 
    vertical-align: top; 
 
    width: 75%; 
 
}
<div class="parent"> 
 
    <div class="list"> 
 
    <ul> 
 
     <li>one</li> 
 
     <li>two</li> 
 
     <li>three</li> 
 
    </ul> 
 
    </div> 
 
    <div class="inline-block-div">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Iste pariatur autem ipsam. Quidem beatae ipsum mollitia unde ab vitae consequatur culpa alias accusantium corporis. Sapiente autem voluptatibus sunt asperiores temporibus.</div> 
 

 
</div>

Antwort

1

Ich empfehle, Flex zu verwenden. Flex ist sehr nützlich um sich zu entwickeln.

.parent { 
 
    border: 10px solid red; 
 
    display: flex; 
 
} 
 

 
.list { 
 
    border: 5px solid green; 
 
    margin-top: 0; 
 
    display: inline-block; 
 
    width: 25%; 
 
} 
 

 
.inline-block-div { 
 
    display: inline-block; 
 
    vertical-align: top; 
 
    width: 75%; 
 
}
<div class="parent"> 
 
    <div class="list"> 
 
    <ul> 
 
     <li>one</li> 
 
     <li>two</li> 
 
     <li>three</li> 
 
    </ul> 
 
    </div> 
 
    <div class="inline-block-div">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Iste pariatur autem ipsam. Quidem beatae ipsum mollitia unde ab vitae consequatur culpa alias accusantium corporis. Sapiente autem voluptatibus sunt asperiores temporibus.</div> 
 

 
</div>

+0

Ich weiß, dass ich es mit Flexbox tun können, aber ich möchte verstehen, warum inline-block nicht – stackjlei

+0

arbeitet weiß, dass ich einen Weg, um Ihr Problem zu lösen. Wenn Sie * {font-size: 0pt} einstellen, können Sie zwischen Inline-Blöcken keinen Leerraum sehen. aber ich denke, es ist kein guter Weg zu lösen. – zynkn

+1

@stackjlei Willst du das? https://codepen.io/anon/pen/mMmNaE – zynkn

0

Sie können die Eltern ein Flexbox es

.parent { 
 
    border: 10px solid red; 
 
    display: flex; 
 
} 
 

 
.list { 
 
    border: 5px solid green; 
 
    margin-top: 0; 
 
    display: inline-block; 
 
    width: 25%; 
 
} 
 

 
.inline-block-div { 
 
    display: inline-block; 
 
    vertical-align: top; 
 
    width: 75%; 
 
}
<div class="parent"> 
 
    <div class="list"> 
 
    <ul> 
 
     <li>one</li> 
 
     <li>two</li> 
 
     <li>three</li> 
 
    </ul> 
 
    </div> 
 
    <div class="inline-block-div">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Iste pariatur autem ipsam. Quidem beatae ipsum mollitia unde ab vitae consequatur culpa alias accusantium corporis. Sapiente autem voluptatibus sunt asperiores temporibus.</div> 
 
</div>

+0

Ich weiß, ich kann es mit flexbox tun, aber ich möchte verstehen, warum Inline-Block nicht funktioniert – stackjlei

+0

Hier finden Sie eine vollständige Erklärung mit verschiedenen Lösungen für Ihr Problem https://stackoverflow.com/questions/32801095/inline-block -Boxen-nicht-passend-in-ihrem-Container – Gerard

2

fixiert zu haben, machen den Raum von HTML tatsächlich kommt. Standardmäßig wird Speicherplatz zu Inline-Block Elementen hinzugefügt. Ich hoffe, du wusstest, dass du den Weltraum bekämpfen musst. Und ein anderes Problem in Ihrem CSS Sie haben vergessen, Box-Sizing hinzuzufügen: border-box Eigentum.

Ohne diese Eigenschaft Breite berechnet wird als

Breite folgt: 75% + border-Links-Breite + border-rechts-Breite. Ihre Breite ist also 75% + 10px. Ihre Breite wird mehr hinzugefügt, wenn eine Polsterung erwähnt wird. Versuchen Sie stattdessen diesen Code

div{ 
 
    box-sizing:border-box; 
 
} 
 
.parent { 
 
    border: 10px solid red; 
 
    width:100% 
 
} 
 

 
.list { 
 
    border: 5px solid green; 
 
    margin-top: 0; 
 
    display: inline-block; 
 
    width: 25%; 
 
} 
 

 
.inline-block-div { 
 
    display: inline-block; 
 
    vertical-align: top; 
 
    width: 75%; 
 
    margin-left:-4px; 
 
    border:5px solid blue 
 
}
<div class="parent"> 
 
    <div class="list"> 
 
    <ul> 
 
     <li>one</li> 
 
     <li>two</li> 
 
     <li>three</li> 
 
    </ul> 
 
    </div> 
 
    <div class="inline-block-div">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Iste pariatur autem ipsam. Quidem beatae ipsum mollitia unde ab vitae consequatur culpa alias accusantium corporis. Sapiente autem voluptatibus sunt asperiores temporibus.</div> 
 

 
</div>

+0

Ja, ich habe vergessen, Box-Sizing hinzuzufügen – stackjlei