2016-05-24 7 views
0

私は複数の背景を使用します。私はCss3コードと背景画像を持つマルチ・バックグラウンドの背後にある要素の前に使用します。 と私はこのバックグラウンドの後ろに(apc-container)と呼ばれる他の背景も持っています。背景の前に他の背景の前に擬似要素を配置するにはどうすればよいですか?

私の問題は、before要素も#acp-containerの背後にあることです。を擬似要素に入れてから、私はz-indexを使います。 これを#acp-containerでも使用しようとしますが、動作しません。

私は前の擬似要素を#apc-containerの前と#subfilterの後ろにBGをどのように持ってきますか?

このコードで確認すると、問題が簡単にわかります。

は、APC-容器を相対位置と1のz屈折率を与え、要素の前に-10のz屈折率をTEH方法を発見

#streams-container, 
 
#acp-container { 
 
    border-radius: 10px; 
 
    background-color: #f8f8f8; 
 
    min-height: 500px; 
 
} 
 
.subfilter { 
 
    margin-top: 160px; 
 
} 
 
.subfilter a { 
 
    margin-right: 130px; 
 
    margin-left: 130px; 
 
    width: 145px; 
 
    height: 145px; 
 
    display: inline-block; 
 
    position: relative; 
 
    line-height: 145px; 
 
    background-size: auto auto, auto auto; 
 
    background-color: #eaeaea; 
 
    background-image: url(images/Eye.png), -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#eaeaea)); 
 
    background-image: url(images/Eye.png), -webkit-linear-gradient(top, #f6f6f6, #eaeaea); 
 
    background-image: url(images/Eye.png), -moz-linear-gradient(top, #f6f6f6, #eaeaea); 
 
    background-image: url(images/Eye.png), -ms-linear-gradient(top, #f6f6f6, #eaeaea); 
 
    background-image: url(images/Eye.png), -o-linear-gradient(top, #f6f6f6, #eaeaea); 
 
    background-image: url(images/Eye.png), linear-gradient(top, #f6f6f6, #eaeaea); 
 
    -moz-border-radius: 5px; 
 
    -webkit-border-radius: 5px; 
 
    border-radius: 5px; 
 
    -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, .25), 0 2px 3px rgba(0, 0, 0, .1); 
 
    -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .25), 0 2px 3px rgba(0, 0, 0, .1); 
 
    box-shadow: 0 1px 1px rgba(0, 0, 0, .25), 0 2px 3px rgba(0, 0, 0, .1); 
 
} 
 
.subfilter a.finiwatch { 
 
    background-position: 0px -172px, 0 0; 
 
} 
 
.subfilter a:active { 
 
    top: 1px; 
 
} 
 
.subfilter a::before { 
 
    content: ''; 
 
    position: absolute; 
 
    z-index: -1; 
 
    top: -8px; 
 
    right: -8px; 
 
    bottom: -8px; 
 
    left: -8px; 
 
    background-color: #eaeaea; 
 
    -moz-border-radius: 5px; 
 
    -webkit-border-radius: 5px; 
 
    border-radius: 5px; 
 
    opacity: 0.5; 
 
} 
 
.subfilter a:active::before { 
 
    top: -9px; 
 
} 
 
.subfilter a:hover::before { 
 
    opacity: 1; 
 
} 
 
.subfilter a.finiwatch:hover::before { 
 
    background-color: #B3F390; 
 
} 
 
.subfilter a:hover { 
 
    top: 0px, 1px; 
 
} 
 
.subfilter a.finiwatch:hover { 
 
    background-position: -160px -158px, 0 0; 
 
} 
 
.subfilter a:active { 
 
    background: url(images/Eye.png), -moz-linear-gradient(top, #eaeaea, #f6f6f6); 
 
    background-image: url(images/Eye.png), -webkit-gradient(linear, left top, left bottom, from(#eaeaea), to(#f6f6f6)); 
 
    background-image: url(images/Eye.png), -webkit-linear-gradient(top, #eaeaea, #f6f6f6); 
 
    background-image: url(images/Eye.png), -moz-linear-gradient(top, #eaeaea, #f6f6f6); 
 
    background-image: url(images/Eye.png), -ms-linear-gradient(top, #eaeaea, #f6f6f6); 
 
    background-image: url(images/Eye.png), -o-linear-gradient(top, #eaeaea, #f6f6f6); 
 
    background-image: url(images/Eye.png), linear-gradient(top, #eaeaea, #f6f6f6); 
 
} 
 
.subfilter a.finiwatch:active { 
 
    background-position: -318px -158px, 0 0; 
 
} 
 
.subfilter a.finiwatch:selected { 
 
    background-position: -318px -158px, 0 0; 
 
}
<div id="streams-container"> 
 
    <div class="subfilter"> 
 
    <a class="finiwatch" href=""></a> 
 
    </div>

答えて

0

#streams-container, 
#acp-container { 
    border-radius: 10px; 
    background-color: #f8f8f8; 
    min-height: 500px; 
    position: relative; 
    z-index: 1; 
} 

.subfilter a::before { 
    content: ''; 
    position: absolute; 
    z-index: -10; 
    top: -8px; 
    right: -8px; 
    bottom: -8px; 
    left: -8px; 
    background-color: #eaeaea; 
    -moz-border-radius: 5px; 
    -webkit-border-radius: 5px; 
    border-radius: 5px; 
    opacity: 0.5; 
} 
関連する問題