CSS3 で実装された画像ホバートグルボタン

CSS3 で実装された画像ホバートグルボタン

結果:

実装コード

html

<ul class="スライド">
    <input type="radio" name="radio-btn" id="img-1" チェック済み />
    <li class="slide-container">
		<div class="スライド">
			<img src="http://farm9.staticflickr.com/8072/8346734966_f9cd7d0941_z.jpg" />
        </div>
		<div class="nav">
			<label for="img-6" class="prev">&#x2039;</label>
			<label for="img-2" class="next">&#x203a;</label>
		</div>
    </li>

    <input type="radio" name="radio-btn" id="img-2" />
    <li class="slide-container">
        <div class="スライド">
          <img src="http://farm9.staticflickr.com/8504/8365873811_d32571df3d_z.jpg" />
        </div>
		<div class="nav">
			<label for="img-1" class="prev">&#x2039;</label>
			<label for="img-3" class="next">&#x203a;</label>
		</div>
    </li>

    <input type="radio" name="radio-btn" id="img-3" />
    <li class="slide-container">
        <div class="スライド">
          <img src="http://farm9.staticflickr.com/8068/8250438572_d1a5917072_z.jpg" />
        </div>
		<div class="nav">
			<label for="img-2" class="prev">&#x2039;</label>
			<label for="img-4" class="next">&#x203a;</label>
		</div>
    </li>

    <input type="radio" name="radio-btn" id="img-4" />
    <li class="slide-container">
        <div class="スライド">
          <img src="http://farm9.staticflickr.com/8061/8237246833_54d8fa37f0_z.jpg" />
        </div>
		<div class="nav">
			<label for="img-3" class="prev">&#x2039;</label>
			<label for="img-5" class="next">&#x203a;</label>
		</div>
    </li>

    <input type="radio" name="radio-btn" id="img-5" />
    <li class="slide-container">
        <div class="スライド">
          <img src="http://farm9.staticflickr.com/8055/8098750623_66292a35c0_z.jpg" />
        </div>
		<div class="nav">
			<label for="img-4" class="prev">&#x2039;</label>
			<label for="img-6" class="next">&#x203a;</label>
		</div>
    </li>

    <input type="radio" name="radio-btn" id="img-6" />
    <li class="slide-container">
        <div class="スライド">
          <img src="http://farm9.staticflickr.com/8195/8098750703_797e102da2_z.jpg" />
        </div>
		<div class="nav">
			<label for="img-5" class="prev">&#x2039;</label>
			<label for="img-1" class="next">&#x203a;</label>
		</div>
    </li>

    <li class="nav-dots">
      <label for="img-1" class="nav-dot" id="img-dot-1"></label>
      <label for="img-2" class="nav-dot" id="img-dot-2"></label>
      <label for="img-3" class="nav-dot" id="img-dot-3"></label>
      <label for="img-4" class="nav-dot" id="img-dot-4"></label>
      <label for="img-5" class="nav-dot" id="img-dot-5"></label>
      <label for="img-6" class="nav-dot" id="img-dot-6"></label>
    </li>
</ul>

CSS3

