答案 0 :(得分:115)
您可以使用视口百分比长度。
请参阅:http://stanhub.com/how-to-make-div-element-100-height-of-browser-window-using-css-only/
它的工作原理如下:
.element{
height: 100vh; /* For 100% screen height */
width: 100vw; /* For 100% screen width */
}
还可以通过Mozilla Developer Network和W3C获取更多信息。
答案 1 :(得分:16)
您实际上并不需要屏幕分辨率,您想要的是浏览器的尺寸,因为在很多情况下浏览器是窗口化的,即使在最大化的尺寸下,浏览器也不会占用100屏幕的百分比。
你想要的是View-port-height和View-port-width:
<div style="height: 50vh;width: 25vw"></div>
这将使内部浏览器高度的50%和宽度的25%呈现div。
(老实说,这个答案是@Hendrik_Eichler想要说的一部分,但他只提供了一个链接而没有直接解决这个问题)
答案 2 :(得分:8)
无法从CSS获取屏幕的高度。但是,使用CSS3后,您可以使用media queries按照分辨率控制模板的显示。
如果您想使用媒体查询在高度的基础上进行编码,您可以定义样式表并像这样调用它。
<link rel="stylesheet" media="screen and (device-height: 600px)" />
答案 3 :(得分:5)
除了添加到@Hendrik Eichler答案之外,n vh
使用了视口的初始包含块的n%
。
.element{
height: 50vh; /* Would mean 50% of Viewport height */
width: 75vw; /* Would mean 75% of Viewport width*/
}
此外,视口高度适用于任何分辨率的设备,视口高度,宽度是最佳方法之一(类似于使用%值的css设计,但以设备的视口高度和宽度为基础)
vh
等于视口初始包含块的高度的1%。
大众
等于视口初始包含块宽度的1%。
vi
在根元素的内联轴方向上等于初始包含块的1%。
vb
在根元素的块轴方向上等于初始包含块的大小的1%。
vmin
等于vw和vh中较小的一个。
vmax
等于vw和vh中的较大者。
参考: https://developer.mozilla.org/en-US/docs/Web/CSS/length#Viewport-percentage_lengths
答案 4 :(得分:4)
使用单位&#34; vh&#34;可以很容易地在纯CSS中获得窗口高度,每个单位对应于窗口高度的1%。在下面的示例中,让我们通过添加屏幕大小一半的边距来开始集中block.foo。
.
但这只适用于&#39;窗口&#39;尺寸。只需轻轻一点的javascript,就可以使它变得更加通用。
. ~/.bashrc
该代码将创建一个名为&#34的CSS变量; - windowHeight&#34;带有窗户的高度。要使用它,只需添加规则:
.foo{
margin-top: 50vh;
}
为什么它比单纯使用&#34; vh&#34;更通用?单位?因为你可以获得任何元素的高度。现在,如果你想在任何container.bar中集中block.foo,你可以:
$(':root').css("--windowHeight", $( window ).height() );
最后,为了响应窗口大小的变化,你可以使用(在这个例子中,容器是窗口高度的50%):
.foo{
margin-top: calc( var(--windowHeight) / 2 );
}
答案 5 :(得分:3)
您可以使用此javascript将屏幕的当前高度和宽度绑定到css变量:var(--screen-x)
和var(--screen-y)
:
var root = document.documentElement;
document.addEventListener('resize', () => {
root.style.setProperty('--screen-x', window.screenX)
root.style.setProperty('--screen-y', window.screenY)
})
这可以直接改编自lea verou在她关于css变量的讨论中的例子:https://leaverou.github.io/css-variables/#slide31
答案 6 :(得分:0)
答案 7 :(得分:0)
要获得屏幕分辨率,请使用Javascript而不是CSS:
使用screen.height
表示高度,screen.width
表示宽度。
答案 8 :(得分:-7)
以百分比形式使用高度和宽度。
例如:
width: 80%;
height: 80%;