CSS の Display、Visibility、Opacity、rgba、z-index: -1 の違い

CSS の Display、Visibility、Opacity、rgba、z-index: -1 の違い

ウェブページ上のいくつかの要素の非表示、透明、その他のプロパティを制御する必要があることがよくあります。

<スタイル>
    .d1{
      表示: なし;
    }
    .d2{
      可視性: 可視;
    }
    .d3{
      不透明度: 0;
    }
  </スタイル>

  <div class="d1" onclick="clickEvent('display: none;')"></div>
  <div class="d2" onclick="clickEvent('visibility: hidden;')"></div>
  <div class="d3" onclick="clickEvent('不透明度: 0;')"></div>
  <script type="text/javascript">
    関数 clickEvent(type){
      アラート(タイプ)
    }
  </スクリプト>

表示: なし;

  1. DOM 構造: ブラウザは display:none; の要素をレンダリングせず、スペースを占有しません。
  2. イベント監視: DOMイベント監視は不可能です
  3. パフォーマンス: このプロパティを動的に変更すると順序が変更され、パフォーマンスが低下します。
  4. 継承: 子要素はレンダリングされないため、子要素には継承されません。
  5. トランジション: トランジションは表示をサポートしていません

可視性: 非表示;

  1. DOM構造: 要素は非表示ですが、レンダリングされ、消えることはなく、スペースを占有します。
  2. イベント監視: DOMイベント監視は不可能です
  3. パフォーマンス: このプロパティを動的に変更すると再描画が行われ、パフォーマンスが向上します。
  4. 継承: 子要素に継承されますが、visibility: visible を設定することで子要素を非表示にすることができます。
  5. 遷移: 表示はすぐに表示され、非表示は遷移できます

不透明度: 0;

  1. DOM構造: 透明度が100%の場合、要素は非表示になり、スペースを占有します。
  2. イベント監視:DOMイベントを監視できます
  3. パフォーマンス: 合成レイヤーに昇格され、再描画がトリガーされず、パフォーマンスが向上します。
  4. 継承: 子要素に継承され、子要素は opacity: 1 によって非表示解除できません。
  5. トランジション: 非表示と表示の両方でトランジションをサポート

rgb

  1. background: rgba(R, G, B, 0)、背景色のみが透明で、要素は透明でありながらスペースを占有します。
  2. 背景: rgba (R, G, B, 0) は子要素に継承されません
  3. バインドされたイベントは引き続きトリガーできます。
  4. 遷移は有効です。

Zインデックス: -1

  1. z-index の設定は、要素の現在の DOM がドキュメント フローの外にある場合にのみ機能します (位置: absolute)。
  2. z-index: -1 を設定すると、基本的に現在の DOM のスタック コンテキストが変更され、要素が他の要素の下に配置され、非表示の目的が達成されます。
  3. 他のレイヤーのレイアウトに影響を与えずに部分的な再配置
  4. 他の要素によってブロックされた部分はイベントに応答できず、上位の要素にpointer-events:none;が設定されていてもクリックできません(注:このプロパティは継承されます)

ちょっとした実験

ぜひご自身で試してプレイしてみてください。

//html
<div class="コンテナ">
    <div class="target">
        <p>私はターゲットです、あなたは?</p>
    </div>
</div>


// css
  <スタイル>
      。容器{
          マージン: 0 自動;
          幅: 500ピクセル;
          最小高さ: 30px;
          背景色: スカイブルー;
      }
      。ターゲット{
          幅: 200ピクセル;
          高さ: 50px;
          行の高さ: 50px;
          テキスト配置: 中央;
          マージン: 0 自動;
          背景色: プラム;
          色: #fff;
          遷移: すべて線形 1;
          カーソル: ポインタ;
      }
      .クリックブロック{
        表示: なし;
      }
      .クリック可視性{
          可視性: 非表示;
      }
      .clickOpacity{
          不透明度: 0;
      }
      .clickRgba​​{
          背景色: rgba(221, 160, 221, 0);
      }
      .clickZindex{
          Zインデックス: -1;
          位置: 絶対;
      }
  </スタイル>

// js
    _target は、 document.getElementsByClassName("target")[0] に格納されます。
    _target.onclick = (() => {
        let i = 1; // クリック回数 return () => {
        // _target.attributes.class.value += " clickBlock";
        // _target.attributes.class.value += " clickVisibility";
        // _target.attributes.class.value += " clickOpacity";
        // _target.attributes.class.value += " clickRgba​​";
        _target.attributes.class.value += " clickZindex";
        console.log(`${i} 番目のクリック`);
        私は++;
    }})();

CSS の Display、Visibility、Opacity の違いについての記事はこれで終わりです。非表示のコンテンツを制御する CSS の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  HTML 名、ID、クラス (フォーマット/アプリケーション シナリオ/機能) などの違いの紹介。

>>:  モバイルウェブページのサイズ調整を実装する方法

推薦する

CSS3は、欠けた角の長方形、折り畳まれた角の長方形、欠けた角の境界線を実装しています。

序文数日前、偶然、コーナーの四角形が欠落している機能に遭遇しました。最初に頭に浮かんだのは、必要な場...

IE6 での背景画像キャッシュ

IE6 での CSS 背景画像のちらつきバグ (IE6 の背景画像キャッシュの問題) IE6 は、背...

nginx高可用性クラスタの実装プロセス

この記事は主に、nginx 高可用性クラスタの実装プロセスを紹介します。この記事のサンプルコードは非...

Win32 MySQL 5.7.27 のインストールと設定方法のグラフィックチュートリアル

MySQL 5.7.27のインストールチュートリアルは以下のように記録され、皆さんと共有されています...

Ansibleを使用してディレクトリ内のすべてのコンテンツを削除する方法

Ansible を使用する学生は、以下に示すように、Ansible が特定のフォルダーまたはファイル...

MySQLのデフォルトのソートルールに基づく落とし穴

MySQL のデフォルトの varchar 型は大文字と小文字を区別しません (insensitiv...

実際のプロジェクトでElementUIを使用する手順の詳細な説明

目次1. テーブル自動ソート2. ページング機能3.el-checkbox-group 複数選択ボッ...

初心者がHTMLタグを学ぶ(3)

関連記事:初心者が学ぶ HTML タグ (2)導入された HTML タグは、必ずしも XHTML 仕...

MySQL binlog を開く手順

Binlog は、MySQL データの変更を記録するために使用されるバイナリ ログ ファイルです。B...

MySQLのストレージエンジンの詳細な説明

MySQL ストレージ エンジンの概要ストレージ エンジンとは何ですか? MySQL のデータは、さ...

CSS 疑似クラス: 空っぽだと光る (サンプルコード)

最近私の記事を読んだ人なら誰でも、私が現在WeChatミニプログラムプロジェクトを担当しており、その...

Linux 上での MySQL データベースのインストールと Java プロジェクトの構成に関する詳細なグラフィック説明

1. MySQLデータベースをインストールする① ダウンロードして解凍し、/opt/softディレク...

vue+echarts で中国地図のフロー効果を実現する (詳細な手順)

@vue+echarts は中国地図のフロー効果を実現します#レンダリングを見てみましょう手順:コ...

Vueはドラッグ可能なツリー構造図を実装します

目次Vue 再帰コンポーネントドラッグイベント最近、Vue を使用して、ドラッグ可能なツリー構造図と...