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

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

推薦する

jsはreduceメソッドを使用してコードをよりエレガントにします

序文実際のプロジェクトでは、最も一般的な処理は計算とループロジックである可能性があります。配列でre...

Nginx SSL証明書設定エラーの解決策

1. はじめにWeb プロジェクトを Linux サーバーで公開する場合、SSL 証明書を構成する必...

HTML フォームとフォーム内部タグの使用

コードをコピーコードは次のとおりです。 <html> <ヘッド> <t...

Linuxでスクリーンショットを撮って編集するための最高のツール

メインのオペレーティング システムを Windows から Ubuntu に切り替えたとき、最初に考...

CSSの4種類の配置の違いの詳細な説明

フロントエンド開発でよく使われるCSSの配置方法は、位置決めには、通常位置決め、相対位置決め、絶対位...

スクロールバーを非表示にしながらもスクロール効果を維持する純粋な CSS (モバイルと PC)

携帯モバイル ページは Chrome および Safari とのみ互換性があればよいため、カスタム ...

Docker+gitlab+jenkins は、ゼロから自動デプロイメントを構築します

目次序文: 1. Dockerをインストールする2. DockerでJenkinsをインストールする...

Ubuntu ベースのディストリビューションに Microsoft TrueType フォントをインストールするチュートリアル

Linux 上の LibreOffice で Microsoft ドキュメントを開くと、フォントが少...

Vue で CSS カスタム変数を使用する方法

目次CSS カスタム変数機能は古くから存在していますが、実際の開発ではあまり使用されていません。その...

LinuxサーバにおけるNginxとApacheの共存の実装方法の分析

この記事では、Linux サーバー上で Nginx と Apache の共存を実装する方法について説...

Jira リバース プロキシを実装するための nginx について

概要: nginx リバース プロキシ jira を構成し、https を実装します。Tomcat ...

ノードをMySQLデータベースに接続する際に発生する問題と解決策

今日、MySQL の新しいバージョン (8.0.21) をインストールしましたが、ノード フレームワ...

Nexus を使用して jar パッケージをプライベート サーバーに追加する方法

なぜ Nexus プライベート サーバーを構築する必要があるのでしょうか。その理由は非常に簡単です。...

Vue で SuperMap を使用する練習

目次序文関連資料Vue プロジェクトが 2 次元ハイパーグラフを導入ハイパーグラフ 2D ケース引用...

rpm を使用して指定されたバージョンの docker (1.12.6) をインストールする詳細な手順

1. 理由システムが Centos7.3 の場合、yum install docker を使用して直...