Нет пробела между кнопками «на следующей строке»

0

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

Моя проблема заключается в том, что между кнопками в первой строке нет пробелов и строк в следующих строках:

Изображение 174551

Я пытаюсь воспроизвести эту проблему в JSFiddle, но этого не происходит:

Изображение 174551

Мой HTML:

<div>
    <span class="menuButton">Button I Button I Button I</span>
    <span class="menuButton">Button II Button II Button II</span>
    <span class="menuButton">Button III Button III Button III</span>
</div>

Мой CSS:

.menuButton {
    color: #FFFFFD;
    background: #010109;
    margin: 3px 0px 3px 0px;
    padding: 1px 6px 0px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    font-family: 'Istok Web', sans-serif;
    font-size: 14px;
    white-space: nowrap;
}

Почему у меня такая проблема на моей странице, а не на JSFiddle? Я опубликовал страницу (работа в процессе) здесь. Уменьшите размер окна до 320 пикселей, чтобы воспроизвести проблему.

Теги:
button
spacing

3 ответа

2
Лучший ответ

У вас проблема, потому что span - это естественные встроенные элементы (display:inline). Если вы хотите отобразить их как inline-block тогда будут применяться настройки маржи.

.menuButton {
    /* ... existing definitons */

    display: inline-block;
}
1

Попробуйте добавить строку-высоту в содержащий div:

<div class="menu">
    <span class="menuButton">Button I Button I Button I</span>
    <span class="menuButton">Button II Button II Button II</span>
    <span class="menuButton">Button III Button III Button III</span>
</div>

.menu {
    line-height: 1.2;
}
.menuButton {
    color: #FFFFFD;
    background: #010109;
    margin: 3px 0px 3px 0px;
    padding: 1px 6px 0px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    font-family: 'Istok Web', sans-serif;
    font-size: 14px;
    white-space: nowrap;
}

http://jsfiddle.net/kKQ5A/

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

0

Вы используете spans которые являются встроенным элементом в отличие от элемента блока, и, следовательно, они не пересматривают css-стиль, например margin. Измените свои spans на divs или дайте пространству display:inline-block; свойств display:inline-block;

  • 0
    Изменяя интервалы в div, кнопка расширяет всю ширину, что нарушает макет ....

Ещё вопросы

Сообщество Overcoder
Наверх
Меню