目次
ダイアログ ボックスの構成
問題
上記のコードを使用すると、「Hello world.」ポップアップの内容を含むダイアログ ボックスを作成できます。
答え: はい
それでは、古いバージョンのブラウザは HTML5 ダイアログをサポートできますか?まず第一に、es6 の新機能をサポートする babel-polyfill のように、ダイアログをサポートするポリフィルがあるかどうかについて考えます。実際に、vue と vue のさまざまなバージョンを提供するオープンソース プロジェクト a11y-dialog が存在します。それぞれ反応します。
ホームページ ウェブフロントエンド H5 チュートリアル HTML5のdialog要素の詳しい説明(コード例)

HTML5のdialog要素の詳しい説明(コード例)

Oct 13, 2018 pm 02:51 PM
css3 html5

この記事では、HTML5 のダイアログ要素の詳細な説明 (コード例) を紹介します。必要な方は参考にしていただければ幸いです。

ダイアログ ボックス (モーダル ボックス、フローティング レイヤーとも呼ばれます) は、Web プロジェクトでのユーザー操作にとって重要な部分です。最も一般的なものは、js の alert()、confirm() です。ただし、このダイアログ ボックスは美しくなく、スタイルをカスタマイズできないため、開発プロセスでは通常、独自のニーズに応じてホイールを作成するか、サードパーティを使用します。

ダイアログ ボックスの構成

一般的なポップアップ ボックスの形式:

位置: 画面の左上隅、右上隅、左下隅、右下隅、垂直方向のセンタリングなど。

サイズ: 固定幅と固定高さ、固定幅と可変高さ、可変幅と可変高さなど。

開発中のダイアログ フォームは位置のランダムな組み合わせです。そしてサイズ。

しかし、実装が簡単ではない状況 (幅と高さが可変の垂直方向の中央揃え) が 1 つあります (これを実現するには、display:table または CSS3 のtranslate または flex を使用できます)。詳細については、を参照してください。水平方向および垂直方向の中央揃えレイアウト

上 ダイアログ ボックスにはコンテンツ コンテナが含まれており、ダイアログ ボックスの下にはマスク レイヤー (マスク) もあります。マスク レイヤーは、ダイアログ ボックスとページ本体の間の分離レイヤーです。ユーザーがポップアップ ボックスをトリガーした後に形成されるこのダイアログ ボックスの存在により、ユーザーに対してより明らかな視覚的な違い効果を与えることができ、また、ダイアログ ボックスをトリガーした後にユーザーが他の不要なページのメイン操作を行うのを防ぐことができるため、より良いユーザー エクスペリエンスが得られます。

問題

ダイアログ ホイールは多数から選択できますが、さまざまな問題に直面しています。

  • どのダイアログ ボックスを選択するか (選択症候群の人にとっては頭痛の種)

  • 使いやすさ (API がシンプルかどうか、他のものに依存するか)サードパーティ ライブラリ)

  • #スケーラビリティ

  • #ブラウザの互換性サポート
  • つまり、ダイアログボックスを作る簡単な方法は?もちろん、HTML5 の
dialog

要素を使用することもできます。 HTML5(ダイアログ)

<dialog open>
    <h2> Hello world.</h2>
</dialog>
ログイン後にコピー

上記のコードを使用すると、「Hello world.」ポップアップの内容を含むダイアログ ボックスを作成できます。

ダイアログ ボックスの表示/非表示を制御することも簡単です。表示する場合は

open

属性を追加し、非表示にする場合は削除します。もちろん、DOM インターフェイスを使用して、dialogダイアログ ボックスの下のマスク レイヤの表示 (show()、close()) を制御することもできます。

: :backgrop

疑似要素であり、それをアクティブにするには、この DOM の showModal() API を使用する必要があります。 ::backgrop の特徴は、その位置です。任意の z-index の上にあります。 #showModal()

を使用すると、マスク レイヤーだけでなくダイアログ コンテナーも表示できるため、

::backdrop を使用する場合は、showModal を使用できます。 ()show() API を置き換えます。キーボードの ESC キーを押すと、ポップアップ レイヤーが閉じられます。もちろん、## を使用することもできます。 #close() DOM API。 ::backdrop を設定できます。このレイヤーは半透明のレイヤーであり、コードは次のとおりです。

dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.75);
}
ログイン後にコピー

一般的なポップアップ レイヤーに加えて、プロンプト情報のほか、フォームのあるポップアップ レイヤーを使用したクラス比較もあります。 フォームを含むポップアップ レイヤー

フォーム要素と組み合わせた HTML5 ダイアログ要素を使用して、これらのポップアップ レイヤーを作成できますか?

答え: はい

フォーム要素とダイアログ要素を緊密に組み合わせるにはどうすればよいでしょうか?

回答: 属性

method="dialog"

をダイアログ要素に追加するだけで、ボタン要素の属性

value

の値を追加することができます。ダイアログ要素を渡します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;dialog&gt;   &lt;form method=&quot;dialog&quot;&gt;     &lt;p&gt;确定 or 取消&lt;/p&gt;     &lt;button type=&quot;submit&quot; value=&quot;yes&quot;&gt;确定&lt;/button&gt;     &lt;button type=&quot;submit&quot; value=&quot;no&quot;&gt;取消&lt;/button&gt;   &lt;/form&gt; &lt;/dialog&gt; &lt;script&gt;     var dialog = document.querySelector('dialog')     dialog.showModal()     dialog.addEventListener('close', function(event) {         console.log(dialog.returnValue)     }) &lt;/script&gt;</pre><div class="contentsignin">ログイン後にコピー</div></div>demo<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>var dialog = document.querySelector(&amp;#39;dialog&amp;#39;) dialog.showModal() dialog.addEventListener(&amp;#39;close&amp;#39;, function(event) { alert(dialog.returnValue) })</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>&lt;dialog&gt; &lt;form method=&quot;dialog&quot;&gt; &lt;p&gt;确定 or 取消&lt;/p&gt; &lt;button type=&quot;submit&quot; value=&quot;yes&quot;&gt;确定&lt;/button&gt; &lt;button type=&quot;submit&quot; value=&quot;no&quot;&gt;取消&lt;/button&gt; &lt;/form&gt;&lt;/dialog&gt;</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>dialog::backdrop { background: rgba(0, 0, 0, 0.6) }</pre><div class="contentsignin">ログイン後にコピー</div></div>ブラウザの互換性

これは比較的使いやすい HTML5 ですが、Chrome と Opera の方がサポートが優れています。は Firefox の実験的な機能ですが、IE、Edge、Safari では十分にサポートされていません。Android 6 以降でのみサポートされています。詳細については、caniuse を参照してください。

それでは、古いバージョンのブラウザは HTML5 ダイアログをサポートできますか?まず第一に、es6 の新機能をサポートする babel-polyfill のように、ダイアログをサポートするポリフィルがあるかどうかについて考えます。実際に、vue と vue のさまざまなバージョンを提供するオープンソース プロジェクト a11y-dialog が存在します。それぞれ反応します。

以上がHTML5のdialog要素の詳しい説明(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

See all articles