2009-12-21 2 views
2

в CSS, когда вы устанавливаете что-то ширину или высоту до 100%, это действительно устанавливает только 100% окна браузера. Есть ли способ сделать это 100% всей страницы?Как сделать высоту ДЕЙСТВИТЕЛЬНО 100%

Позвольте мне перефразировать: я хочу, чтобы этот элемент (div) занял страницу ENTIRE, независимо от того, сколько вы прокручиваете. Наличие родительских элементов со 100% размером и 100% шириной не работает, потому что они обрабатываются одинаково. Я начинаю думать, что мне, возможно, придется использовать JS, чтобы получить высоту страницы, а затем полностью определить ее.

+0

"dic" или "div"? – outis

+0

Возможно, какой-то код поможет. если вы помещаете вещи в div, то растет, чтобы держать это. – carillonator

ответ

3

Просто введите позиция: исправлена ​​ к элементу. Если это наложение:

#overlay 
{ 
    position: fixed; 
    top: 0; 
    left: 0; 
    width:100%; 
    height:100%; 
} 

Примечания: исправлено не поддерживаются IE6

+0

Awesome !! Я уверен, что смогу найти взломать IE6 или что-то в этом роде. – williamg

+0

В моем случае для обработки IE6 я просто отключу прокрутку !!! – jerjer

+0

вы могли бы показать, как отключить прокрутку в IE. Я попробовал document.body.style.overflow = "hidden", но он не работает. Благодаря! –

1

Когда вы устанавливаете ширину или высоту на 100%, это составляет 100% от размера ее родительского элемента. Итак, вам нужен элемент вокруг всего содержимого страницы и задайте размер этого элемента в нем.

Редактировать:
Если вы установили высоту самого внешнего элемента в теле на 100%, то что произойдет, зависит от используемой вами версии разметки. В HTML родителем элемента body является область просмотра, а высота по умолчанию равна 100%, поэтому ваш элемент будет размером окна. В XHTML родителем элемента body является элемент html, а высота элемента body - это высота фактического содержимого на странице.

+0

Единственный родительский элемент Div в вопросе - это тело. Не должно быть 100% страницы? – williamg

+0

нет, если в этом div ничего нет, он не будет никакого размера вообще. – carillonator

+0

@iMaster: Это зависит от того, какую версию HTML вы используете. См. Править выше. – Guffa

0

Если это наложение, вы можете рассмотреть следующие CSS сниппет:

#overlay 
{ 
    position: absolute; 
    top: 0; 
    bottom: 0; 
    left: 0; 
    right: 0; 
} 

Это предполагает, что существуют и другие элементы на странице, чтобы определить его размеры

1

ширина 100% будет ширина в окне браузера, если элемент не имеет размера (например, 600 пикселей) или содержится в другом размере.

Высота страницы определяется тем, сколько места занимает контент по вертикали.

Так что если вы хотите что-то покрыть определенное пространство, создайте элемент (то есть <div>), который имеет ширину и высоту, заданные в пикселях или ems, тогда элементы внутри него, установленные на 100%, будут заполнены ,

0

Это зависит, если вы поместите некоторый элемент внутри div, а таблица/div и высота div - предположим, что 500px, то элемент внутри него с высотой 100% будет равен этому div.

Если вы хотите, чтобы какой-то элемент соответствовал всей странице, вам придется поместить его под элементом, имеющим фактический 100% с браузером, например, это обычно основная таблица или родительский div.

EDIT:

Я не пробовал ниже, но вы также можете сделать это таким образом, используя абсолютное позиционирование:

<style type="text/css"> 
div 
{ 
    position:absolute; 
    top:0px; 
    left:0px; 
    width:100%; 
    height:100%; 
} 
</style> 

Но такой подход не всегда идеален. Если вы уверены, вы можете это реализовать :)

0

Я завершу всякий ответ ....Вам нужно сделать стиль для body и применить марж: 0; обивка: 0;

так:

body{ 
margin:0; 
padding:0; 
} 

после этого вы можете применить width:100% и height:100% к каждому DIV вам нравится.

удачи

Смежные вопросы