背景画像にグラデーションのオーバーレイをかける方法
HTML
<div class="storyblok" style="background-image:url(<?php echo wp_get_attachment_url($fields['img']); ?>);">
<?php
$storyblok = array_slice(scf::get('STORY'), 1);
if (!empty($storyblok[0])) {
foreach ($storyblok as $fields) { ?>
<div class="storyblok" style="background-image:url(<?php echo wp_get_attachment_url($fields['img']); ?>);">
<div class="inner">
<div class="story-textarea fade">
<h3><?php echo $fields['title']; ?></h3>
<p><?php echo $fields['text']; ?></p>
</div> <!-- /story-textarea -->
</div> <!-- /inner -->
</div> <!-- /storyblok -->
<?php }} ?>
一番上の class=”storyblok” の背景画像の上に透過グラデーションをかける
CSS
.storyblok {
background-repeat: no-repeat;
background-size: cover;
background-position: center;
position: relative;
}
.storyblok::before {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background:-moz-linear-gradient(top,rgba(0, 0, 0, 0.6),transparent,rgba(0, 0, 0, 0.6));
background:-webkit-linear-gradient(top,rgba(0, 0, 0, 0.6),transparent,rgba(0, 0, 0, 0.6));
background:linear-gradient(to bottom,rgba(0, 0, 0, 0.6),transparent,rgba(0, 0, 0, 0.6));
}
.storyblok .inner{
position: relative;
z-index: 5;
}
.storyblokの疑似要素を利用して
透過グラデーションの背景を重ねる
そのままでは
テキストの上にも透過グラデーションがかかって
文字が読みづらいのでz-indexで上に来るように指定する。
グラデーション
linear-gradientでグラデーションを作る

今回は真ん中が透明になるようなグラデーション
この記事をシェアする
タグ



