css - 当涉及到图层时显示元素

标签 css html

当涉及到正确的 div 时,我试图使元素 div 可见。

这是我要执行的操作的代码:

http://jsfiddle.net/wjewq5yq/1/

所以当白<div id="block2"></div><div id="content"></div> 上,肯定是隐藏的,但是只要输入到<div id="block1"></div> , 必须显示白色元素。

知道如何解决这个问题吗?

最佳答案

如果只是纯色的话,可以把蓝色的设置成透明,然后通过box-shadow在周围涂上绿色,加上一些relativez-index 来完成它:

#content {
    overflow:hidden;
    background-color: blue;
    height: 300px;
    width: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#block1 {
    position:relative;
    z-index:1;
    box-shadow:0 0 0 500px green, inset 1px 1px 3px;
    height: 150px;
    width: 200px;
}
#block2 {
    background-color: white;
    height: 10px;
    width: 40px;
    position: absolute;
    top: 150px;
    -webkit-animation: moveDiv 5s linear infinite 0s;
    -ms-animation: moveDiv 5s linear infinite 0s;
    -moz-animation: moveDiv 5s linear infinite 0s;
    animation: moveDiv 5s linear infinite 0s;
}
@-webkit-keyframes moveDiv {
    0% {
        -webkit-transform: translateX(0px);
    }
    25% {
        -webkit-transform: translateX(-50px);
    }
    50% {
        -webkit-transform: translateX(-100px);
    }
    75% {
        -webkit-transform: translateX(-150px);
    }
    100% {
        -webkit-transform: translateX(-300px);
    }
}
@-ms-keyframes moveDiv {
    0% {
        -ms-transform: translateX(0px);
    }
    25% {
        -ms-transform: translateX(-50px);
    }
    50% {
        -ms-transform: translateX(-100px);
    }
    75% {
        -ms-transform: translateX(-150px);
    }
    100% {
        -ms-transform: translateX(-300px);
    }
}
@-moz-keyframes moveDiv {
    0% {
        -moz-transform: translateX(0px);
    }
    25% {
        -moz-transform: translateX(-50px);
    }
    50% {
        -moz-transform: translateX(-100px);
    }
    75% {
        -moz-transform: translateX(-150px);
    }
    100% {
        -moz-transform: translateX(-300px);
    }
}
@keyframes moveDiv {
    0% {
        transform: translateX(0px);
    }
    25% {
        transform: translateX(-50px);
    }
    50% {
        transform: translateX(-100px);
    }
    75% {
        transform: translateX(-150px);
    }
    100% {
        transform: translateX(-300px);
    }
}
<div id="content">
    <div id="block1"></div>
    <div id="block2"></div>
</div>

如果它是关于图形背景(图像/纹理),那么白色元素不应该放在蓝色父元素的蓝色和直接子元素旁边,以便设置 z-index 属性...对不起我的普通英语:)

关于css - 当涉及到图层时显示元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29048674/

相关文章:

css - 将元素向左移动更多,而不通过调整大小移动元素

jquery - 如何设置导航高度以动态偏移顶部?

javascript - 如何为 X 个元素关联点击功能?

html - 在 jboss 中为 HTML 加载图像

css - 是否有一种简短的方法来列出带有供应商前缀的 CSS3 关键帧?

html - 查看某个容器所有使用的css

html - 复选框占宽度的 100%

html - 我如何更改 <article> php 元素样式

html - 在 div 中自动调整图像大小

css - 模块化 CSS 和应用范围内的样式