Javascript 将孩子垂直居中<;部门>;在父公司内部<;部门>;当父级有显示时:块; 我试图垂直地定位一个子代码,它有“代码>可满足的< /COD>”,因此用户可以键入父div的中间,因此文本需要垂直居中。p>

Javascript 将孩子垂直居中<;部门>;在父公司内部<;部门>;当父级有显示时:块; 我试图垂直地定位一个子代码,它有“代码>可满足的< /COD>”,因此用户可以键入父div的中间,因此文本需要垂直居中。p>,javascript,html,css,vertical-alignment,Javascript,Html,Css,Vertical Alignment,父div必须将其显示设置为block,因为我需要它的顶部和底部边框具有其容器的最大高度,因为它将被选择用于调整大小事件 我尝试过很多方法,比如flexbox和垂直对齐,但它们都要求我更改父对象的显示属性,我看不到任何方法。我甚至会接受一个JS解决方案,如果它能工作并且不太麻烦的话 div{ 边框:1px纯黑; 最大宽度:100px; 大纲:无; } .家长{ 显示:块; 填充:0; 保证金:0; 宽度:100%; 高度:300px; } .孩子{ 显示:表格单元格; 身高:100%; 宽度:1

父div必须将其显示设置为
block
,因为我需要它的顶部和底部边框具有其容器的最大高度,因为它将被选择用于调整大小事件

我尝试过很多方法,比如flexbox和垂直对齐,但它们都要求我更改父对象的显示属性,我看不到任何方法。我甚至会接受一个JS解决方案,如果它能工作并且不太麻烦的话

div{
边框:1px纯黑;
最大宽度:100px;
大纲:无;
}
.家长{
显示:块;
填充:0;
保证金:0;
宽度:100%;
高度:300px;
}
.孩子{
显示:表格单元格;
身高:100%;
宽度:100%;
最大宽度:80px;
填充:10px;
溢出:隐藏;
垂直对齐:中间对齐;
文本对齐:居中;
空白:预包装;
单词包装:打断单词;
}

一种方法是使用以下CSS规则:

.parent {
    display: block;
    width: 100%;
    height: 300px;
    position: relative;
}

.child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
请参阅完整解决方案:

还请注意,您的html中存在一些问题:

  • contenteditable=“true”上缺少引号
  • HTML5不支持align属性

您能绝对定位它吗<代码>顶部:50%;转化:translateY(-50%)这个有效!所以我接受了。但是你知道我能为每次你按enter键时创建的新div做些什么吗?我真的不喜欢这样,对不起,我不知道你说的创建新div是什么意思?对不起,这只是我自己代码中的一个问题,我通过删除
overflow:auto