Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Какая-то странная математика или ширина div'а в процентах
Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
Доброе время суток !
Собственно задача стояла не особо трудная, по крайне мере на первый взгляд ... надо было в один div вложить два div'а, задать ширину в процентах и поставить их по горизонтали.
Сделал. Всё хорошо вроде бы ... и тут я решил временно дать им разного цвета фон ... и ... очень даже удивился После второго (вложеного) div'а появилась маленькая такая по ширине полоска (примерно в 1px), имеющая цвет фона дива-родителя. Но по идеи её там быть не должно ... так как у div №1 ширина 100%, а у вложенных 80% и 20%, что в общем как бы тоже получается 100%.
Хех ... и что я только не делал ... и margin, и padding, и даже на JavaScript получал ширину последнего дива и добавлял ему 1px. Не реагирует
Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
CenapaTop
Так тоже пробывал ... и результатом был удивлён не меньше, чем от этой полосы ) ... див становиться слишком большим ... и появляется горизонтальный скроллбар
----- Судя по ходу мыслей, вас постоянно преследуют глупости.
CenapaTop
Отправлено: 11 Января, 2012 - 13:26:26
Частый гость
Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009
Помог: 1 раз(а)
задай размер
Инсеин
Отправлено: 11 Января, 2012 - 13:34:50
Новичок
Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
CenapaTop пишет:
задай размер
Эм ... не много не понял ... если про фиксированный размер, то не подходит, так как надо чтобы див был на всю ширину окна, не зависимо от его размеров. Если про 100%, то выше написал как получается.
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
Инсеин пишет:
и тут я решил временно дать им разного цвета фон ... и ... очень даже удивился После второго (вложеного) div'а появилась маленькая такая по ширине полоска (примерно в 1px), имеющая цвет фона дива-родителя. Но по идеи её там быть не должно ... так как у div №1 ширина 100%, а у вложенных 80% и 20%, что в общем как бы тоже получается 100%.
а какая ширина в пикселях у родительского диваи
и у дочерних?
возможно баг связан с округлением к целому пикселю
Инсеин
Отправлено: 11 Января, 2012 - 13:59:05
Новичок
Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
CenapaTop
Инсеин пишет:
Так тоже пробывал ... и результатом был удивлён не меньше, чем от этой полосы ) ... див становиться слишком большим ... и появляется горизонтальный скроллбар
Становится больше как раз на ширину это полоски
----- Судя по ходу мыслей, вас постоянно преследуют глупости.
CenapaTop
Отправлено: 11 Января, 2012 - 14:01:23
Частый гость
Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009
Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
DlTA пишет:
а какая ширина в пикселях у родительского диваи
и у дочерних?
Ну, если учесть, что 80% и 20% это не целые числа в пикселях и идёт округление, то изменив размер окна всё равно полоса не убирается.
P.S.: Пошёл узнавать точные размеры )
----- Судя по ходу мыслей, вас постоянно преследуют глупости.
DlTA
Отправлено: 11 Января, 2012 - 14:11:09
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
1=983
2=784
3=196
2й+3й=982
вот и он, пиксел
Инсеин
Отправлено: 11 Января, 2012 - 14:12:02
Новичок
Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011
Помог: 0 раз(а)
DlTA
Див 1 (тот что 100%) = 1022px
Див 2 (тот что 80%) = 817px
Див 3 (тот что 20%) = 204px
Хм ... вот оно что )
817 + 204 = 1021
----- Судя по ходу мыслей, вас постоянно преследуют глупости.
DlTA
Отправлено: 11 Января, 2012 - 14:13:26
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
вариант решения это добавить третьему диву с левой стороны бордер в пару пикселей и перекрыть на второй на 1 пиксел (Добавление)
ну или просто с правой стороны добавить бордер в 1 пиксел чтоб выводился поверх бордера первого дива (Добавление)
хотя храмой метод, помогает только при проявлении глюка, иначе все плывет
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.