Запобігти розриву рядка після </div>


95

Чи є спосіб запобігти розриву рядка після div за допомогою css?

Наприклад, я маю

<div class="label">My Label:</div>
<div class="text">My text</div>

і хочуть, щоб він відображався так:

Мій ярлик: Мій текст

Відповіді:


152

display:inline;

АБО

float:left;

АБО

display:inline-block; - Може працювати не у всіх браузерах.

Яка мета використання divтут? Я б запропонував a span, оскільки це елемент вбудованого рівня, тоді як a div- елемент рівня блоку.


Зверніть увагу, що кожен варіант вище буде працювати по-різному.

display:inline;перетворить diva на еквівалент a span. Це не торкнеться margin-top, margin-bottom, padding-top, padding-bottom, heightі т.д.

float:left;зберігає divяк елемент рівня блоку. Він все одно займе простір, ніби це блок, проте ширина буде відповідати вмісту (припускаючи width:auto;). Це може вимагати clear:left;певних ефектів.

display:inline-block;- варіант "найкращий з обох світів". divРозглядається як елемент блоку. Він реагує на всі margin, paddingі heightправила , як очікується , для блочного елемента. Однак він розглядається як вбудований елемент з метою розміщення всередині інших елементів.

Прочитайте це для отримання додаткової інформації.


3
Я використовував теги div, оскільки вони були автоматично створені шаблоном
Fabiano

Дів із відображенням: вбудований на ньому в основному такий самий, як і інтервал. Це семантично безглуздий контейнер. Єдина відмінність - це режим відображення за замовчуванням (блок проти вбудованого)
Джоері Хендрікс

Div з дисплеєм: вбудований не працює в Safari, він все одно ламається. Я використовую span.
Густаво

вбудований блок лише допоміг. Дякую!
Дрей

12
.label, .text {display: inline}

Хоча, якщо ви використовуєте це, ви можете також змінити div на span.


10

DIV за замовчуванням є елементом відображення BLOCK, тобто він знаходиться на власному рядку. Якщо ви додасте відображення властивості CSS: inline, він буде поводитися так, як вам хочеться. Але, можливо, вам слід подумати про SPAN?



5

div елементи є блоковими елементами, тому за замовчуванням вони приймають УППИ повної доступною ширину.

Один із способів - перетворити їх на вбудовані елементи:

.label, .text { display: inline; }

Це матиме такий самий ефект, як використання spanелементів замість divелементів.

Інший спосіб - це переміщення елементів:

.label, .text { float: left; }

Це змінить спосіб вирішення ширини елементів, так що ширина wwy буде настільки широкою, як їх вміст. Це також змусить елементи плавати один біля одного, подібно до того, як зображення течуть один біля одного.

Ви також можете розглянути можливість зміни елементів. divЕлемент призначений для підрозділів документів, я зазвичай використовую labelі в spanелемент для конструкції , як це:

<label>My Label:</label>
<span>My text</span>

4

div використовуються, щоб надати структуру веб-сайту або містити багато тексту або елементів, але ви, здається, використовуєте їх як мітку, вам слід використовувати span, він автоматично помістить обидва тексти поруч із собою, і вам не потрібно буде писати css-код для нього.

І навіть якщо інші люди кажуть вам, що ви плаваєте за елементами, найкраще просто змінити теги.


3

Я не думаю, що бачив цю версію:

<div class="label">My Label:<span class="text">My text</span></div>

2
<div id="hassaan">
     <div class="label">My Label:</div>
     <div class="text">My text</div>
</div>

CSS:

#hassaan{ margin:auto; width:960px;}
#hassaan:nth-child(n){ clear:both;}
.label, .text{ width:480px; float:left;}

5
Можливо, ви захочете пояснити свою відповідь на користь ОП
Лука,

1

Спробуйте застосувати clear:noneатрибут css до мітки.

.label {
     clear:none;
}

1
Це не має жодного ефекту, оскільки за divзамовчуванням все ще зберігає width:autoвсю доступну ширину.
Guffa

0

спробуйте розмістити свої div у css

.label {
float:left;
width:200px;
}
.text {
float:left;
}

1
Не забудьте зробити наступний елемент, clear: left;щоб повернути документ до нормального потоку.
Піт,

0

Мені багато разів вдавалось отримати div без розривів рядків після них, погравши з атрибутом float css та атрибутом css width.
Звичайно, після розробки рішення вам доведеться протестувати його у всіх браузерах, і в кожному браузері вам доведеться змінити розмір вікон, щоб переконатися, що воно працює при будь-яких обставинах.


0

використовуйте цей код для звичайного div display: inline;

використовуйте цей код, якщо ви використовуєте його в таблиці display: inline-table; краще, ніж таблиця


0

спробуйте це (in CSS) для запобігання розриву рядків у divтекстах:

white-space: nowrap;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.