If you want a solution that doesn't force you to specify the dimensions of the centered element, you could do this:
Code:
<body style="background: green; ">
<div style="background: pink; height: 100vh; padding: 15px">
bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>bla bla<br>
</div>
<div id="centered" style="background: red; color: white; padding: 10px; position: absolute">
The div is vertically and horizontally centered,<br>even without specifications for width and height.<br>The div is vertically and horizontally centered,<br>even without specifications for width and height.
<script>
document.getElementById('centered').style.top=window.innerHeight/2-document.getElementById('centered').clientHeight/2+'px'
document.getElementById('centered').style.left=window.innerWidth/2-document.getElementById('centered').clientWidth/2+'px'
var windowWidth = window.innerWidth;
window.onresize=function()
{
if(windowWidth != window.innerWidth)
setTimeout("location.reload()",10); return
}
</script>
</div>
</body>
Bookmarks