@import url(https://fonts.googleapis.com/css?family=Varela+Round);

html、本文 { 背景: #333 url("https://codepen.io/images/classy_fabric.png"); }

.スライド{
    パディング: 0;
    幅: 609ピクセル;
    高さ: 420px;
    表示: ブロック;
    マージン: 0 自動;
    位置: 相対的;
}

.スライド * {
    ユーザー選択: なし;
    -ms-user-select: なし;
    -moz-user-select: なし;
    -khtml-ユーザー選択: なし;
    -webkit-user-select: なし;
    -webkit-touch-callout: なし;
}

.スライド入力 { 表示: なし; }

.slide-container { 表示: ブロック; }

.スライド{
    上: 0;
    不透明度: 0;
    幅: 609ピクセル;
    高さ: 420px;
    表示: ブロック;
    位置: 絶対;

    変換: スケール(0);

    遷移: すべて .7 のイーズイン アウト。
}

.スライド画像{
    幅: 100%;
    高さ: 100%;
}

.nav ラベル {
    幅: 200ピクセル;
    高さ: 100%;
    表示: なし;
    位置: 絶対;

	  不透明度: 0;
    zインデックス: 9;
    カーソル: ポインタ;

    遷移: 不透明度 .2 秒;

    色: #FFF;
    フォントサイズ: 156pt;
    テキスト配置: 中央;
    行の高さ: 380px;
    フォントファミリー: "Varela Round"、サンセリフ;
    背景色: rgba(255, 255, 255, .3);
    テキストシャドウ: 0px 0px 15px rgb(119, 119, 119);
}

.slide:hover + .nav label { 不透明度: 0.5; }

.nav ラベル:hover { 不透明度: 1; }

.nav .next { 右: 0; }

入力:チェック済み + .slide-container .slide {
    不透明度: 1;

    変換: スケール(1);

    遷移: 不透明度 1 秒、イーズインアウト;
}

入力:チェック済み + .slide-container .nav ラベル { 表示: ブロック; }

.nav-dots {
	幅: 100%;
	下: 9px;
	高さ: 11px;
	表示: ブロック;
	位置: 絶対;
	テキスト配置: 中央;
}

.nav-dots .nav-dot {
	上: -5px;
	幅: 11px;
	高さ: 11px;
	マージン: 0 4px;
	位置: 相対的;
	境界線の半径: 100%;
	表示: インラインブロック;
	背景色: rgba(0, 0, 0, 0.6);
}

.nav-dots .nav-dot:hover {
	カーソル: ポインタ;
	背景色: rgba(0, 0, 0, 0.8);
}

入力#img-1:チェック済み ~ .nav-dots ラベル#img-dot-1,
入力#img-2:チェック済み ~ .nav-dots ラベル#img-dot-2,
入力#img-3:チェック済み ~ .nav-dots ラベル#img-dot-3,
入力#img-4:チェック済み ~ .nav-dots ラベル#img-dot-4,
入力#img-5:チェック済み ~ .nav-dots ラベル#img-dot-5,
入力#img-6:チェック済み ~ .nav-dots ラベル#img-dot-6 {
	背景: rgba(0, 0, 0, 0.8);
}

上記は、CSS3 で実装された画像ホバー トグル ボタンの詳細です。CSS3 画像ホバー トグルの詳細については、123WORDPRESS.COM の他の関連記事にも注目してください。

<<:  Vueプロジェクトのパッケージ化の詳細な説明

>>:  HTML における DOM 要素のスクロールバースクロール制御の詳細な説明

推薦する

JavaScript Domはカルーセルの原理と例を実装します

カルーセルを作りたい場合、まずその原理を理解する必要があります。画像を右から左にスライドさせるにはど...

Nginx を使用してフロントエンドのクロスドメイン問題を解決する方法

序文Vue アプリケーションなどの静的ページを開発する場合、クロスドメインになる可能性のあるインター...

CSS マージンの重複とその防止方法

2 つ以上のブロックレベル ボックスの垂直に隣接するエッジが重なり合っています。結果として得られる境...

実行後にdocker nginxにアクセスできない問題の解決策

## 1最近、docker デプロイメントを学習しており、当初は nginx を docker 化す...

Tomcat が非同期サーブレットを実装する方法の詳細な説明

序文これまでの Tomcat シリーズの記事を通じて、私のブログを読んでいる学生は Tomcat に...

vsCodeはワンクリックでvueテンプレートを生成します

1. ショートカットCtrl + Shift + Pを使用してコンソールを呼び出します 2、「スニペ...

HTML タグ: サブタグと sup タグ

今日はあまり使わないHTMLタグ「subタグ」と「supタグ」を紹介します。関連記事: HTML タ...

DOM操作テーブルの例(DOMはテーブルを作成します)

1. HTML タグを使用してテーブルを作成します。コードをコピーコードは次のとおりです。 <...

WebpackはCSSファイルを読み込み、その設定方法

webpackはCSSファイルとその設定をロードします複数の CSS ファイルを作成した後、HTML...

MySQL イベント スケジューラに関するよくある話 (必読)

概要MySQL には独自のイベント スケジューラもあり、これは Linux の crontab ジョ...

HTML での select optgroup タグの使用の概要

時々、選択した内容をグループ化する必要があります。以前はプログラム制御を使用していました。今日、se...

Linux MySQL ルートパスワードを忘れた場合の解決方法

MySQL データベースを使用する際、何らかの理由で長期間 MySQL にログインしていない場合、ま...

MySQL グループ化クエリと集計関数

概要私たちは、双十一に天猫で化粧品を購入する人の平均支出額を知りたい(商品の価格帯を見つけるのに役立...

JavaScriptクロージャの原理と機能の詳細な説明

目次導入クロージャの使用カレー作りパブリック変数の実装キャッシュカプセル化(属性のプライベート化)閉...

Ubuntu 18.04 に MySQL をインストールする (グラフィカル チュートリアル)

ヒント: 以下の操作はすべて root 権限で実行されます。 # MySQL がインストールされてい...