【问题标题】:CSS text-align by parent smaller than child [closed]父级小于子级的CSS文本对齐[关闭]
【发布时间】:2016-05-10 06:19:56
【问题描述】:

我希望孩子与父母居中对齐。父母较小,这就是导致问题的原因。 https://jsfiddle.net/mkvaL7uy

我在这里看到的唯一解决方案是给父级一个固定的宽度 - 使其非常宽 + height:0px,创建另一个元素来替换不可见的父级,然后子级可以正确对齐。 https://jsfiddle.net/mkvaL7uy/1

还有其他不依赖宽度的方法吗?

【问题讨论】:

    标签: css text-align


    【解决方案1】:

    这里有一个答案:Centering div that is wider than its parent without setting negative left margin

    答案也指向这个小提琴:http://jsfiddle.net/danield770/msVVD/2/

    或者,您可以使用两个元素之间的相对位置而不设置宽度规则。需要注意的是inner 将始终依赖于outer 的宽度,而inner 永远不会比outer 窄:

    .outer {
        background: beige;
        display: inline;
        position: relative;
        text-align: center;
        margin-left: 100px;
    }
    
    .inner {
        background: pink;
        position: absolute;
        left: -50%;
        right: -50%;
    }
    <div class="outer">
      This text is short.
      <div class="inner">This text is not much longer than the one above.</div>
    </div>

    【讨论】:

    • 好的 - 将测试它 - 在我的情况下,两个宽度都不同
    • 奇怪的是,不起作用 - 如果未设置大小(使元素可通过其内容扩展),则给定的小提琴不会对齐
    • @Krupp,我编辑了答案以显示一种无需设置宽度的方法。
    • 确实很好,谢谢,但是 - 这样,孩子的宽度总是父母的 200%。在我的小提琴中,这两个可以有任何大小。再次感谢
    猜你喜欢
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多