powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / 30% + 50% + 20% != 100% Почему так?!
9 сообщений из 9, страница 1 из 1
30% + 50% + 20% != 100% Почему так?!
    #38289233
Lamo2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Есть div, внутри которого есть еще три блока с display: inline-block; с горизонтальными размерами 30%, 50%, 20%. Почему третий блок всегда переносится на другую строку? Конечно если сделать один из блоков на 1% меньше, что все выстраивается, но хотелось бы знать почему 30% + 50% + 20% != 100%?
Еще интересует что это за отступы между блоками рисуют браузеры и как (и можно ли) их убрать?
Пример обсуждаемого кода: http://jsfiddle.net/5Rf9N/
...
Рейтинг: 0 / 0
30% + 50% + 20% != 100% Почему так?!
    #38289239
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а попробуйте так
Код: html
1.
<div class="div1">Div 1</div><div class="div2">Div 2</div><div class="div3">Div 3</div>
...
Рейтинг: 0 / 0
30% + 50% + 20% != 100% Почему так?!
    #38289250
Lamo2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паганель,

Помогло. Но теперь я еще в большем замешательстве! Получается код форматировать нельзя (хотя в браузере по ф12 он все равно отформатированный показывается)?! Не могли бы Вы подсказать рекомендаций, или как бы это правильнее сказать, допустимых случаев, подводных камней форматирования html кода? Почему в моем примере, да и в общем случае, переносы так влияют на отображение?
...
Рейтинг: 0 / 0
30% + 50% + 20% != 100% Почему так?!
    #38289350
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант, источники рекомендуют у родительского контейнера таких блоков указывать шрифт размером 0, а в самих блоках - требуемый. Шрифт в 0 пикселей сделает отступы размером 0 пикселей. Либо флоаты, либо инлайн-блоки. Но у каждого из способов есть свои определенные минусы.
...
Рейтинг: 0 / 0
30% + 50% + 20% != 100% Почему так?!
    #38289404
Lamo2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IDVsbruckКак вариант, источники рекомендуют...
Тоже рабочий вариант, но в этом случае пропадает наследование размера шрифта, что может быть очень неудобно.
Не могли бы Вы подсказать эти источники? Думаю должен существовать в природе букварь, в котором описаны типовые приемы верстки.
...
Рейтинг: 0 / 0
30% + 50% + 20% != 100% Почему так?!
    #38289445
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lamo2012Почему в моем примере, да и в общем случае, переносы так влияют на отображение?
Ты сделал ДИВы строчными элементами. И теперь это просто "слова", пример

Код: javascript
1.
первое слово, второе слово



Для "слитности" нужно просто убрать пробелы

Код: javascript
1.
первоеслово,второеслово
...
Рейтинг: 0 / 0
30% + 50% + 20% != 100% Почему так?!
    #38290075
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lamo2012IDVsbruckКак вариант, источники рекомендуют...
Тоже рабочий вариант, но в этом случае пропадает наследование размера шрифта, что может быть очень неудобно.
Не могли бы Вы подсказать эти источники? Думаю должен существовать в природе букварь, в котором описаны типовые приемы верстки.
Я просматриваю ежедневно Хабр и мне кажется, что встречал такой обзор именно там, причем, совсем недавно.
...
Рейтинг: 0 / 0
30% + 50% + 20% != 100% Почему так?!
    #38290638
Lamo2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, почему вот в этом примере если в разметке <div id="aside"> и <div id="content"> поменять местами, т.е. установить их в том порядке, к котором они выводятся на экране, макет разваливается? Мне кажется потому что <div id="content"> блочный элемент и после него выводится перенос, но установка display: inline-block; только портит картину, а не исправляет, как я ожидал. Почему так?
...
Рейтинг: 0 / 0
30% + 50% + 20% != 100% Почему так?!
    #38291037
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lamo2012Подскажите, почему вот в этом примере если в разметке <div id="aside"> и <div id="content"> поменять местами, т.е. установить их в том порядке, к котором они выводятся на экране, макет разваливается? Мне кажется потому что <div id="content"> блочный элемент и после него выводится перенос, но установка display: inline-block; только портит картину, а не исправляет, как я ожидал. Почему так?

Потому что это как-раз и есть один из спрашиваемых Вами стандартных приёмов вёрстки ) Все три div в данном случае являются блочными... Но... те элементы, у которых выставлен float не занимают полного пространства по ширине, а значит по логике, туда можно разместить последующие элементы (что браузер и делает). А вот последний div с id=content занимает всю ширину, А значит последующие элементы страницы не могут быть помещены рядом с ним, и потому переносятся вниз. По-этому меняя их местами, Вы смещаете правую колонку вниз.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / 30% + 50% + 20% != 100% Почему так?!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]