2014-11-24 100 views
2

当HTML创建全屏div & CSS上主要有两个选项:CSS全屏 - 位置绝对VS 100%的高度

使用:html, body, #myDiv {height: 100%, width: 100%}

或者:#myDiv{position: absolute; top:0px; bottom:0px; width: 100%}

有什么一个优于另一个,还是可以互换使用?创建一个全屏幕的div

+3

我个人会使用'min-height:100%',这样如果你的内容需要'溢出'它可以。但我在这里分裂头发。 – haxxxton 2014-11-24 08:34:18

+1

当您的常规内容高于此值时,将'html'和'body'设置为100%的固定高度很容易导致问题。 – CBroe 2014-11-24 09:35:22

回答

4

两者产生相同的效果,即有一个完整的屏幕的div。 现在唯一的区别。是定位属性之间现在

当你有你的CSS为

html, body, #myDiv {height: 100%, width: 100%} 

,则默认位置属性是静态的,这意味着它通常会流入网页

但是当你申请

 #myDiv{position: absolute; top:0px; bottom:0px; width: 100%} 

它与前一个略有不同。绝对位置意味着这个div相对于直接的父元素,或者如果没有父元素,那么它相对于页面本身。如果您有另一个div作为父元素,并且您在#myDiv中插入一些文本或图像,您可以看到效果。另外,具有绝对位置的元素将从页面上的元素流中移除,这意味着它不会影响其他元素,并且其他元素不会影响它

您可以检查的jsfiddle链接,看看自己的文本的位置如何在这两种风格http://jsfiddle.net/sidarth1989/32szd39g/

1

还有一个方法是应用height: 100%;bodyhtmldiv,然后申请position:relative全屏股利。如以下示例:

html, 
body { 
    height: 100%; 
} 

div { 
    height: 100%; 
    position: relative; 
} 

一个例子:http://jsfiddle.net/s04scj0m/1/