MasterGerold
@MasterGerold

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

Доброго времени суток! У меня есть блок у которого ширина 100% а в нем список и всем элементам li (их 6 штук) я задал ширину в 16.6% но почему то последний li падает на низ, пять штук в ряд как положено а шестой с низу слева. Это при display: inline-block;, а когда задаю float: left; все работает отлично. Кто может сказать в чем проблема?
P.S. Ответы типа "А что тебя не устраивает в float?" не писать. Меня интересует ответ профессионала на почему это так.
  • Вопрос задан
  • 379 просмотров
Решения вопроса 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).
Комменты между блоками или отсутствие переноса слишком легко херится например при натягивании верстки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы