html - 如何在可变宽度的较小 div 内水平居中较大的可变宽度 div

标签 html css

我想实现如下效果:http://jsfiddle.net/3KJta/1/

enter image description here

但是,我的解决方案对小 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/

相关文章:

jquery - 如何让CSS按钮显示透明

html - 在 css 中使用 <mark> 填充

css - 如何在 Logo 旁边的标题菜单中插入搜索栏。请告诉我我做错了什么?

javascript - 获取位置为 :fixed 的元素的滚动值

css - 我怎样才能让我的水平导航栏跨越整个宽度?

javascript - 使用ajax检查文本输入字段的值

javascript - 操作 HTML 并放入数组

html - 如何调整侧边高度?

css - 如何在不使用 Minimal Mistakes 中的 wide 类的情况下摆脱最大宽度 1280?

php - WordPress 获取 nav_menu_submenu_css_class 过滤器中的显示位置