Css 制作div';s溢出:隐藏有效,无需定位

Css 制作div';s溢出:隐藏有效,无需定位,css,html,Css,Html,我有三个部门: (蓝色)包含带位置的div:relative (红色)带溢出的div:hidden,向左浮动 (绿色)带位置的div:absolute,我希望相对于第一个div进行定位 看 我希望将绿色div隐藏在红色div之外,因此使overflow:hidden在不定位的情况下工作,因为我希望绿色div相对于蓝色div定位 我发现了一些类似的问题,但没有一个真正适合这种情况。你的思路是正确的,但你需要使红色div具有相对定位 现在,绿色div的位置绝对是相对于蓝色div的,但只要这样,它就受

我有三个部门:

  • (蓝色)包含带
    位置的div:relative
  • (红色)带溢出的div:hidden,向左浮动
  • (绿色)带
    位置的div:absolute
    ,我希望相对于第一个div进行定位
  • 我希望将绿色div隐藏在红色div之外,因此使
    overflow:hidden
    在不定位的情况下工作,因为我希望绿色div相对于蓝色div定位


    我发现了一些类似的问题,但没有一个真正适合这种情况。

    你的思路是正确的,但你需要使红色div具有相对定位

    现在,绿色div的位置绝对是相对于蓝色div的,但只要这样,它就受蓝色div的溢出规则约束,而不是红色div

    当您使用绝对定位时,定位的元素会受到最近的父元素溢出和相对定位的限制,如果不存在其他元素,则最终会限制窗口

    .two{
        background-color: red;
        overflow: hidden;
        float: left;
    
        position:relative;
    }
    

    我认为仅使用css是不可能的。您可以让它看起来像您所说的使用javascript或jquery相当简单,但我不确定您是否需要这种形式的答案。

    问题是,我希望绿色的位置上下文是蓝色的,不是红色。我感兴趣的是,它不仅仅是对红色应用定位,并在绿色上用
    顶部
    左侧
    计算对其进行求反。@ClimpingHobo我真的认为这是使其相对于第一个div保持的唯一可能方法。这还可以让您根据需要调整div,并进行计算它会自动为您解决。@climbinghobo只是想知道您是否已经在其他地方找到了解决问题的方法?@climbinghobo我想是的,至少只使用HTML和CSS。您找到了解决方法吗?