<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="renderer" content="webkit">
<title>Document</title>
<style>
div {
/* border: 1px solid #000; */
width: 50%;
margin: 0 auto;
font-size: 16px;
text-align: center;
}
#dot {
margin-bottom: 50px;
}
h1 {
margin: 0 auto;
width: 20px;
}
</style>
</head>
<body>
<div>
<p id="height"></p>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
<p id="dot">.</p>
</div>
<h1>hello</h1>
<script>
window.onload = function () {
function animate() {
document.getElementById('height').innerHTML = window.getComputedStyle(document.body.firstElementChild).height;
var dot = document.getElementById('dot');
var m = window.getComputedStyle(dot).marginBottom;
console.log(m);
m = parseInt(m);
m -= 1;
document.getElementById('dot').style['margin-bottom'] = m + 'px';
requestAnimationFrame(animate);
}
animate();
}
</script>
</body>
</html>
脚本的内容是把div元素的最后一个子元素的marginBottom值不断减少,并把div的元素的高度输出到div的第一个子元素中
其中当div元素设置了边框的时候,减少最后一个元素的marginBottom值会发现div这个父元素的高度在不断减少
当div元素不设置边框的时候,减少最后一个元素的marginBottom值会发现div这个父元素的高度不再变化
而且下面定义的h1的hello在以上的两种情况下都可以穿透div里面的文本
请问一下如何解释这种现象
潇湘沐
翻过高山走不出你
相关分类