CSSを使ってマウスオーバー(hover)で画像の拡大する

transform:scale(1.3)

マウスオーバーのアクションは色を反転させたり、少し透明にしたりいろんなアクションがあります。今回はCSSだけを使いマウスオーバー(hover)時に画像が拡大するアクションを紹介します。

Javascriptを使わないのでやり方は簡単。マウスオーバーする要素に画像を入れ「transform:scale(1.3)」を追加する。アニメーションにしたいので値の変化をアニメーションさせる「transition-duration」を使う。

<div class="Contents">
  <div class="Contents__img">
    <a class="is-hover-scale" href="sample.html">
     <dl class="ImgTextBox">
       <dt class="ImgTextBox__wrap is-overflow-hidden">
        <img class="ImgTextBox__wrap-img" src="sample.jpg" alt="わんこ">
       </dt>
       <dd class="ImgTextBox__text">hoverすると画像が拡大するサンプル</dd>
     </dl>
   </a>
  </div>
</div>

SCSS

.ImgTextBox{
	width: 500px;
	margin: 20px;
	padding: 20px;
	border: 1px solid #666;
	&__wrap{
		width: 100%;
	}
	&__text{
		padding: 15px;
		font-size: 20px;
		text-align: center;
	}
}
//hover
.is-hover-scale{
	&:hover{
		img{
			transform:scale(1.3);
			transition-duration: 0.3s;
		}
	}
}
.is-overflow-hidden{
	overflow: hidden;
}

CSS

.ImgTextBox {
  width: 500px;
  margin: 20px;
  padding: 20px;
  border: 1px solid #666;
}
.ImgTextBox__wrap {
  width: 100%;
}
.ImgTextBox__text {
  padding: 15px;
  font-size: 20px;
  text-align: center;
}
.is-hover-scale:hover img {
transform: scale(1.3);
transition-duration: 0.3s;
}
.is-overflow-hidden {
overflow: hidden;
}

使用方法

追加するとこんな感じ

上記のように黒くする方法

クラス「is-overflow-hidden」を追加した要素にクラス「-bg-black」を追加。クラス「is-hover-scale」を追加した要素にクラス「-opacity」を追加。

html

<div class="Contents">
  <div class="Contents__img">
    <a class="is-hover-scale -opacity" href="sample.html">
     <dl class="ImgTextBox">
       <dt class="ImgTextBox__wrap is-overflow-hidden -bg-black">
         <img class="ImgTextBox__wrap-img" src="sample.jpg" alt="わんこ">
       </dt>
       <dd class="ImgTextBox__text">hoverすると画像が拡大するサンプル</dd>
     </dl>
   </a>
  </div>
</div>

CSS

.ImgTextBox {
  width: 500px;
  margin: 20px;
  padding: 20px;
  border: 1px solid #666;
}
.ImgTextBox__wrap {
  width: 100%;
}
.ImgTextBox__text {
  padding: 15px;
  font-size: 20px;
  text-align: center;
}
.is-hover-scale:hover img {
transform: scale(1.3);
transition-duration: 0.3s;
}
.is-hover-scale.-opacity:hover img {
opacity: 0.6;
}
.is-overflow-hidden {
overflow: hidden;
}
.is-overflow-hidden.-bg-black {
  background: #000;
}

SCSS

.ImgTextBox{
	width: 500px;
	margin: 20px;
	padding: 20px;
	border: 1px solid #666;
	&__wrap{
		width: 100%;
	}
	&__text{
		padding: 15px;
		font-size: 20px;
		text-align: center;
	}
}
.is-hover-scale{
	&:hover{
		img{
			transform:scale(1.3);
			transition-duration: 0.3s;
		}
	}
	&.-opacity{
		&:hover{
			img{
				opacity: 0.6;
			}
		}
	}
}
.is-overflow-hidden{
	overflow: hidden;
	&.-bg-black{
		background: #000;
	}
}
自由な働き方をしてみませんか
フリーランスといえばクラウドソーシングが連想されると思います。 しかし「クラウドワークス」や「ランサーズ」調べてみると仕事の単価が非常に安い。 せっかく身につけた技術力がクラウドソーシングでは全く価値がなくなってしまいます。
そこでオススメなのがリモートワークの案件が多く翌月15日報酬として振り込まれる
クラウドテック」です。 掲載案件では平均月60万週3~4日勤務の案件が豊富生活スタイルに合わせた働き方を設計できます。 また福利厚生が充実し旅行、レジャー、家事代行、ヘビーシッター、健康診断など100種類以上を無料で使えます。
  • 97%がリモートのお仕事
  • 週4日、週3日OKのお仕事多数
  • 登録社数74万件業界トップクラス
  • 2〜4週間程度でお仕事決定
まだ間に合います。まずは無料登録をして自分に合った案件がないか確認してみてください。きっと魅力的な案件が見つかることでしょう。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする