Setting the height of a button as a % of the window
我正在尝试将按钮的高度设置为用户窗口的百分比。这似乎有效:
1 2 3 | #mybutton { padding: 10%; } |
但显然不能完全满足我的需要(此外,它对浏览器的大小没有响应)。
这不起作用:
1 2 3 | #mybutton { height: 10%; } |
我也试过用 javascript 做这件事(我真的不掌握它),但这两次尝试都没有奏效。
1 2 | document.getElementById('mybutton').style.height ="10%"; document.getElementById('mybutton').style.height = window.outerHeight / 10; |
我该怎么做?
PS : 我也试过用固定值 (100px) 来看看我是否可以改变高度,但似乎我根本不能。
注意:我希望它能够响应用户的窗口,这意味着如果我减小浏览器的大小,按钮的高度应该保持它的 10%。
谢谢。
您可以使用视口单位:
1 2 3 | #mybutton { height: 10vh; } |
所有现代浏览器都支持视口相对长度。
虽然选择了答案,但我想在这里说明三件事。
注意#1
1 2 3 | #mybutton { height:10%; } |
不起作用,因为高度是相对于父级的,而父级
笔记2
参考:https://stackoverflow.com/a/8211457/1799502 和 http://www.w3schools.com/cssref/pr_padding.asp
注意#3
使用视口高度 vh 和视口宽度 vw 单位是一个很好的主意,但@rnevius 并不是在开玩笑,他说所有现代浏览器都需要至少 IE9 或 Android 4.4
如果您的元素是
1 | document.getElementById('b').style.height = (window.outerHeight / 10) + 'px'; |
使用 css,你的按钮将是 您也可以像@rnevius 指出的那样使用 试着放一个 !important
2
3
height: 10% !important;
}