Ответ 1
li {display:table;}
твой друг. Также не забудьте удалить встроенные стили!
У меня есть этот макет:
<ul style="white-space:nowrap;">
<li style="width:200px; display:inline-block;"></li>
<li style="display:inline-block; vertical-align:top; padding-left:10px;"></li>
</ul>
Мне удалось остановить ul
от обертывания, что является началом. Тем не менее, содержание во 2-ом li
продолжается вне экрана. Перекрытие родительских элементов и т.д.
Мне нужен второй li
чтобы преодолеть провисание и быть динамичным по ширине в отличие от первого li
. И мне нужен текст, чтобы обернуть во 2-й li
.
li {display:table;}
твой друг. Также не забудьте удалить встроенные стили!
Попробуйте white-space: normal
для элементов li
.
white-space
по умолчанию наследуется, поэтому они получили nowrap
из ul
.
Я начинаю думать, что вы используете ul
для целей макета, для которых div
может быть лучше подходит для:
<div class="Item">
<div class="ImageContainer"><img src="" alt="/></div>
<div class="TextContainer">Text text text text text</div>
</div>
.Item {
width: 200px;
overflow: auto;
}
.ImageContainer {
float: left;
width: 40%;
}
.TextContainer {
float: left;
width: 60%;
}
Похоже, что вы действительно можете использовать таблицу.
В противном случае, если вы знаете ширину изображения, поместите его влево и дайте следующему элементу левое поле, большее или равное ширине изображения.
Например:
article > img {
float: left;
height: 80px;
width: 80px;
}
article > div {
margin-left: 90px;
}
<article>
<img src="http://www.gravatar.com/avatar/7e6e0e2b73358e47e0b7f83f8111f75b">
<div>
<h4>Matt Di Pasquale</h3>
<p>I know the width of the image is 80px, so I floated it left and gave the <code>div</code> a 90px left margin. That way, everything gets layed out perfectly, and this paragraph text wraps.</p>
</div>
</article>
Это практический пример использования CSS Grid Layout:
ul {
display: grid;
grid-template-columns: 200px 1fr;
column-gap: 10px;
}
li {
display: unset; /* reset user agent list-style */
}
img {
background: #00bcd4; /* style image background */
}
<ul>
<li><img width="200" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20/%3E%0A">
<li>long text content next to the image long text content next to the image long text content next to the image long text content next to the image
</ul>