Я хочу, чтобы элемент span отображался под другим элементом, используя свойство display. Я попытался применить встроенный блок, но безуспешно, и решил, что могу использовать блок, если мне каким-то образом удастся избежать задания ширины элемента 100% (я не хочу, чтобы элемент «растягивался»). Можно ли это сделать, а если нет, что хорошего в решении такого рода проблем?
Пример: список новостей, в котором я хочу установить ссылку «читать дальше» в конце каждого сообщения (примечание: <a>
вместо <span>
)
<li>
<span class="date">11/15/2012</span>
<span class="title">Lorem ipsum dolor</span>
<a class="read-more">Read more</a>
</li>
Обновление: решено. В CSS примените
li {
clear: both;
}
li a {
display: block;
float: left;
clear: both;
}
Ответы:
Если я правильно понимаю ваш вопрос, следующий CSS поместит ваш a ниже промежутков и не даст ему иметь 100% ширину:
a { display: block; float: left; clear: left; }
источник
Используйте
display: table
.Этот ответ должен состоять не менее чем из 30 символов; Я вошел в 20, так что вот еще несколько.
источник
margin: 0 auto;
если нужно, по центру.display: table;
работает, но не допускает заполнения.ты можешь использовать:
width: max-content;
Примечание: поддержка ограничена, проверьте здесь полную информацию о поддерживаемых браузерах.
источник
inline-block
и др. нарушали мой макет.Я бы сохранил каждую строку в своем собственном div, поэтому ...
<div class="row"> <div class="cell">Content</div> </div> <div class="row"> <div class="cell">Content</div> </div>
А затем для CSS:
.cell{display:inline-block}
Трудно дать вам решение, не увидев исходного кода.
источник
Опять же: ответ, который может быть немного запоздалым (но для тех, кто все равно найдет эту страницу для ответа).
Вместо
display:block;
использованияdisplay:inline-block;
источник
Попробуй это:
li a { width: 0px; white-space:nowrap; }
источник
Вы можете использовать следующее:
display: inline-block;
Хорошо работает со ссылками и другими элементами.
источник
У меня была такая проблема, я решил ее так:
.parent { white-space: nowrap; display: table; } .child { display: block; }
«white-space: nowrap» гарантирует, что дочерние элементы дочернего элемента (если он есть) не переносятся на новую строку, если недостаточно места.
без "пробела: nowrap":
с "white-space: nowrap":
edit: кажется, что он также работает без дочернего блока для меня, так что, похоже, это работает нормально.
.parent { white-space: nowrap; display: table; }
источник