Показано с 1 по 9 из 9

Тема: Относительная высота DIVа

  1. #1

    Регистрация
    01.05.2006
    Сообщений
    15
    Подскажите, как сделать следующее:
    Есть ДИВ, его высота 100рх, он синего цвета (чтобы видно было его).
    В нем находится текст.
    Если текста мало, то всё нормально, а вот если текст по высоте превышает 100рх, то он выходит снизу за границы синего ДИВА (за исключением IE).

    Как сделать, чтобы содержимое не виходило за границы, а просто синий ДИВ растягивался в зависимости от содержимого? При этом он не должен быть меньше чем 100рх в высоту!
    ВНИМАНИЕ! Интересует только круссбраузерный вариант решения этой проблемы!!!

  2. #2

    Регистрация
    23.03.2004
    Адрес
    Беларусь/Минск
    Сообщений
    926
    у вас высота div скорее всего задана через height, это свойство не подразумевает растягивание блока при его переполнении. для правильных браузеров выставьте min-height, тогда блок будет не менее заданной высоты, а при переполнении будет тянуться. для IE выставьте height с нужным параметром и закройте его от правильных браузеров хаком (IE понимет height так, как должен бы был понимать min-height, тоже касается и width и min-width). пример.

    Код:
    min-height: 100px;
    /height: 100px;

  3. #3

    Регистрация
    01.05.2006
    Сообщений
    15
    Спасибо!!!

  4. #4

    Регистрация
    19.08.2006
    Сообщений
    45
    Скажите, как сделать два блока в ширину, чтобы один был фиксированного размера, а второй растягивался, скажем ширина первого блока 200px, а второй занимает оставшееся пространство?

  5. #5

    Регистрация
    23.03.2004
    Адрес
    Беларусь/Минск
    Сообщений
    926
    Вот недавно делал скелет для шаблончика...

    xhtml
    Код:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    
    <html>
    <head>
    <title></title>
    <style type="text/css" media="all">
    ****@import url("style.css");
    </style>
    </head>
    <body>
    
    <div id="container-main">
    ****<div id="header">header</div>
    ****<div id="sidebar">sidebar</div>
    ****<div id="content">content</div>****
    ****<div id="footer">footer</div>
    </div>
    
    </body>
    </html>
    css
    Код:
    * {
    ****margin: 0;
    ****padding: 0;
    }
    html, body {
    ****width: 100%;
    ****height: 100%;
    }
    #container-main {
    ****width: 100%;
    ****height: 100%;
    }
    #header {
    ****height: 20%;
    ****background: #EEA6A6;
    }
    #sidebar {
    ****width: 200px;
    ****height: 60%;
    ****float: left;
    ****background: #BDDF7A;
    }
    #content {
    ****height: 60%;
    ****margin-left: 200px;
    ****background: #D3D3D3;
    }
    #footer {
    ****height: 10%;
    ****clear: both; 
    ****background: #ADDDFC;
    }

  6. #6

    Регистрация
    19.08.2006
    Сообщений
    45
    Уфф, спасибо большое! Правда пришлось доработать
    Код:
    <body>
    <div id="header">header</div>
    <div id="center">
    <div id="sidebar">sidebar</div>
    <div id="content">
    <div id="content1">
    
    
    1</p>
    
    1</p>
    
    1</p>
    
    1</p>
    
    5</p>
    
    
    1</p>
    
    1</p>
    
    1</p>
    
    1</p>
    
    5</p>
    
    
    1</p>
    
    1</p>
    
    1</p>
    
    1</p>
    
    5</p>
    
    
    1</p>
    
    1</p>
    
    1</p>
    
    1</p>
    
    5</p>
    
    
    1</p>
    
    1</p>
    
    1</p>
    
    1</p>
    
    5</p>
    
    
    1</p>
    
    1</p>
    
    1</p>
    
    1</p>
    
    5</p>
    </div></div>
    </div> 
    <div id="footer">footer</div>
    </body>
    Код:
    * {
    margin: 0;
    padding: 0;
    }
    html, body {
    width: 100%;
    height: 100%;
    background: #BDDF7A;
    }
    #header {
    height: 100px;
    width: 100%;
    background: #EEA6A6;
    }
    #sidebar {
    width: 200px;
    height: 60%;
    float: left;
    background: #BDDF7A;
    padding-bottom: 50px;
    }
    #center {
    width: 100%;
    }
    #content {
    margin-left: 200px;
    background: #D3D3D3;
    padding-bottom: 50px;
    }
    #content1 {
    width: 99%;
    }
    #footer {
    height: 50px;
    width: 100%;
    background: #ADDDFC;
    position: absolute;
    bottom: 0;
    }
    
    body {
     *min-height: 100%;
     *height: auto !important;
     *height: 100%;
     *position: relative;
    }
    Теперь во всех трех браузерах выглядит одинаково и ведет себя идеально. Единственное, что надо следить чтобы контент стоял на всю высоту, тогда выглядит идеально. Ну или sidebar и контент одного цвета делать, тогда тоже ничего.
    Только CSS пока не структурировал, все вперемешку написано.

  7. #7

    Регистрация
    23.03.2004
    Адрес
    Беларусь/Минск
    Сообщений
    926
    Originally posted by Зверь@Dec 28 2006, 16:12
    Единственное, что надо следить чтобы контент стоял на всю высоту, тогда выглядит идеально.* Ну или sidebar и контент одного цвета делать, тогда тоже ничего.
    Только CSS пока не структурировал, все вперемешку написано.
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]
    [/quote]

    для таких целей есть обманный трюк. ко внешнему контейнеру необходимо прикрепить фон по размеру и содержимому являющемуся фоном сайдбара, сместить этот фон налево, запретить ему по горизонтали дублироваться и растянуть по высоте, на выходе имеем имитацию тянущейся колонки, иначе в css-верстке никак, стандартными средствами xhtml+css зависимость одного блока от другого не сделаешь.

  8. #8

    Регистрация
    19.08.2006
    Сообщений
    45
    Точно делаем для body изображение ширины и цвета сайдбара, а фоновый цвет фонового цвета контента. Гениально!

    Маленькое уточнение, что означает
    Код:
    * {
    margin: 0;
    padding: 0;
    }

  9. #9

    Регистрация
    23.03.2004
    Адрес
    Беларусь/Минск
    Сообщений
    926
    Originally posted by Зверь@Dec 28 2006, 17:42
    Точно делаем для body изображение ширины и цвета сайдбара, а фоновый цвет фонового цвета контента. Гениально!

    Маленькое уточнение, что означает
    Код:
    * {
    margin: 0;
    padding: 0;
    }
    <div align='right'>[Только зарегистрированные пользователи могут видеть ссылки. ]</div>
    * - универсальный селектор, который позволяет выбрать все элементы документа. данное правило позволяет сбросить все отступы и поля для всех элементов в ноль, т.к. у разных браузеров они различны.

Похожие темы

  1. Высота дива
    от Dragonfly в разделе Вёрстка сайта
    Ответов: 10
    Последнее сообщение: 30.04.2008, 01:44
  2. 100% высота для div-а
    от sssergius в разделе Вёрстка сайта
    Ответов: 6
    Последнее сообщение: 28.10.2007, 14:43
  3. высота div в IE
    от Saint_Matrix в разделе Вёрстка сайта
    Ответов: 8
    Последнее сообщение: 15.08.2006, 23:34
  4. ВЕРТИКАЛЬНОЕ ВЫРАВНИВАНИЕ ТЕКСТА ВНУТРИ DIVа
    от Webtailor в разделе Вёрстка сайта
    Ответов: 6
    Последнее сообщение: 18.06.2006, 17:01
  5. относительная адресация... или как там ее..
    от Live в разделе Вёрстка сайта
    Ответов: 3
    Последнее сообщение: 28.02.2006, 23:41

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •