代码之家  ›  专栏  ›  技术社区  ›  caramba

css响应度,如果一个元素“触摸”另一个元素,则更改css位置

  •  0
  • caramba  · 技术社区  · 11 年前

    当一个元素接触另一个元素时,我如何改变它的位置。

    这是一个例子 http://jsfiddle.net/mZYR8/1/

    所以,如果你看这个例子,让我们说如果.title-wrap(黄色)接触到.tright wrap(橙色),我希望橙色“去”而不是黄色

    <div class="wrap">
        <div class="title-wrap">
            <h1>Lorem Ipsum Dolor</h1>
        </div>
        <div class="right-wrap">
            <span>1</span>
            <span>2</span>
            <span>3</span>
            <span>4</span>
        </div>
    </div>
    <style type="text/css">
        * {
            margin:0;
            padding:0;
        }
        .title-wrap {
            background-color:yellow;
            display:inline-block;
        }
        h1 {
    
            font-size:20px;
            line-height:40px;
        }
        .right-wrap {
            position:absolute;
            display:inline-block;
            right:0px;
            top:0px;
            background-color:orange;
            padding:20px;
        }
        .right-wrap span {
            display:inline-block;
            width:20px;
            height:20px;
            margin-right:10px;
            background-color:purple;
        }
    </style>
    

    从这里更新问题原因“黄色十一烷”不清楚

    所以如果一个元素碰到另一个元素,我想改变

    position:absolute;
    right:0px; 
    

    定位:相对;它应该是这样的:

    how it should look with position:relative;

    我可以更改任何需要的内容,也可以添加javascript。但如果可能的话,只使用css,我希望使用css。

    谢谢你的帮助!

    2 回复  |  直到 11 年前
        1
  •  2
  •   caramba    11 年前

    我想我有一个解决方案,就是将元素向右浮动。

    如果有人知道更好的解决方案,请随时添加答案。

    这似乎对我有用。

    http://jsfiddle.net/mZYR8/2/

       .right-wrap {
            float:right;
            display:inline-block;
            right:0px;
            top:0px;
            background-color:orange;
            padding:20px;
        }
    
        2
  •  1
  •   Amber    11 年前

    您可以通过将 z-index CSS属性。

    .right-wrap {
        position:absolute;
        display:inline-block;
        right:0px;
        top:0px;
        background-color:orange;
        padding:20px;
        z-index:-1;
    }
    

    以及:

    .title-wrap {
        background-color:yellow;
        display:inline-block;
        z-index:1;
    }
    

    应该工作(越高 z指数 位于顶部)