今回はlinear gradient+filterで【BootstrapVue+CSS画像アニメーション】を徹底解説をご紹介。エフェクトがついてます。簡単です。動きます。オシャレな画像一覧を作れます。レスポンシブ対応。
htmlとcssだけしか使っていません。
コードの説明や実際の動きも詳しくまとめてみたので自由にお使いください。
こちらのアニメーション/エフェクトのコードはすべて完全オリジナルなのでコピペ大歓迎です。
この記事の目次
linear gradient+filterで【BootstrapVue+CSS画像アニメーション】を徹底解説
目次
linear gradient+filterで【BootstrapVue+CSS画像アニメーション】
まずはBootstrapVueの導入方法から説明していきます。
すでにインストール済みの方はアニメーション動作の確認からご覧ください
BootstrapVueの導入
BootstrapVueの導入がまだの方のために導入方法を説明します
とりあえず下記をコピペして環境を整えてください
main.js
import BootstrapVue from 'bootstrap-vue' import 'bootstrap/dist/css/bootstrap.css' import 'bootstrap-vue/dist/bootstrap-vue.css' Vue.use(BootstrapVue)
ターミナル
npm install vue bootstrap-vue bootstrap
以上でBootstrapVueの導入は完了です
アニメーション動作の確認
動きは下の画像のような感じになります
実際の動きはこちら
コードの確認
<div class="do-animation pic-background">
<!-- 画像を複数用意 -->
<div class="pic">
<b-img src="https://source.unsplash.com/1000x800" fluid alt="Fluid image"></b-img>
</div>
<div class="pic">
<b-img src="https://source.unsplash.com/1000x801" fluid alt="Fluid image"></b-img>
</div>
<div class="pic">
<b-img src="https://source.unsplash.com/1000x802" fluid alt="Fluid image"></b-img>
</div>
<div class="pic">
<b-img src="https://source.unsplash.com/1000x803" fluid alt="Fluid image"></b-img>
</div>
<div class="pic">
<b-img src="https://source.unsplash.com/1000x804" fluid alt="Fluid image"></b-img>
</div>
<div class="pic">
<b-img src="https://source.unsplash.com/1000x805" fluid alt="Fluid image"></b-img>
</div>
</div>
/* hover後の画像一覧のアニメーション指定 */
.do-animation:hover > * {
/* hover後の画像の枠線を削除 */
padding: 0;
/* 画像の拡大調整 */
transform: scale(.9);
/* 不透明度・彩度・コントラスト・明るさの調整 */
filter: opacity(.9) saturate(100%) contrast(80%) brightness(80%);
}
/* hoverされた画像のアニメーション指定 */
.do-animation > *:hover {
/* 不透明度・彩度・コントラスト・明るさの調整 */
filter: opacity(1) saturate(200%) contrast(120%) brightness(150%);
/* 画像の拡大調整 */
transform: scale(1);
}
/* 画像一覧をど真ん中に指定 */
.pic-background{
align-items:center;
justify-content:center;
margin-left: 55px;
margin-top: 10px;
width:100%;
}
.pic img {
width:100%;
height: 100%;
}
/* 各画像のレスポンシブサイズ・配置・アニメーション速度を指定 */
.pic{
/* 画像の枠線のサイズを指定 */
padding: 3px;
float: left;
margin:0%;
/* %表記でレスポンシブ対応 */
width:29%;
height:30%;
background: linear-gradient(41deg, purple 25%, orange 50%, rgba(255, 107, 0, 0.48)) fixed;
/* hover後のアニメーション速度 */
transition:.2s all;
}
ここがポイント!
- 画像を複数用意し中央に配置する
- 各々のwidth, heightを%表記としレスポンシブ対応
- hover前後のtransform: scaleを調整することで画像が拡大
- hover前後のfilter: opacity(不透明度) saturate(彩度) contrast(コントラスト) brightness(明るさ)を調整しhoverされた画像のみを強調
- background : linear-gradientで背景にグラデーションを指定
- transitionで滑らかなアニメーションを実現
参考
そもそもWebデザインの基礎がわからない。。
そんなあなたにはこれ!
未経験からWeb制作で月50万稼げるようになったUdemy教材3選
でもなあ、独学だと心配だしプログラミングスクールで学びたい!。かといってお金はかけたくないし。。
そんなあなたにはこれ!
完全無料で一人前のエンジニアになれるプログラミングスクールあります