CSS ワールド - コード実践: 画像の Alt 情報の表示

CSS ワールド - コード実践: 画像の Alt 情報の表示

ただし、デフォルトの src を持つ <img> 要素を使用してスクロール読み込み効果を実現すると、次のようなエクスペリエンスの問題が発生する可能性があります。JavaScript の読み込みが遅い場合、ページに情報のない真っ白な白い画像領域のパッチが表示される可能性が高くなり、ユーザーにはコンテンツが何であるかがわかりません。
alt 属性は説明情報を提供できますが、視覚効果が乏しいため非表示になっています。画像が読み込まれる前に alt 情報を表示できます。

<!DOCTYPE html>
<html lang="ja">

    <ヘッド>
        <メタ文字セット="UTF-8">
        <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
        <meta http-equiv="X-UA-compatible" content="ie=edge">
        <title>CSS ワールド - コード実践 - 画像の代替情報のプレゼンテーション</title>
        <スタイル>
            /* スクロール読み込み効果 CSS */
            /* 画像 {
                可視性: 非表示;
            }

            画像[src] {
                可視性: 可視;
            } */

            画像 {
                表示: インラインブロック;
                幅: 180ピクセル;
                高さ: 100px;
                /* Firefox の代替テキストを非表示にする */
                色: 透明;
                位置: 相対的;
                オーバーフロー: 非表示;
            }

            img:not([src]) {
                /* Chrome の代替テキストと銀色の枠線を非表示にする */
                可視性: 非表示;
            }

            画像::前{
                /* ライトブルーの背景 */
                コンテンツ: "";
                位置: 絶対;
                左: 0;
                幅: 100%;
                高さ: 100%;
                背景色: #f0f3f9;
                可視性: 可視;
            }

            画像::後{
                /* 黒い alt 情報バー */
                コンテンツ: attr(alt);
                位置: 絶対;
                左: 0;
                下部: 0;
                幅: 100%;
                行の高さ: 30px;
                背景色: rgba(0, 0, 0, .5);
                色: 白;
                フォントサイズ: 14px;
                変換: translateY(100%);
                /* トランジションアニメーション効果を追加する*/
                遷移: 変換 .2s;
                可視性: 可視;
            }


            img:hover::after {
                変換: translateY(0);
            }

        </スタイル>
    </head>

    <本文>
        <div style="width: 200px;height: 200px;background: blanchedalmond;overflow: auto;">
            <!-- スクロール読み込み効果 HTML: -->
            <!-- <画像> -->
            <img alt="図1" src="https://dss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=3791918726,2864900975&fm=26&gp=0.jpg">
            <img alt="瞑想する美しい女性" data-src="1.jpg">
            <img alt="図3" src="https://dss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=2853553659,1775735885&fm=26&gp=0.jpg">
            <img alt="瞑想の写真" data-src="1.jpg">
        </div>
    </本文>
    <スクリプト>

    </スクリプト>

</html>

操作効果:

CSS World - コード実践における画像 ALT 情報の表示に関するこの記事はこれで終わりです。より関連性の高い CSS 画像 ALT 情報コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  音声キューイングシステムを実装するためのJavaScript

>>:  MySQLはPartition関数を使用して水平分割戦略を実装します。

推薦する

JavaScript でピンボール ゲームの Web バージョンを実装する

参考までに、JavaScriptのオブジェクトとメソッドを使用して実装されたWebピンボールゲームを...

「いいね!」文がインデックスに登録されないのはなぜですか?

序文この記事は、最も人気のある言語で最も退屈な基礎知識を説明することを目的としていますこのトピックは...

MySQLストアドプロシージャにおけるカーソル(DECLARE)の原理と使い方の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャにおけるカーソル (DECLARE) ...

Hyper-v仮想マシンを使用してCentos7をインストールする

目次導入準備するシステムイメージをダウンロードHyper-Vを有効にする新しい仮想ネットワークスイッ...

Vueのライブ放送機能の詳しい説明

最近、会社でたまたま生放送をしていたのですが、今日は私が遭遇した落とし穴を記録します。会社のサーバー...

MySQL 8.0.17 winx64 (Navicat 付き) 手動構成バージョンのインストール チュートリアル図

1. ダウンロードアドレス: mysql-8.0.17-winx64ダウンロードして解凍する2. フ...

Reactでレシピシステムを実装する方法を解説した記事

目次1. レシピ集1.1 プロジェクトの背景1.2 テクノロジースタック1.3 開発環境1.4. プ...

MySQLの使用中に発生した問題

ここでは、MySQL の使用中に発生するいくつかの問題とその解決策を示します。 sql_mode=o...

TomcatとJDKのバージョンの対応と各Tomcatバージョンの機能

Apache Tomcat は、Java Servlet および Java Server Pages...

mysql 複数テーブル接続削除関数の削除

単一のテーブルを削除する: tableName から columnName = value を削除し...

JavaScript でロジック判定コードを最適化する方法

序文日常生活で使用する論理的判断文には、if...else...、switch...case...、...

auto.jsを使用して毎日の自動チェックイン機能を実現する

auto.js を使用して毎日のチェックインを自動化する感染症のせいで、毎日時間通りに家に帰らなけれ...

vue+springbootでログイン認証コードを実現

この記事では、ログイン認証コードを実装するためのvue+springbootの具体的なコードを例とし...

Linux のインスタンスにパブリック IP アドレスを割り当てる方法

説明するこのインターフェースを呼び出すときは、次の点に注意する必要があります。パブリック IP アド...

Vueはダイアログのカプセル化を実装します

目次Vue2 ライティングVue3プラグインのバージョンの記述Vue3 動的コンポーネントの記述書き...