Есть ли способ предотвратить разрыв строки после div с помощью css?
Например у меня есть
<div class="label">My Label:</div>
<div class="text">My text</div>
и хотите, чтобы он отображался так:
Мой ярлык: Мой текст
Ответы:
display:inline;
ИЛИ
float:left;
ИЛИ
display:inline-block;
- Может работать не во всех браузерах.
Какова цель использования div
здесь? Я бы предложил a span
, поскольку это элемент встроенного уровня, тогда как a div
- элемент уровня блока.
Обратите внимание, что каждый вариант выше будет работать по-разному.
display:inline;
превратит div
в эквивалент a span
. Это не затронет margin-top
, margin-bottom
, padding-top
, padding-bottom
, height
и т.д.
float:left;
сохраняет div
как элемент уровня блока. Он по-прежнему будет занимать место, как если бы это был блок, однако ширина будет соответствовать содержимому (при условии width:auto;
). clear:left;
Для определенных эффектов может потребоваться a .
display:inline-block;
вариант "лучшее из обоих миров". div
Рассматривается как элемент блока. Он реагирует на все margin
, padding
и height
правила , как ожидается , для блочного элемента. Однако он рассматривается как встроенный элемент с целью размещения в других элементах.
Прочтите это для получения дополнительной информации.
Эти div
элементы являются блочными элементами, поэтому по умолчанию они принимают УППЫ полной доступной ширину.
Один из способов - превратить их во встроенные элементы:
.label, .text { display: inline; }
Это будет иметь тот же эффект, что и использование span
элементов вместо div
элементов.
Другой способ - разместить элементы:
.label, .text { float: left; }
Это изменит способ определения ширины элементов, так что ширина thwy будет равна ширине их содержимого. Это также заставит элементы плавать рядом друг с другом, подобно тому, как изображения перемещаются рядом друг с другом.
Вы также можете подумать об изменении элементов. div
Элемент предназначен для подразделений документов, я обычно использую label
и в span
элемент для конструкции , как это:
<label>My Label:</label>
<span>My text</span>
div используются для создания структуры веб-сайта или для содержания большого количества текста или элементов, но вы, кажется, используете их в качестве меток, вы должны использовать span, он автоматически поместит оба текста рядом друг с другом, и вам не нужно будет писать css-код для него.
И даже если другие люди говорят вам перемещать элементы, лучше всего просто изменить теги.
Попробуйте применить clear:none
к метке атрибут css.
.label {
clear:none;
}
div
прежнему имеет значение по умолчанию, width:auto
которое заставляет его занимать всю доступную ширину.
Мне много раз удавалось получить div без разрывов строк после них, играя с атрибутом float css и атрибутом css ширины.
Конечно, после разработки решения вы должны протестировать его во всех браузерах, и в каждом браузере вы должны изменить размер окон, чтобы убедиться, что оно работает при любых обстоятельствах.