【发布时间】:2012-12-28 13:10:09
【问题描述】:
我必须在window.onload和body.onload之前修改div的css。
<html>
<head>
<style type="text/css">
html, body {
width: 100%;
height: 100%;
padding: 0px;
margin: 0px;
}
div {
margin-left: auto;
margin-right: auto;
}
<script>
HTMLDivElement.prototype.style.marginTop = (window.innerHeight/2 - HTMLDivElement.scaleHeight/2) + "px";
</script>
</head>
<body>
<div>
foo<br/>bar
</div>
</body>
</html>
【问题讨论】:
-
在加载之前,您不能更改 DOM 元素的样式属性。为什么不直接使用 css?
-
要使元素垂直居中,为什么不直接使用 display:table-cell 和 vertical-align:middle?
-
我认为这是一个有效的问题,在某些情况下,用户只能更改 javascript 文件,而不能更改页面的 HTML 或 CSS 文件。
标签: javascript html css