javascript - 在 a 中居中文本防止移动
问题描述
我想水平和垂直居中a<p></p>
可以由一条或多条线组成,在 a 中<div></div>
。只有父母的宽度和高度是已知的。注意:我将 div 称为父级,将 p 称为子级。
我在这里和其他网站上看到,为了进行垂直居中,最好的方法是display: table
在父元素上使用并与子元素display: table-cell
结合使用vertical-align: middle
。
但是,我需要 div 的 style.top 和 style.left 稍后被一些 javascript 覆盖,以使其移动。通过使用表格技巧,它以某种方式阻止了我移动父级,至少以这种方式。请注意,当 div 移动时,孩子必须保持居中。
TL;博士:
如何使 div 中的文本居中,然后仍然可以移动 div?
我的 html 正文:
<div id="target">
<p>Centered?</p>
</div>
我的 CSS
div {
outline: 1px solid white;
background-color: #FF9F00;
position: absolute;
top: 0px;
left: 0px;
width: 200px;
height: 200px;
/* how to center its child? */
}
p {
font-family: Arial;
}
我的 javascript 移动方式:
var target = document.getElementById("target");
target.addEventListener('mousemove', function (event) {
target.style.left = event.x + "px";
target.style.top = event.y + "px";
});
解决方案
使用 flexbox 怎么样?
div {
display:flex;
flex-direction:column;
justify-content: center;
text-align:center;
}
<div><p>I want this paragraph to be at the center, but it's not.</p></div>
推荐阅读
- google-sheets - 谷歌表格 - 动态查找总和
- firebase - 如何计算/计算 get() 嵌套 get() 的 Firestore 安全规则访问限制?
- download - GNU Emacs 下载的 gpg 验证失败 - 我做对了吗?
- firebase - Android Firebase:生成发布证书指纹时出错
- java - 使用Graphics每帧清屏不是一个好主意吗?(爪哇)
- c# - 脚本组件缺少 oracle 参考
- c# - 当等待的一部分具有 ConfigureAwait false 时使用 MessageBox
- android - 从 Naught 和 Oreo 设备中的 mediastore 获取 URI 的文件名和路径
- angularjs - 如何在html中放置角度js控制器
- python - 无法在具有 GPU 的机器上安装没有 CUDA 支持的 Keras MXNet