整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          簡要地教你使用HTML 5.2對話框

          TML對話框已經停留了一段時間,但是直到最近,它還不是W3C推薦規范的一部分。既然主流瀏覽器已經開始支持對話元素,我們很可能會看到它被廣泛使用。本文簡要介紹了我們如何使用對話框,為什么需要新的元素以及如何使用它。

          什么是對話框?

          對話框是一種可用于多種方式的設計模式,包括但不限于:顯示重要信息,請求用戶選擇或擴展現有內容。雖然對話可以以不同的方式進行,但是最常用的是模態,與疊加層中的其他內容隔離。

          為什么需要對話框元素?

          直到新元素發布,要實現一個對話框到一個網站,你將不得不從頭開始編寫或使用外部庫 - 這種組件沒有標準的語法或默認樣式。缺乏標準意味著瀏覽器和屏幕閱讀器等輔助技術默認情況下無法區分對話框相關內容和其他頁面內容。

          為了解決可訪問性問題,開發人員必須使用aria屬性(如role =“dialog”)來描述對話框中的內容。正確管理鍵盤焦點對于使用對話框的可訪問性也很重要,例如,對話框中必須至少有一個可調焦的控件。

          一些偉大的庫被創建,使開發者更容易實現可訪問的對話框,比如Edenspiekermann的A11y Dialog。除了這樣的庫之外,像Bootstrap和Foundation這樣的CSS框架也使得它們內置的模式/對話框變得可用。

          盡管今天這些庫和框架仍然是相關的和有用的,但是具有用于對話的本地HTML元素確保了這樣的經常使用的設計模式對于每個人都是很好的語法,標準和可訪問性。另外,在瀏覽器中內置對話邏輯可以節省那些寶貴的代碼字節!

          使用對話框元素

          現在我們明白為什么需要這個了,我們來看看我如何使用對話框元素。

          HTML代碼

          對話框元素的標記就像在<dialog>標簽中包裝一些內容一樣簡單。為了使對話框起作用,我們需要一個按鈕來打開它,還有一個按鈕可以關閉或者撤銷它。

          要使對話框默認打開,可以添加一個打開的屬性。

          如果您的對話框包含一個表單,則表單元素的方法屬性應設置為對話框。

          JavaScript代碼

          沒有JavaScript,對話元素將不會交互。我們可以將上面的HTML例子中的按鈕和對話框元素連接到一些點擊事件監聽器。

          就是這樣,我們有一個可以正常運行本地化的對話框!

          CSS代碼

          對話框元素的默認樣式不會適合每個人的口味......比較幸運的是,我們可以用CSS來設計樣式。

          還有一個backdrop可以幫助我們選擇不同的背景

          完整demo演示如下:

          支持

          早在2014年,Chrome和Opera就開始支持對話元素,最近又推出了Chrome Android和三星瀏覽器。它也支持Firefox,但必須通過about:config啟用。盡管有幾個主要的瀏覽器不支持dialog,但有一個很好的polyfill可用。

          JavaScript中有三種樣式的對話框,分別起到提示、確認和輸入的作用,對應三種函數:alert、confirm、prompt

          • alert:該對話框只用于提醒,不能對腳本產生任何變化,他只有一個參數,即為需要提示的信息,沒有返回值。

          • confirm:該對話框一般用于確認信息。他只有一個參數,返回值為true或false。

          • prompt:該對話框可以進行輸入,并返回用戶輸入的字符串。他有兩個參數,第一個參數顯示提示信息,第二個參數顯示輸入框(和默認值)。

          前端學習,就上以人為本前端學習網!www.yirenweiben.com


          Example:

          <!DOCTYPE html>

          <html>

          <head lang=”en”>

          <meta charset=”UTF-8″>

          <title>三種彈出對話框的用法實例</title>

          <script language=”JavaScript”>

          function ale(){

          alert(“嘿嘿,演示一完畢”);

          }

          function firm(){

          if(confirm(“確定跳轉到“以人為本前端學習”?”)){

          // 這是在本窗口打開

          // location.href=”http://www.yirenweiben.com”;

          // 新窗口打開

          window.open(“http://www.yirenweiben.com/”,”_blank”);

          }else{

          alert(““以人為本前端學習”的網址是www.yirenweiben.com歡迎常來!”);

          }

          }

          function prom(){

          var name = prompt(“請輸入您的名字”,”張三”);

          if (name != null & name!=””){

          alert(“歡迎您:” + name);

          }else{

          alert(“請輸入您的名字!”);

          }

          }

          </script>

          </head>

          <body>

          <p>對話框有三種</p>

          <p>1:只是用于提醒,不能對腳本產生任何改變;</p>

          <p>2:一般用于確認,返回true或者false;</p>

          <p>3:一個帶輸入的對話框,可以返回用戶填入的字符串</p>

          <p>下面我們分別演示:</p>

          <p>演示一:提醒對話框</p>

          <input type=”submit” value=”提交” onclick=”ale()”>

          <p>演示二:確認對話框</p>

          <input type=”submit” value=”提交” onclick=”firm()”>

          <p>演示三:要求用戶輸入,然后給個結果</p>

          <input type=”submit” value=”提交” onclick=”prom()”>

          </body>

          </html>

          TML 的內容遠不止 <div> <a><p> 。如此多更復雜、更強大的標簽,你可能從未使用過。具有從交互式圖像到復雜的 UI 組件的有趣功能。

          1.<progress>和<meter>

          但是,接下來就是 meter -- 也被稱為 progress 在橫行:

          2.<dfn>

          dfn -- 用于我們將在頁面中定義的任何內容:

          3.<dialog>

          原生 HTML 對話框!

          4.<map>和<area>

          們稱這樣的可點擊圖片為圖像地圖。

          5.<bdo>

          超級神秘的縮寫在這里,它是做什么的?

          6.<base>

          <a> 使用頁面的域名來獲取他們將導航您的完整 URL:

          但是,當你在 HTML 中創建一個基礎的 <base> 會發生什么?

          現在他們都使用 <base> 的 href 中的硬編碼值來獲取完整的 URL:

          像 Angular 和 Flutter Web 這樣的框架也在使用它:

          7.<time>

          對于日期和時間:

          8.<hgroup>

          <hgroup> 表示標題標簽和下面的一些內容是相關的

          9.<kbd>

          代表鍵盤輸入:

          10.<cite>

          表示書籍、歌曲、電影或其他創作作品的標題:

          所以,這些是 HTML 中最不為人知和使用的 10 個標簽。盡管使用率低,但在各種情況下都非常有用。


          主站蜘蛛池模板: 无码人妻久久久一区二区三区 | 国产在线精品一区二区中文 | 无码人妻一区二区三区在线 | 日韩精品一区二区三区中文字幕 | 成人免费视频一区| 精品福利一区二区三区精品国产第一国产综合精品 | 久久精品一区二区三区AV| 国产高清精品一区| 中文字幕一区二区精品区| 国产精品一区在线播放| 精品国产一区二区二三区在线观看| 精品国产一区二区麻豆| 97精品国产福利一区二区三区| 亚洲av午夜福利精品一区| ...91久久精品一区二区三区| 亚洲国产欧美国产综合一区| 国产一区二区三区免费视频| 日本亚洲成高清一区二区三区| 无码国产精品一区二区免费I6| 午夜福利一区二区三区在线观看 | 91国偷自产一区二区三区| 任你躁国产自任一区二区三区 | 久久国产精品一区免费下载| 曰韩精品无码一区二区三区| 日本在线视频一区| 日韩精品一区二区三区影院| 日本精品一区二区三区在线视频一 | 国产成人精品日本亚洲专一区| 亚洲av高清在线观看一区二区 | 无码人妻一区二区三区在线视频 | 久久综合一区二区无码| 亚洲一区二区三区亚瑟| 亚洲伦理一区二区| 亚洲爆乳无码一区二区三区| 中文人妻av高清一区二区| 亚洲国产成人久久一区WWW| 亚洲一区二区三区无码国产| 无码人妻精品一区二区蜜桃 | 一区二区三区视频在线观看| 免费无码一区二区三区| 精品国产鲁一鲁一区二区|