我想实现如下效果:http://jsfiddle.net/3KJta/1/
但是,我的解决方案对小 div 和大 div 使用了已知 宽度。我需要它来处理可变 大小的 div。这个用例是一个显示在较小的灵活尺寸元素上方的工具提示。工具提示内容未知,因此宽度可以是任何值。
到目前为止我有:
<div class="small">
<div class="smaller"></div>
<div class="larger"></div>
</div>
和
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
div {
border: 2px solid black;
}
.small {
width: 50px;
height: 50px;
position: absolute;
left: 200px;
top: 50px;
text-align: center;
}
.smaller {
width: 20px;
height: 20px;
border-color: red;
display: inline-block;
}
.larger {
width: 200px;
height: 200px;
border-color: blue;
display: inline-block;
margin-left: -75px /* NOTE: in reality, .small has a variable width, and so does .larger, so i can't just take off this fixed margin */
}
最佳答案
如果您可以使用 css3 并且只支持现代浏览器,您可以使用 transform: translateX(-50%);
使更大的框居中 ( currently supported browsers )。
请看这个例子:http://jsfiddle.net/2SQ4S/1/
关于html - 如何在可变宽度的较小 div 内水平居中较大的可变宽度 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19713118/