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
Форумы портала PHP.SU :: Версия для печати :: Div Div and Float
Форумы портала PHP.SU » Клиентская разработка » HTML, Дизайн & CSS » Div Div and Float

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

1. nordghost - 09 Ноября, 2012 - 10:16:23 - перейти к сообщению
Есть такой код:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  
  3. <html>
  4. <head>
  5. <link rel="stylesheet" href="<?php echo template()?>/css/style.css" type="text/css">
  6. </head>
  7. <body>
  8. <div id="container">
  9.         <div id="header">
  10.         </div>
  11.         <div id="sidebar">
  12.            <?php getLogin() ?>
  13.         </div>
  14.         <div id="content">
  15.            <?php content() ?>
  16.         </div>
  17. </div>
  18. </body>
  19. </html>
  20.  


container имеет следующий css:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. #container {
  3.         width:1200px;
  4.         position:relative;
  5.         border:1px solid black;
  6.         margin: 0 auto;
  7. }
  8.  


Блокам которые внутри него а именно: sidebar и content когда я ставлю свойство float выезжают из container:

Как решить данную проблему? нужно чтобы sidebar был слева content справа и всё это внутри container.
2. halsoft - 09 Ноября, 2012 - 10:20:50 - перейти к сообщению
clear: both применить не пробовали?
3. nordghost - 09 Ноября, 2012 - 10:28:18 - перейти к сообщению
К какому блоку именно необходимо применять?
4. nordghost - 09 Ноября, 2012 - 10:30:11 - перейти к сообщению
Применил - не помогло!
5. DelphinPRO - 09 Ноября, 2012 - 10:32:13 - перейти к сообщению
CODE (css):
скопировать код в буфер обмена
  1. #container:after{
  2.                 content: ".";
  3.                 display: block;
  4.                 height: 0;
  5.                 clear: both;
  6.                 visibility: hidden;
  7. }
6. halsoft - 09 Ноября, 2012 - 10:32:17 - перейти к сообщению
Попробуйте после div с id content добавить еще один div и ему прописать clear: both

CODE (html):
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4. <div id="container">
  5.         <div id="header">
  6.         </div>
  7.         <div id="sidebar">
  8.            <?php getLogin() ?>
  9.         </div>
  10.         <div id="content">
  11.            <?php content() ?>
  12.         </div>
  13. <div style="clear: both"></div>
  14. </div>
  15.  
  16.  
  17.  
7. DelphinPRO - 09 Ноября, 2012 - 10:34:00 - перейти к сообщению
второй вариант

CODE (css):
скопировать код в буфер обмена
  1. #container {
  2.            overflow: hidden;
  3. }


есть еще варианты, для разных ситуаций. гуглить "clearfix"
8. nordghost - 09 Ноября, 2012 - 10:36:16 - перейти к сообщению
Спасибо огромное разобрался Всем +))
9. armancho7777777 - 09 Ноября, 2012 - 10:39:05 - перейти к сообщению
DelphinPRO пишет:
второй вариант
, не удобен, если предпологается смещение какого либо дочернего элемента, с позиционирование отличным от static, за пределы данного контейнера.
10. DelphinPRO - 09 Ноября, 2012 - 11:02:21 - перейти к сообщению
armancho7777777 каждый вариант чем-то неудобен Улыбка
поэтому и нужно выбирать, исходя из ситуации.
навскидку еще пара вариантов:
1)инлайн-блоки для полос
2)display:table-cell;
опять же, есть свои недостатки Улыбка
11. DeepVarvar - 09 Ноября, 2012 - 11:03:38 - перейти к сообщению
DelphinPRO пишет:
1)инлайн-блоки для полос
2)display:table-cell;
Неужели уже можно сказать "Прощай IE"?
(Добавление)
Я до сих еще верстаю так, что вплоть до 6-го.
(Добавление)
Дивами Закатив глазки
12. DelphinPRO - 09 Ноября, 2012 - 11:06:42 - перейти к сообщению
DeepVarvar пишет:
Я до сих еще верстаю так, что вплоть до 6-го.
мсье знает толк.. Улыбка

строчные блоки прекрасно эмулируются и в IE6, а таблицы даже в ie7 не пашут. так что практической выгоды из этого способа мало.

 

Powered by ExBB FM 1.0 RC1