2017-01-28 12 views
1

子ボックスに継承されていないコンテナの背景として、不透明度を持つ画像を作成したいとします。フレックスボックス内の背景としての画像の相対位置

マイコード:

body{ 
 
\t background-color: black; 
 
\t color: white; 
 
\t font-size: 30px; 
 
\t text-align: center; 
 
\t justify-content: center; 
 
} 
 
.container{ 
 
\t border-color: white; 
 
\t border-style: solid; 
 
\t border-width: 2px; 
 
    display: flex; 
 
\t width: 300px; 
 
\t min-height: 300px; 
 
\t justify-content: center; 
 
\t flex-direction: column; \t \t 
 
} 
 
.box{ 
 
\t opacity: 0.2; 
 
\t border-color: white; 
 
\t border-style: solid; 
 
\t border-width: 2px; 
 
\t flex: 1; 
 
} 
 
.box1{background-color: yellow;} 
 
.box2{background-color: green;} 
 
.box3{background-color: blue;} 
 
.box4{background-color: red;} 
 
.box5{background-color: orange;} 
 

 
.container img{ 
 
    width: 100%; 
 
    opacity: 0.3; 
 
}
<body> 
 
<div class="container"> 
 
\t <img src="http://www.tapeciarnia.pl/tapety/normalne/191848_swiecace_kule_grafika_3d.jpg" alt=""> 
 
\t <div class="box box1">Box 1</div> 
 
\t <div class="box box2">Box 2</div> 
 
\t <div class="box box3">Box 3</div> 
 
\t <div class="box box4">Box 4</div> 
 
\t <div class="box box5">Box 5</div> 
 
</div> 
 
\t 
 
</body>

私はその画像の上にこれらのカラフルなボックスを入れたいのですが、私はボックスに画像へz-index: -1;position: absolute;position: relative;を使用しようとしているときフレックスポジショニングは機能しません。

フレックスボックスが絶対的な位置付けで機能しない理由を説明し、その問題の解決策を教えてください。

+0

私はボックスに不透明度を使用しています。なぜなら、それらがコアアクトに移動するときに背景イメージを見るためです。したがって、一時的です。 –

答えて

1

あなたは.container img.containerからposition: relativeposition: absoluteを設定するとき、正常に動作するようです。

body{ 
 
\t background-color: black; 
 
\t color: white; 
 
\t font-size: 30px; 
 
\t text-align: center; 
 
\t justify-content: center; 
 
} 
 
.container{ 
 
\t border-color: white; 
 
\t border-style: solid; 
 
\t border-width: 2px; 
 
    display: flex; 
 
\t width: 300px; 
 
\t min-height: 300px; 
 
\t justify-content: center; 
 
\t flex-direction: column; \t 
 
    position: relative; 
 
} 
 
.box{ 
 
\t opacity: 0.2; 
 
\t border-color: white; 
 
\t border-style: solid; 
 
\t border-width: 2px; 
 
\t flex: 1; 
 
} 
 
.box1{background-color: yellow;} 
 
.box2{background-color: green;} 
 
.box3{background-color: blue;} 
 
.box4{background-color: red;} 
 
.box5{background-color: orange;} 
 

 
.container img{ 
 
    position: absolute; 
 
    width: 100%; 
 
    opacity: 0.3; 
 
}
<body> 
 
<div class="container"> 
 
\t <img src="http://www.tapeciarnia.pl/tapety/normalne/191848_swiecace_kule_grafika_3d.jpg" alt=""> 
 
\t <div class="box box1">Box 1</div> 
 
\t <div class="box box2">Box 2</div> 
 
\t <div class="box box3">Box 3</div> 
 
\t <div class="box box4">Box 4</div> 
 
\t <div class="box box5">Box 5</div> 
 
</div> 
 
\t 
 
</body>

私は、これらの要素は、新しいブロックの書式コンテキストを作成するため、フレキシボックスは、右の絶対位置の要素では動作しないと思う:BFC link

+0

ありがとうございました!唯一の問題は画像がコンテナに収まらないということですが、私はすでに試行錯誤の方法でそれを行っています:) コンテナに 'position:absolute'を入れたとき、' position:relative; 'をボックスに、位置:絶対;イメージに。 フレックスボックス内の問題をabosolutlyポジショニングする理由についてのあなたの答えは本当に助けられました; D –

+0

これで、回答を受け入れ可能とマークすることができます。 – Banzay

0

私はコンテナにposition: absolute;を置くことによっておよびによって私のコードを修理画像上にposition: relative;position: absolute;、ボックスにposition: absolute;position: relative;を変更してください。

まあ、私はまだ十分な位置プロパティを理解していないようです。誰かが答えることができれば、それは以前にはうまくいかなかったのですから、私は感謝しています。

関連する問題