За последние 24 часа нас посетил 17331 программист и 1204 робота. Сейчас ищут 1302 программиста ...

DIV и Firefox

Тема в разделе "HTML и CSS", создана пользователем basist, 25 ноя 2007.

  1. basist

    basist Активный пользователь

    С нами с:
    7 июл 2007
    Сообщения:
    388
    Симпатии:
    0
    Адрес:
    Орел
    Решил заняться div`ной вёрсткой, и сразу же столкнулся со следующими проблемами:
    1) див с id="bottom" должен быть в самом низу, но он оказывается под правыми блоками. Подскажите, как это исправить?
    2) главный див, в котором всё находится не растягивается и в нём только шапка((
    3) как сделать, чтобы правые и левые блоки были статической ширины, а вот средний растягивался на всё оставшееся место?

    HTML:
    1.  
    2.     <div id="main" style="height: auto; width: 99.5%; border: 1px solid black;">
    3.         <div style="border: 1px solid red; height: 60px; width: 100%; margin: 0 0 10 0;">
    4.             Шапка
    5.         </div>
    6.        
    7.         <div style=" border: 1px solid green; height: auto; width: 150px; float: left; margin: 0px 10px 0px 10px;" >
    8.             Левые блоки
    9.         </div>
    10.  
    11.         <div style="border: 1px dotted #B9BCBE; height: auto; width: 59%; float: left;" >
    12.             content content content content <br>
    13.             content content content content <br>
    14.             content content content content <br>
    15.         </div>
    16.        
    17.         <div style="border: 1px solid black; height: auto; width: 200px; float: left; margin-left: 10px;">
    18.             Правые блоки
    19.         </div>
    20.     </div>
    21.     <div id="bottom">
    22.         А вот это должно быть внизу
    23.     </div>
    24. </body>
    25. </html>
    26.  
    27.  
    Все проблемы только в FF.

    Заранее большое спасибо
     
  2. andrvm

    andrvm Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    19
    Симпатии:
    0
    Адрес:
    Moscow
    примерно вот так:
    HTML:
    1.  
    2. *              {margin:0; padding:0; border:0;}
    3.  
    4. html           {height:100%;}
    5.  
    6. body           {position:relative; margin:0 auto; min-height:100%; height:auto !important; height:100%;}
    7.  
    8. #head          {height:60px; border: 1px solid red;}
    9.  
    10. #left, #content, #right
    11.                {float: left; padding-bottom:50px;}
    12.                
    13. #left          {width:150px; border: 1px solid green; padding:10px;}
    14.  
    15. #content       {width: 59%; border: 1px dotted #B9BCBE; padding:10px;}
    16.  
    17. #right         {width: 200px; border: 1px solid black; margin-left: 10px;}
    18.  
    19. #bottom        {position:absolute; left:0; bottom:0; height:50px;}
    20.  <body>
    21.         <div  id="head">
    22.              Шапка
    23.         </div>
    24.          
    25.         <div id="left" >
    26.              Левые блоки
    27.         </div>
    28.  
    29.          <div id="content">
    30.              content content content content <br>
    31.              content content content content <br>
    32.              content content content content <br>
    33.          </div>
    34.          
    35.          <div id="right">
    36.              Правые блоки
    37.          </div>
    38.  
    39.      <div id="bottom">
    40.          А вот это должно быть внизу
    41.      </div>
    42.  </body>
    43.  </html>
    44.  
     
  3. basist

    basist Активный пользователь

    С нами с:
    7 июл 2007
    Сообщения:
    388
    Симпатии:
    0
    Адрес:
    Орел
    andrvm, я наверно неправильно сформулировал вопрос.
    - в смысле под всеми блоками, а не внизу видимой части

    как сделать чтобы было не 59%, а всё оставшееся место. т.е. 100% - ширина левого блока - ширина правого блока?
     
  4. andrvm

    andrvm Активный пользователь

    С нами с:
    12 окт 2007
    Сообщения:
    19
    Симпатии:
    0
    Адрес:
    Moscow
    сделать клиринг под самым последним блоком (перед bottom), убрать тогда стили для bottom:
    HTML:
    1. <p style="clear:both"><!-- clearing --></p>
    перевести всю ширину в %, к сожалению css не умеет так считать:ширина левого блока - ширина правого блока, да еще с пикселами и процентами в перемешку.
     
  5. basist

    basist Активный пользователь

    С нами с:
    7 июл 2007
    Сообщения:
    388
    Симпатии:
    0
    Адрес:
    Орел
    спасибо! помогло.