私はそのテキストと画像のようなポストのプレビューをいくつかのフィルタを使って作成しています。位置の使用:フレックスコンテナ内の相対
問題は、全体のdivを1300px
ではなく、650px
にしたいということです。
ただし、この方法ではdisplay: flex
を使用することはできません。また、divとテキストのdivと同じ高さのimgでdivを使用することはできません。
この問題はcss(jsなし)でのみ解決できますか? http://codepen.io/anon/pen/RGwOgN?editors=1111
.post {
width: 650px;
padding: 25px 25px;
z-index: 10;
position: relative;
color: white;
}
.flex-row {
display: flex;
width: 1300px; /* here is a problem */
}
.back-img {
width: 650px;
background-size: cover;
position: relative;
z-index: 0;
left: -650px;
filter: blur(3px);
-webkit-filter: blur(3px);
-moz-filter: blur(3px);
-o-filter: blur(3px);
-ms-filter: blur(3px);
filter: url(#blur);
overflow: hidden;
}
<div class="flex-row">
<div class="post">
<h1>Lorem ipsum</h1>
<h2>text here</h2>
<p class="lead">text hete</p>
</div>
<div class="back-img" style="background-image: linear-gradient(
rgba(0, 0, 0, 0.3),
rgba(0, 0, 0, 0.3)
),url(http://unsplash.com/photos/g-AklIvI1aI/download)">
<div></div>
</div>
</div>
ご覧のように、それが正常に動作しますが、親要素(flex-row
が)サイズ* 2に設定されている場合にのみ、理由は別の方法、:ここで
はコードがあります子要素のサイズは自動的に縮小されます。