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'а в процентах

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Без описания
Инсеин
Отправлено: 11 Января, 2012 - 12:56:37
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Доброе время суток !
Собственно задача стояла не особо трудная, по крайне мере на первый взгляд Улыбка ... надо было в один div вложить два div'а, задать ширину в процентах и поставить их по горизонтали.
Сделал. Всё хорошо вроде бы Улыбка ... и тут я решил временно дать им разного цвета фон ... и ... очень даже удивился Улыбка После второго (вложеного) div'а появилась маленькая такая по ширине полоска (примерно в 1px), имеющая цвет фона дива-родителя. Но по идеи её там быть не должно ... так как у div №1 ширина 100%, а у вложенных 80% и 20%, что в общем как бы тоже получается 100%.
Хех ... и что я только не делал ... и margin, и padding, и даже на JavaScript получал ширину последнего дива и добавлял ему 1px. Не реагирует Недовольство, огорчение

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <style>
  3. #divOne
  4. {
  5.    border: 1px solid green;
  6.    background: yellow;
  7. }
  8.  
  9. #divTwo
  10. {
  11.     width: 80%;
  12.     height: 100%;
  13.     background: green;
  14.     overflow: auto;
  15.     float: left;
  16. }
  17.  
  18. #divThree
  19. {
  20.     width: 20%;
  21.     height: 100%;
  22.     background: #696969;
  23.     overflow: auto;
  24. }
  25.  
  26. .clear
  27. {
  28.     clear: both;
  29. }
  30. </style>
  31.  
  32. <div id="divOne">
  33.    <div id="divTwo"></div>
  34.    <div id="divThree"></div>
  35.    <div class="clear"></div>
  36. </div>
  37.  


Кто-нибудь, что-нибудь посоветовать может ?

P.S.: Что касается браузера, то Опера ... хотя ИЕ даёт тоже самое


-----
Судя по ходу мыслей, вас постоянно преследуют глупости.
 
 Top
Саныч
Отправлено: 11 Января, 2012 - 13:11:10
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




Эта полоска - не background, а border родителя


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Инсеин
Отправлено: 11 Января, 2012 - 13:14:54
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Саныч
Да, нее ... как раз после этой полоски есть ещё и бордер )


-----
Судя по ходу мыслей, вас постоянно преследуют глупости.
 
 Top
CenapaTop
Отправлено: 11 Января, 2012 - 13:22:07
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009  


Помог: 1 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. #divOne
  2. {
  3.    border: 1px solid green;
  4.    background: yellow;
  5.    width: 100%;
  6. }
 
 Top
Инсеин
Отправлено: 11 Января, 2012 - 13:24:30
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




CenapaTop
Так тоже пробывал ... и результатом был удивлён не меньше, чем от этой полосы ) ... див становиться слишком большим ... и появляется горизонтальный скроллбар

Становится больше как раз на ширину это полоски

(Отредактировано автором: 11 Января, 2012 - 13:26:25)



-----
Судя по ходу мыслей, вас постоянно преследуют глупости.
 
 Top
CenapaTop
Отправлено: 11 Января, 2012 - 13:26:26
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009  


Помог: 1 раз(а)




задай размер
 
 Top
Инсеин
Отправлено: 11 Января, 2012 - 13:34:50
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




CenapaTop пишет:
задай размер

Эм ... не много не понял ... если про фиксированный размер, то не подходит, так как надо чтобы див был на всю ширину окна, не зависимо от его размеров. Если про 100%, то выше написал как получается.

(Отредактировано автором: 11 Января, 2012 - 13:35:18)



-----
Судя по ходу мыслей, вас постоянно преследуют глупости.
 
 Top
CenapaTop
Отправлено: 11 Января, 2012 - 13:49:45
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009  


Помог: 1 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <style  type="text/css">
  2. #divOne
  3. {
  4.    border: 1px solid green;
  5.    background: yellow;
  6.    width: 100%;
  7. }
  8.  
  9. #divTwo
  10. {
  11.     width: 80%;
  12.     height: 100%;
  13.     background: green;
  14.     overflow: auto;
  15.     float: left;
  16. }
  17.  
  18. #divThree
  19. {
  20.     width: 20%;
  21.     height: 100%;
  22.     background: #696969;
  23.     overflow: auto;
  24.     float: left;
  25. }
  26.  
  27. .clear
  28. {
  29.     clear: both;
  30. }
  31. </style>
 
 Top
DlTA
Отправлено: 11 Января, 2012 - 13:58:18
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




Инсеин пишет:
и тут я решил временно дать им разного цвета фон ... и ... очень даже удивился После второго (вложеного) div'а появилась маленькая такая по ширине полоска (примерно в 1px), имеющая цвет фона дива-родителя. Но по идеи её там быть не должно ... так как у div №1 ширина 100%, а у вложенных 80% и 20%, что в общем как бы тоже получается 100%.
а какая ширина в пикселях у родительского диваи
и у дочерних?
возможно баг связан с округлением к целому пикселю
 
 Top
Инсеин
Отправлено: 11 Января, 2012 - 13:59:05
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




CenapaTop
Инсеин пишет:
Так тоже пробывал ... и результатом был удивлён не меньше, чем от этой полосы ) ... див становиться слишком большим ... и появляется горизонтальный скроллбар

Становится больше как раз на ширину это полоски


-----
Судя по ходу мыслей, вас постоянно преследуют глупости.
 
 Top
CenapaTop
Отправлено: 11 Января, 2012 - 14:01:23
Post Id



Частый гость


Покинул форум
Сообщений всего: 166
Дата рег-ции: Авг. 2009  


Помог: 1 раз(а)




у меня нет
(Добавление)
Спойлер (Отобразить)
 
 Top
Инсеин
Отправлено: 11 Января, 2012 - 14:05:31
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




DlTA пишет:
а какая ширина в пикселях у родительского диваи
и у дочерних?

Ну, если учесть, что 80% и 20% это не целые числа в пикселях и идёт округление, то изменив размер окна всё равно полоса не убирается.

P.S.: Пошёл узнавать точные размеры )


-----
Судя по ходу мыслей, вас постоянно преследуют глупости.
 
 Top
DlTA
Отправлено: 11 Января, 2012 - 14:11:09
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




1=983
2=784
3=196
2й+3й=982
вот и он, пиксел
 
 Top
Инсеин
Отправлено: 11 Января, 2012 - 14:12:02
Post Id



Новичок


Покинул форум
Сообщений всего: 61
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




DlTA
Див 1 (тот что 100%) = 1022px
Див 2 (тот что 80%) = 817px
Див 3 (тот что 20%) = 204px

Хм ... вот оно что )

817 + 204 = 1021


-----
Судя по ходу мыслей, вас постоянно преследуют глупости.
 
 Top
DlTA
Отправлено: 11 Января, 2012 - 14:13:26
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




вариант решения это добавить третьему диву с левой стороны бордер в пару пикселей и перекрыть на второй на 1 пиксел
(Добавление)
ну или просто с правой стороны добавить бордер в 1 пиксел чтоб выводился поверх бордера первого дива
(Добавление)
хотя храмой метод, помогает только при проявлении глюка, иначе все плывет
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTML, Дизайн & CSS »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB