如何让 div 留在 div
how to make a div stay in a div
我正在使用 HTML/CSS/Js 制作 pong 克隆。我已经设置了一个 div 元素作为游戏的边界,只是为了将事物限制在 space 中。如何让元素(例如记分牌)相对于它们的 parent 元素起作用?例如,如果我告诉 child 向左移动 50%,它会移动到 parent-div 的中心,而不是 web-page 的中心。基本上我希望 child 受其 parent 的尺寸限制(哈哈)。好像是
child-div {
position:relative;
}
在 CSS 中可以解决问题,但不是...也许是因为我在 CodeAcademy 的 IDE?
中开发
position:relative
表示 相对于自身 而不是 parents/children 等。您似乎希望在 parent 上相对并且可能在上绝对children。没有代码,很难进一步提供帮助
这里有一个快速演示。
.container {
width: 80%;
height: 250px;
margin: 0 auto;
position: relative;
border: 4px solid green;
}
.scoreboard {
width: 200px;
height: 50px;
background: lightblue;
border: 2px solid grey;
position: absolute;
top: 10px;
/* just for a bit of space */
left: 50%;
/*almost centered*/
margin-left: -100px;
/* half of known width */
}
<div class="container">
<div class="scoreboard"></div>
</div>
注意...根据宽度是否已知和浏览器支持要求,绝对定位的div还有其他居中方法
left: 50%;
而不是 使元素居中...它将元素的 top/left 角移动到包含元素的中心。您必须将它向后移动其宽度的一半(如果已知)...见上文。
最后一点....定位元素不是约束到它们的祖先元素,而是相对于它们定位。将元素定位到 外部 parent 的范围内是很常见的。
我正在使用 HTML/CSS/Js 制作 pong 克隆。我已经设置了一个 div 元素作为游戏的边界,只是为了将事物限制在 space 中。如何让元素(例如记分牌)相对于它们的 parent 元素起作用?例如,如果我告诉 child 向左移动 50%,它会移动到 parent-div 的中心,而不是 web-page 的中心。基本上我希望 child 受其 parent 的尺寸限制(哈哈)。好像是
child-div {
position:relative;
}
在 CSS 中可以解决问题,但不是...也许是因为我在 CodeAcademy 的 IDE?
中开发position:relative
表示 相对于自身 而不是 parents/children 等。您似乎希望在 parent 上相对并且可能在上绝对children。没有代码,很难进一步提供帮助
这里有一个快速演示。
.container {
width: 80%;
height: 250px;
margin: 0 auto;
position: relative;
border: 4px solid green;
}
.scoreboard {
width: 200px;
height: 50px;
background: lightblue;
border: 2px solid grey;
position: absolute;
top: 10px;
/* just for a bit of space */
left: 50%;
/*almost centered*/
margin-left: -100px;
/* half of known width */
}
<div class="container">
<div class="scoreboard"></div>
</div>
注意...根据宽度是否已知和浏览器支持要求,绝对定位的div还有其他居中方法
left: 50%;
而不是 使元素居中...它将元素的 top/left 角移动到包含元素的中心。您必须将它向后移动其宽度的一半(如果已知)...见上文。
最后一点....定位元素不是约束到它们的祖先元素,而是相对于它们定位。将元素定位到 外部 parent 的范围内是很常见的。