one tag</div> <div class="tag">second tag</div> <div class="tag">third tag</div> ...50 more of them.... (in CSS) .tag { "> one tag</div> <div class="tag">second tag</div> <div class="tag">third tag</div> ...50 more of them.... (in CSS) .tag { "> one tag</div> <div class="tag">second tag</div> <div class="tag">third tag</div> ...50 more of them.... (in CSS) .tag { " />

Как сделать больше divs друг за другом без обертывания, но всю упаковку списка?

У меня есть divs после друг друга, которые выглядят так.

<div class="tag">one tag</div>
<div class="tag">second tag</div>
<div class="tag">third tag</div>
...50 more of them....


(in CSS)

.tag {
    display:inline
}

Я узнал, что у меня их слишком много, и они начинают разбиваться посередине, и я не хочу этого.

Однако, когда я устанавливаю nowrap как это

.tag {
    display:inline;
    white-space:nowrap;
}

все они находятся на одной линии, что делает более 100% окна. Я не хочу этого.

Что я хочу: если в одной строке слишком много этих div, список divs может сломаться, но сами divs этого не делают. Я просто не хочу ломать дивины посередине.

Надеюсь, я расскажу это достаточно ясно.

1
nl ja de
Ну, у меня уже есть два ответа. Я не знал jsfiddle, спасибо!
добавлено автор Karel Bílek, источник
Возможно display: inline-block . Не могли бы вы создать демо-версию проблемы, возможно, на jsFiddle ?
добавлено автор andyb, источник
Существует JS Bin (и, возможно, больше). Хорошие инструменты для демонстрации :-)
добавлено автор andyb, источник

3 ответы

Если я правильно понимаю, вы хотите, чтобы они лежали бок о бок, а затем переходите к новой строке, когда строка заполнена, но не в середине div.

Все что тебе нужно это

.tag {
    float: left;
}

См. скрипку здесь для демонстрации.

Вы также можете добавить padding-left: 5px; , если вам нужно некоторое пространство между ними.

1
добавлено
.tag {
    display:inline;
    white-space:nowrap;
    float:left;
}

Это сработало. (и добавление «очистки» пустого div с ясными: оба под этим.)

0
добавлено
здорово. добавьте это как ответ, и я соглашусь с ним
добавлено автор Karel Bílek, источник
Если вы используете inline-block , вам не нужно ничего очищать
добавлено автор andyb, источник

В зависимости от браузеров, которые вы хотите/хотите поддерживать, вы можете найти

.tag {
    display:inline-block;
    vertical-align:top;
}

a better solution. Since it is a <div> that you want to apply this to, the style will not work out of the box for IE5-7 - see http://www.quirksmode.org/css/display.html#t03. There are workarounds of course - How to fix display:inline-block on IE6? - if you want to use it with those browsers.

The benefit of inline-block is that you do not need to clear the floated content and also that your elements are not rendered out of normal flow. I try to avoid floating elements where possible as in my experience it has caused layout problems.

However, there are a couple of potential catches with this approach. One of which I have already addressed, by adding a vertical-align:top rule. See a previous answer for why this happens - https://stackoverflow.com/a/12950536/637889

The other is due to potentially unwanted white-space between the inline-block elements. See http://css-tricks.com/fighting-the-space-between-inline-block-elements/ for some clever ways around this.

0
добавлено
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

CSS — русскоговорящее сообщество
CSS — русскоговорящее сообщество
1 502 участник(ов)

Сообщество любителей CSS Возникли проблемы с CSS? – пиши сюда, обсудим и предложим самое лучшее решение Работа: @css_ru_jobs Правила: https://teletype.in/@css_ru/r1EWtQ2w7 Приходите в наши чаты @javascript_ru и @frontend_ru Флуд: @css_flood

Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
1 080 участник(ов)

Основной канал: @tpverstak Обратная связь: @annblok Все ссылки на соц.сети проекта: http://taplink.cc/tpverstak ПРАВИЛА ЧАТА — https://teletype.in/@annblok/BygPgC3E7

Веб-Технологи: UI/UX, Вёрстка, Фронтенд
Веб-Технологи: UI/UX, Вёрстка, Фронтенд
167 участник(ов)

Всё про веб-дизайн и вёрстку. А также: HTML, CSS, флекс и бутстрапы, шаблонизаторы, препроцессоры, методологии, аглифаеры, улучшаторы и обфускаторы. Обсуждаем темы юзабилити, устраиваем А/В тесты лендингов, и проводим аудит.

DTP :: @DTPublish
DTP :: @DTPublish
147 участник(ов)

Обсуждаемые темы: полиграфия, препресс, верстка, дизайн, иллюстрации, скрипты, плагины. Канал - @DTPublishing

css_jobs
css_jobs
26 участник(ов)

Чат для вопросов по css и html: @css_ru Флуд: @css_flood Канал с вакансиями и резюме: @css_jobs_feed

css_флуд
css_флуд
10 участник(ов)