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、クラス (フォーマット/アプリケーション シナリオ/機能) などの違いの紹介。

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

推薦する

MySQL 5.7 の一時テーブルスペースを使用して落とし穴を回避する方法

導入MySQL 5.7 は、SSL/TLS と全体的なセキュリティ開発におけるいくつかの重要な変更に...

JSはショッピングカート効果の単純な加算と減算を実装します

この記事の例では、ショッピングカートの簡単な追加と削除を実現するためのJSの具体的なコードを参考まで...

Linux に nodejs 環境とパス構成をインストールするための詳細な手順

Linux に Node.js をインストールする方法は 2 つあります。1 つは簡単で、解凍して使...

mysql5.7 リモート アクセス設定

mysql5.7 でリモート アクセスを設定することは、ユーザーを作成して権限を付与するだけでアクセ...

入力ボックスの値を取得する方法のReactの例

入力ボックスの値を取得する複数の方法最初の方法は、制御されていないコンポーネントの取得です2番目の方...

クロスオリジン画像リソース権限(CORS 対応画像)

HTML 仕様書では、画像の crossorigin 属性が導入されています。適切なヘッダー情報 ...

nginx 設定場所方法の概要

位置一致順序1. 「=」プレフィックス命令マッチング、マッチングが成功したら他のマッチングを停止2....

Vue v-for ループを書く 7 つの方法

目次1. v-forループでは常にキーを使用する2. 特定のスコープ内でv-forループを使用する3...

Ubuntu 18.04 で SSH サービスをインストールして設定する方法

sshツールをインストールする1. ターミナルを開き、次のコマンドを入力します。 apt-getアッ...

背景属性の8つの属性値の詳細解説(面接の質問)

CSSの背景プロパティの値背景色背景画像背景繰り返し背景位置背景添付複合プロパティ: 背景: ba...

純粋な CSS を使用して 3D 回転効果を実装するサンプル コード

3D効果を実現するには、主にCSSのpreserve-3dプロパティとperspectiveプロパテ...

CentOS7で新しいデータディスクをマウントするための完全な手順

序文新しい VPS を購入しました。新しい VPS のデータ ディスクはデフォルトではシステムにマウ...

40以上の美しいWebフォームデザイン例

Web フォームは、訪問者と Web サイト所有者間の主要なコミュニケーション チャネルです。フィー...