У меня есть несколько элементов списка, которые содержат изображение и текст, выровненные рядом. Часть изображения всегда остается той же ширины (в пикселях), тогда как я бы хотел, чтобы поле рядом с ней заполняло остальное пространство.
В моем примере все работает нормально. Но если я хочу, чтобы элемент списка стал ссылкой
.advanced-list {
padding-left: 0;
list-style: none;
}
.advanced-list li {
display: flex;
min-height: 80px;
zoom: 1;
flex-direction: row;
background-color: #f5f5f5;
}
.advanced-list li .list-img {
display: block;
height: 235px;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
flex: 0 0 235px;
order: 1;
}
.advanced-list li .list-content {
padding: 15px;
line-height: 1.3333333;
order: 2;
}
.advanced-list li .list-content .list-header {
margin-top: 0;
margin-bottom: 5px;
}
.advanced-list li .advanced-link {
display: flex;
color: #252525;
text-decoration: none;
flex-direction: row;
}
.advanced-list li+li {
margin-top: 5px;
}<ul class = "advanced-list">
<li>
<div class = "list-content">
<h4 class = "list-header">List item without link</h4> Lorem ipsum dolor...
</div>
<div class = "list-img" style = "background-image: url('https://placehold.it/550x300?text=Img:+550+x+300')"></div>
</li>
<li>
<a href = "#" class = "advanced-link">
<div class = "list-content">
<h4 class = "list-header">List item with link inside</h4> Short text - keep width 100%.
</div>
<div class = "list-img" style = "background-image: url('https://placehold.it/550x300?text=Img:+550+x+300')"></div>
</a>
</li>
</ul>добавив ссылку вокруг него, что-то пойдет не так:
Посмотри на эту скрипку - второй элемент списка имеет ссылку - как здесь применить гибкий бокс, чтобы текст занимал оставшуюся ширину?
ваша структура html несовместима. Второй li не такой же, как первый. Вы обернули эту штуку тегом a, где вам нужно только добавить тег a внутри h4. Проверь это






Ваш элемент привязки .advanced-link находится в гибком контейнере. Так что у него не будет полной ширины.
Установленный :
.advanced-list li .advanced-link {
width: 100%;
}
или
.advanced-list li .advanced-link {
flex: 1
}
flex-grow: 1;вa