Задать вопрос
MasterGerold
@MasterGerold

Как задать ширину в процентах?

Доброго времени суток! У меня есть блок у которого ширина 100% а в нем список и всем элементам li (их 6 штук) я задал ширину в 16.6% но почему то последний li падает на низ, пять штук в ряд как положено а шестой с низу слева. Это при display: inline-block;, а когда задаю float: left; все работает отлично. Кто может сказать в чем проблема?
P.S. Ответы типа "А что тебя не устраивает в float?" не писать. Меня интересует ответ профессионала на почему это так.
  • Вопрос задан
  • 416 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 5
delphinpro
@delphinpro Куратор тега CSS
frontend developer
Ответ профессионала: Загугли книжку "ИКФ - инлайновый контекст форматирования". Там абсолютно всё про инлайны. Книжка бесплатная, небольшая, распространяется в электронном виде. Первоисточник - css-live.ru
Ответ написан
Комментировать
@kvalood
display: inline-block имеет межсимвольный интервал, обычно это 3 или 4 пикселя отступа справа. Поэтому он переносится на новую строчку.

Если не устраивает float, то можете сделать нечто такое: https://jsbin.com/mececegiti/1/edit?html,css,output
Костыль, ну а что сделать :)
Ответ написан
aliencash
@aliencash
Партизан
между inline элементами есть межсимвольный интервал. как между буквами в тексте например. нужно его удалить, либо учесть при расчете ширины элемента li
самое простое сделать так между всеми li:
<li>бла-бла-бла<!--
--><li>бла-бла-бла
Ответ написан
Комментировать
Для inline-block. Проставь переносы строк и увидишь пробелы между элементами. 16,6% это не точно, не займет всю ширину, надо хотя бы 16,66666% прописать.
На флексах.
Ответ написан
Комментировать
font-size: 0; для родительского контейнера - лучшее решение в данном случае (inline-block).
Комменты между блоками или отсутствие переноса слишком легко херится например при натягивании верстки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы