【问题标题】:Confusion about width of absolute positioned div对绝对定位 div 的宽度感到困惑
【发布时间】:2011-06-16 06:41:12
【问题描述】:

由于我的困惑在查看时可以更好地理解,因此我创建了一个显示问题的小提琴:http://jsfiddle.net/qQS92/3/。把它想象成一个树形结构。

红色和蓝色的 div 显然没有相同的宽度,尽管我希望它们会这样。是什么阻止了蓝色 div 使用显示文本所需的所有宽度?我希望它在红色 div 中断的相同位置中断。

这是另一个使问题生动起来的小提琴:http://jsfiddle.net/QPFw8/6/ 似乎问题出在根 div 的宽度上。这是预期的行为吗?

【问题讨论】:

    标签: html positioning css-position css


    【解决方案1】:

    您可以使用right:80px 而不是left:-80px 来修复它。

    问题来了是因为红色div的右侧固定在父级的右侧。它恰好是 0px 宽,位于页面左侧 120px。

    [编辑]

    哦,你的问题正好相反。在这种情况下,您需要在蓝色 div 上使用 right:-80px 而不是 left:80px

    [/编辑]

    【讨论】:

    • 谢谢。这看起来很有希望,但是如果您尝试将其应用于动画示例(与真实案例有更多共同点),那么问题就会出现在另一边。我的印象是,仅靠 CSS 是无法解决的。
    • 那是因为不幸的是动画只设置了css left 属性。如果您希望动画正常工作,您需要自己滚动。
    【解决方案2】:

    white-space: nowrap; 样式添加到#right div。

    【讨论】:

    • 好的,虽然这绕过了演示的问题,但我不能使用它,因为我还想为孩子设置一个最大宽度,以便文本最终换行。对不起,我之前没有提到,我将更新示例。
    • 您已将子 div 的最大宽度设置为 60px。那么你怎么能期望它的内容不换行呢?!
    • 如果我们“Add white-space: nowrap; style to #right div.”,我们的文本将显示为一长行。不合适。
    猜你喜欢
    • 2013-06-19
    • 2016-05-21
    • 2018-10-28
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    相关资源
    最近更新 更多