整合營銷服務商

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

          免費咨詢熱線:

          8個簡單且包容的表單設計技巧請查收

          8個簡單且包容的表單設計技巧請查收

          輯導語:在工作中我們時常會遇到一些關于表單優化的問題,雖然表單聽起來是比較簡單而常見的設計要素,但要想設計出簡潔直觀,清晰明了的表單還需要考慮更多的細節因素。本文總結了如何設計出簡單且包容的表單的一些技巧,希望對你有所啟發。

          最近我的工作涉及一項艱巨的任務——如何為我的產品設計出體驗更好的表單。當我接到這個任務時,我根本不知道好的表單和壞的表單有什么區別。我需要思考:我應該設計一個多步驟的表單還是一個單頁的表單?我應該使用占位符嗎?如何使我的表單更符合包容性設計的原則呢?

          幾乎每一個在網頁端發生的重要交互,從注冊登陸、購買產品服務到發起客戶幫助或者獲得反饋,都需要通過表單來完成。因此,雖然表單可能不是設計中最激動人心的設計元素,但學會如何設計一個好的表單是一項非常有價值的技能。

          在學習了一些資料之后,我把我認為最好的最有效的表單設計進行了羅列。然而,我們需要記住的是:表單是一個高度依賴上下文的設計元素,所以在實際操作中是有例外的,設計師需要具體情況具體分析。在我們開始之前,讓我們快速的來回顧一下表單的五個主要元素:

          • 結構:表單的布局以及表單項的順序
          • 輸入框:文本框、單選或者是多選等界面元素
          • 輸入框標簽:輸入框的相應提示文案
          • 行動按鈕:用戶執行一個操作,比如提交他們的個人信息
          • 反饋:讓用戶意識到自己的提交是否成功,反饋可以是視覺暗示也可以是聽覺暗示

          一、讓表單盡量保持單列

          多列表單容易讓人產生誤解:用戶非常容易忽略一些必填的內容把信息填入錯誤的文本框或者完全放棄填寫表單。下面的圖片展示了用戶面對多列表單時視線是如何移動的。

          當一個表單沒有提供清晰的填寫路徑時,用戶需要很長時間去理解它,更別說去完成它了。當一個表單的填寫路徑是線性的,比如說單列表單,用戶在完成時就不會存在誤解。

          二、流程、順序和分組

          1. 去掉所有非重要的輸入

          確保只讓用戶輸入我們真正需要的內容。但是記住,你讓用戶輸入的信息越多,用戶就越不想填寫這個表單,因此,這會影響轉化率等因素并導致銷售損失。設計師需要明確讓用戶填寫這一條信息的目的是什么。在這里,我們可以使用一個叫做“問題協議”的系統方法,來確定表單的內容。

          2. 用清晰的邏輯排列表單項

          好的表單就是在正確的時間向用戶詢問正確的信息否則它可能會讓用戶失去興趣。回憶一下我們自己線上購物的場景:如果網站需要你在購買東西之前就填寫付款信息,你會怎么想?或者必須在填寫名字之前填寫地址?因此,我們要嘗試從用戶的視角來思考如何建立表單的排列邏輯。

          3. 將表單項分組

          創建有邏輯的表單項分組幫助用戶更清晰的理解信息,這是因為用戶只能同時關注在一個群組上,而不是被無數雜亂的信息打亂。被分在一個組的信息代表著它們彼此之間是有關聯的,因此,如何在視覺上區分開不同的群組也是很重要的,比如在群組之間添加空白區域。

          三、使用清晰有效的標簽

          首先,標簽應該盡量使用頂部對齊,根據眼動測試研究,把標簽放在輸入框的上面而不是旁邊,會幫助用戶更快地理解信息。

          從包容性設計的角度來看,標簽也非常重要。視力正常的用戶可以閱讀它們,視障用戶可以在屏幕閱讀器的幫助下聽到它們,運動障礙用戶可以在更大的點擊區域內使用它們。

          四、避免使用占位符文本

          因為占位符在 HTML 的規范中并不意味著是用戶一定要去閱讀的內容。占位符之所以被運用在表單中是因為它在用戶輸入信息的時候提供了額外的指導。但是問題在于這些文本是灰色的,低對比度的顏色使用戶很難去閱讀。在包容性設計的研究中發現,占位符經常被瀏覽器的自動翻譯功能或者一些屏幕閱讀器忽略掉,并不會翻譯或者閱讀它們。

          所以我們為什么要使用占位符呢?使用占位符的原因是因為它們在視覺上節省了大量空間。但問題在于,當用戶點擊時,占位符會自動消失,所以用戶無法二次檢查他們是否在正確的輸入框中輸入了正確的內容。

          一個通用的解決方法是使用懸浮的標簽把標簽作為占位符使用。當用戶開始在一個表單項進行輸入的時候,標簽會懸浮在輸入框的上方,這種方式受到歡迎的原因是可以節省空間,總體而言,這是一種非常優雅、自然的模式。

          然而,懸浮標簽的缺點多于優點。首先,缺少空間來設置提示文字,因為標簽和占位符是相同的。第二,標簽比較小,以及它較低的對比度讓用戶很難區分是占位符文字還是真實的數值,最后,在空間的節省上也不會特別多因為標簽需要空間進行移動

          所以我們該如何做呢?我們可以把提示文字放在輸入框的上方,就像下圖中這樣。因此,屏幕閱讀器就不會跳過這些文字,同時它也提供了一個較大的點擊區域。

          五、標注可選或者必填的輸入框

          按照慣例,我們習慣用一個紅色的星號來代表必填表單項,但是如果你了解我在上文中提到的“問題協議”工具,那么大部分的表單項都是必須要填寫的。因此,幫用戶標注出可選的輸入框會更加方便有意義。當我們想讓一些元素脫穎而出時,我們會利用視覺設計來凸顯這個元素是不同的。

          對于設計師來說,我們可以快速理解紅色星號的含義,但是總有人會對此表示疑惑。在標簽中加入“可選”的文字,會比用視覺符號更加清晰明確。

          在包容性設計中有關于如何用紅色星號作為必填字段的建議:可以在表單中添加標記,以便讓屏幕閱讀器在閱讀時,說出“這是一個必填表單項”的語,進而幫助用戶理解。

          六、 發生錯誤時,提供反饋

          當用戶提交的內容出現錯誤,并且需要告知用戶時,在界面上需要有三個方面的呈現。

          1. 網頁標題中顯示發生錯誤數量

          在 html 網頁中,出現在瀏覽器標題欄的標題是用來定義網頁的名稱的,標題是當屏幕瀏覽器開始閱讀時第一個需要閱讀的部分,因此,在這里展現“用戶提交的信息有誤”能最有效最快捷得反饋給用戶

          這個解決方法需要用 javascript 來計算表單當中的錯誤并且體現出來,所以說這可能并不屬于一個設計師的職能范圍,你只需要確保將此功能告知開發人員。

          2. 在表單開頭顯示錯誤提示總結

          這種類型的錯誤反饋是更加清晰明確的。在表單上面顯示錯誤的總結,因此用戶就知道他具體需要修改哪部分的內容。

          一個好的錯誤總結不僅僅有錯誤信息還包含了錯誤位置的鏈接。錯誤位置的鏈接讓用戶快速跳轉到表格中填寫錯誤的部分,而不是讓用戶先記住哪里發生了錯誤,再從頭閱讀一遍表單,從大量信息中取尋找他們的錯誤之處。

          當然,當沒有錯誤出現時,錯誤總結模塊就需要被隱藏了。

          3. 實時提醒錯誤

          在一個理想的情況下,所有的錯誤提醒都是實時的,這意味著當用戶填寫完一個表單項(或不填寫)的時候,就會在表單項附近出現一個錯誤提示文本,這可以有效的減少用戶滑上滑下去尋找錯誤提示信息的時間

          最近也有一種趨勢,是將錯誤提示信息放在文本框的上方,這是因為一些自動填充功能也許會遮擋這些提示,手機上的鍵盤也會遮擋住這些關鍵信息,用戶很容易忽視掉。

          對于稍微復雜一點的表單輸入,比如說輸入一個新的密碼。好的解決方案是用實時的提示來展示密碼的強弱程度,也就是說,在用戶正在輸入的時候,就可以實時展示出目前密碼的強弱程度。這將最有效地讓用戶知道他們是否滿足了這個表單的填寫要求。

          七、行動按鈕

          1. 在行動按鈕上使用動詞

          CTA 行動按鈕應該使用描述性的語言而不是模糊的語言。動詞會幫助用戶理解接下來會發生什么。雖然行動按鈕上的描述應該是簡短的,但是也不能因此犧牲語言的清晰性。一定要使用讓每個人都理解的語言。

          2. 主要按鈕與次要按鈕

          主要按鈕和次要按鈕之間做明顯的視覺區分主要是為了避免用戶按下錯誤的按鈕,視覺上的區別可以引向最預期的操作。

          3. 行動按鈕的位置

          一般情況下,提交按鈕最應該被放置在表單的底部,因為大多數用戶都會從上往下填寫表單然后提交表單。另外一個需要思考的點是按鈕對齊的位置是向左對齊,向右對齊還是居中對齊。我覺得更好的方案是向左對齊,因為表單中的標簽也是向左對齊的,所以當用戶將視線向下移動時,他們也會自然的看向這個位置。

          在需要使用返回按鈕的表單中,比如多步驟表單,提交按鈕仍然應該向左對齊,然而返回按鈕應該被放置在表單的頂部,這樣可以幫助用戶區分主要按鈕(即提交按鈕)和次要按鈕(即返回按鈕),有助于用戶誤點擊返回按鈕。

          八、如果內容復雜,可以使用多步驟表單

          當表單中所填的內容可以被分類時使用多步驟表單可以提升表單的可用性。讓一個較長的表單被分成幾個較短的表單可以幫助用戶更清晰得填寫表單。當表單中要填寫的信息較多時,最好使用多步驟表單。同時,也可以向用戶展示填寫的進度這是提高用戶參與度的好方法

          進度指示器將表單內容分成多個有邏輯,有順序的步驟來向用戶展示當前的進度。這給用戶傳達了清晰的反饋,讓用戶知道他們已經完成了多少內容,以及多少內容還沒有完成。

          然而,除非你很確定整個表單一共有幾個步驟,并且毫無偏差,不然不要用數字去標識,反而會引發更多得疑惑。

          1. 盡早且頻繁地測試設計稿

          最后,設計師需要證明每一個表單元素存在的必要性。表單對于用戶來說是乏味的,但是設計師的任務是讓表單變得盡可能的可用和易用。像其他設計一樣,表單也可以通過測試來不斷優化,所以說盡早測試,頻繁測試,讓測試的結果推動下一次的設計提升。

          歡迎大家自由評論,點贊或者分享。

          作者:Omar Andani;譯者:王英睿;審校:李澤慧、張聿彤;編輯:孫淑雅

          原文鏈接:https://uxdesign.cc/8-ways-to-make-forms-more-user-friendly-50f3f22c708c

          本文由@TCC翻譯情報局 翻譯發布于人人都是產品經理,未經許可,禁止轉載。

          題圖來自 Unsplash,基于CC0協議。

          多數PHP程序都使用HTML表單從用戶那里獲取數據并計算結果。

          HTML表單的一些基本原則

          • 選擇適合于收集的數據類型和提供交互方式的控件。
          • 清楚標記每一個控件,這樣用戶就可以理解其功能。
          • 盡可能將標簽對齊。將控件的左邊緣對齊。
          • 將相關的標簽分組,并且通過設計中使用空白將每一個分組分開。
          • 表單上的控件順序應該類似于用戶操作他們的順序。

          創建基本HTML表單

          首先創造一個基本的HTML大綱,包含表單控件;然后將控件進行合并(HTML表單必須包括一個提交按鈕,用戶單擊它可以將表單數據發送到服務器。)一個單獨的HTML頁面可以包含多個表單。

          • 創建HTML結構

          包含表單的HTML結構和和普通的HTML結構一樣。

          <HTML>
            <HEAD>
            <TITLE>標題放在這</TITLE>
            </HEAD>
          <BODY>
            表單頁面放在這
            </BODY>
            </HTML>

          在包含表單的HTML頁面中可以使用任何HTML標簽。基本的表單使用FROM標簽來說明。該標簽中METHOD屬性接收GET或POST兩個值中的一個。ACTION屬性子明PHP腳本的url,該腳本可以收集通過表單收集的數據,可以是絕對路徑或者相對路徑

          <FORM METHOD="method" ACTION="url"> 
            中間可以放置表單控件
            </FORM>
          • 合并控件

          兩個常用的基本控件:文本框和提交按鈕。

          文本框:允許用戶鍵入信息以發送給PHP腳本。NAME屬性為文本提供名稱,PHP腳本可以通過名稱準確訪問其內容,因此它應該是唯一的且符合PHP變量命名規則(但不需要$符號),單標簽。VALUE屬性指明出現在提交按鈕上面的標題。創建方式如下:

          <INPUT TYPE="TEXT" NAME="text">

          提交按鈕:允許用戶將一個表單的內容發送到服務器,一個HTML表單對應應該有一個提交按鈕。

          示例:一個完整的HTML表單。

          <HTML>
            <HEAD>
            <TITLE>標題</TITLE>
            </HEAD>
          <BODY>
          <FORM METHOD="POST" ACTION="phpinfo.php">
          <INPUT TYPE="TEXT" NAME="user_name">
          <BR/>
          <BR/>
          <INPUT TYPE="TEXT" NAME="user_email">
          <BR/>
          <BR/>
          <INPUT TYPE="SUBMIT" VALUE="Send the Data">
          </FORM>
            </BODY>
            </HTML>


          • 使用多個表單

          可以在一個HTML頁面中包含多個表單,注意下一個表單的FORM開始之前需要結束前一個FORM表單。

          <HTML>
            <HEAD>
            <TITLE>標題</TITLE>
            </HEAD>
          <BODY>
            
          <FORM METHOD="POST" ACTION="phpinfo.php">
          <INPUT TYPE="TEXT" NAME="user_name">
          <BR/>
          <BR/>
          <INPUT TYPE="TEXT" NAME="user_email">
          <BR/>
          <BR/>
          <INPUT TYPE="SUBMIT" VALUE="Send the Data">
          <BR/>
          <BR/>
          </FORM>
          
          <FORM METHOD="POST" NAME="phpinfo.php">
          <INPUT TYPE="TEXT" NAME="user_name1">
          <BR/>
          <BR/>
          <INPUT TYPE="TEXT" NAME="user_email1">
          <BR/>
          <BR/>
          <INPUT TYPE="SUBMIT" VALUE="Send the Data1">
          </FORM>
          
            </BODY>
            </HTML>


          創建表單控件

          • 創建自定義的文本框

          文本框的屬性中,TYPE和NAME是必須的,其余是可選屬性。SIZE屬性用于設置文本框的可視大小;MAXLENGTH指明用戶鍵入字符的最大長度;VALUE給出了一個最初顯示在文本框中的值。

          <input type="text" name="" size="" maxlength="" value="">
          • 創建文本區域

          文本區域可以輸入多行文本。NAME和ROWS屬性是必須的。ROWS屬性表明了文本區域內可以看到的文本行數,充滿時會滾動。COLS屬性指明可見文本列數與行數類似。WRAP屬性指明文本區域內單詞換行的方式,可以指定如下值。該標簽為雙標簽。

          說明

          off

          禁止單詞換行但用戶可以輸入換行符強制換行

          virtual/soft

          各行顯示為換行,但是換行并沒有被發送到服務器

          physica/hard

          啟用了單詞換行

          <inputarea name="" rows="" cols="" wrap="">
          • 創建密碼框

          創建密碼框的語法與文本框相同,但要將TYPE屬性指定為PASSWORD而不是TYPE。

          <input type="password" name="" size="" maxlength="" value="">
          • 創建復選框

          取兩個值中的一個,即二選一。TYPE屬性是必須的,checked屬性出現,該復選框默認情況會被選定。value屬性指定復選框被選定情況下被發送到服務器的值,默認發送on值。法如下:

          <input type="checkbox" name="" checked value="">
          • 創建單選按鈕

          語法與復選框屬性含義相同,但是TYPE屬性的值必須是RADIO,NAME屬性是必須的。

          <input type="radio" name="" checked value="">
          • 創建列表框

          用戶可以選擇一個或者多個選項,它是一個滾動菜單。

          <select name="" multipile size="">options go here</select>

          name屬性是必須的,multipile屬性指明用戶可以通過按下crtl鍵并單擊多個選項來選擇它們

          列表框的單選行為可作為單選按鈕。

          <option selected value="text"></options>
          • 創建隱藏域
          <input type="hidden" name="text"value="">
          • 實現上傳文件的HTML表單
          <input type="FILE" name="name" accept="time" value="text">

          其中type屬性是必須的。格式通過使用MIME碼指定。常用的格式如下:


          超文本標記語言文本 .html,.html text/html

            普通文本 :txt text/plain

            word文檔:application/msword

            RTF文本 :rtf application/rtf

            GIF圖形 :gif image/gif

            JPEG圖形 :jpeg,

            jpg: image/jpeg

            au聲音文件:au audio/basic

            MIDI音樂文件 :mid,.midi audio/midi,audio/x-midi

            RealAudio音樂文件 .ra, .ram audio/x-pn-realaudio

            MPEG文件 .mpg,.mpeg video/mpeg

            AVI文件 .avi video/x-msvideo

            GZIP文件 .gz application/x-gzip

            壓縮文件.rar application/octet-stream

            壓縮文件.zip application/x-zip-compressed

            TAR文件 .tar application/x-tar


          更多提交表單的信息

          • 使用圖像提交數據
          <input type="image" src="url" name="text" align="align">
          • 創建重置按鈕
          <input type="reset" value="text">

          見標簽


          1.段落標簽<p>

          • <p>標簽的默認樣式,段前段后都會有空白,如果不喜歡這個空白,可以用css樣式來刪除或改變它。
          • 改變CSS樣式刪除段前段后空白處。
          <style> 
           p{margin:0px;} 
          </style>
          

          2.斜體標簽<em>

           <em>斜體</em>
          

          3.粗體標簽<strong>

           <strong>加粗</strong>
          

          4.<span>標簽

          被用來組合文檔中的行內元素。使用 <span> 來組合行內元素,以便通過樣式來格式化它們。

          • <span> 在CSS定義中屬于一個行內元素,在行內定義一個區域,也就是一行內可以被 <span>劃分成好幾個區域,從而實現某種特定效果。
          • <span>本身沒有任何屬性。
          • <div>在CSS定義中屬于一個塊級元素<div>可以包含段落、標題、表格甚至其它部分。這使DIV便于建立不同集成的類,如章節、摘要或備注。在頁面效果上,使用<div> 會自動換行,使用<span> 就會保持同行。

          例如:

           <style> 
           span{ color:blue; } 
           </style>
          

          這樣,<span>標簽包含的文本就變成了藍色的字體。

          5.<q>標簽

          作用:段文本引用

          例如:

          <p>最初知道莊子,是從一首詩<q>莊生曉夢迷蝴蝶。望帝春心托杜鵑。</q>開始的。雖然當時不知道是什么意思,只是覺得詩句挺特別。后來才明白這個典故出自是莊子的《逍遙游》,《逍遙游》代表了莊子思想的最高境界,是對世俗社會的功名利祿及自己的舍棄。</p>
          在上面的例子中,“莊生曉夢迷蝴蝶。望帝春心托杜鵑。” 這是一句詩歌,出自晚唐詩人李商隱的《錦瑟》 。因為不是作者自己的文字,所以需要使用<q></q>實現引用。
          注意要引用的文本不用加雙引號,瀏覽器會對q標簽自動添加雙引號。
          這里用<q>標簽的真正關鍵點不是它的默認樣式雙引號(如果這樣我們不如自己在鍵盤上輸入雙引號就行了),而是它的語義:引用別人的話。
          補充知識:語義化網頁結構有助于搜索引擎的收錄。同一個效果可以用很多鐘方式實現,但這只方便了瀏覽者,而搜索引擎不知道這里到底是什么內容,這里如果你使用標簽,那么就告訴瀏覽器這里是引用的話。而且在手持設備或移動設備不能很好支持css的基礎上,瀏覽器會使用默認的效果,因而提供較好可讀性。
          

          6.<blockquote>標簽

          作用:長文本引用

          例如:

          <blockquote>明月出天山,蒼茫云海間。長風幾萬里,吹度玉門關。漢下白登道,胡窺青海灣。由來征戰地,不見有人還。 戍客望邊色,思歸多苦顏。高樓當此夜,嘆息未應閑。</blockquote>
          

          注意:瀏覽器對<blockquote>標簽的解析是縮進樣式

          7.<br>標簽

          怎么可以讓每一句詩詞后面加入一個折行呢?那就可以用到<br />標簽了,在需要加回車換行的地方加入<br />,<br />標簽作用相當于word文檔中的回車。

          語法:

          xhtml1.0寫法:

           <br/>
          

          html4.01寫法:

           <br>
          

          現在一般使用 xhtml1.0 的版本的寫法(其它標簽也是),這種版本比較規范。

          與以前我們學過的標簽不一樣,<br />標簽是一個空標簽,沒有HTML內容的標簽就是空標簽,空標簽只需要寫一個開始標簽,這樣的標簽有<br />、<hr />和<img />。

          講到這里,你是不是有個疑問,想折行還不好說嘛,就像在 word 文件檔或記事本中,在想要折行的前面輸入回車不就行了嗎? 不好意思,在 html 中是忽略回車和空格的,你輸入的再多回車和空格也是顯示不出來的。

          8.<hr>標簽

          在信息展示時,有時會需要加一些用于分隔的橫線,這樣會使文章看起來整齊些。

          語法:

          html4.01版本

          <hr>
          

          xhtml1.0版本

          <hr/>
          

          注意:

          • <hr />標簽和<br />標簽一樣也是一個空標簽,所以只有一個開始標簽,沒有結束標簽。
          • <hr />標簽的在瀏覽器中的默認樣式線條比較粗,顏色為灰色,可能有些人覺得這種樣式不美觀,沒有關系,這些外在樣式在我們以后學習了css樣式表之后,都可以對其修改。
          • 大家注意,現在一般使用 xhtml1.0 的版本(其它標簽也是),這種版本比較規范

          9.<address>標簽

          一般網頁中會有一些網站的聯系地址信息需要在網頁中展示出來,這些聯系地址信息如公司的地址就可以<address>標簽。也可以定義一個地址(比如電子郵件地址)、簽名或者文檔的作者身份。

          語法:

           <address>聯系地址信息</address>
          

          如:

          <address>文檔編寫:lilian 北京市西城區德外大街10號</address>
          

          10.<code>標簽

          在介紹語言技術的網站中,避免不了在網頁中顯示一些計算機專業的編程代碼,當代碼為一行代碼時,你就可以使用<code>標簽了,如下面例子:

          <code>var i=i+300;</code>
          

          注意:在文章中一般如果要插入多行代碼時不能使用<code>標簽了。

          語法:

          <code>代碼語言</code>
          

          :如果是多行代碼,可以使用<pre>標簽。

          11.<pre>標簽

          主要作用:預格式化的文本。被包圍在 pre 元素中的文本通常會保留空格和換行符。

          語法:

          <pre>語言代碼段</pre>
          

          如下代碼:

          <pre> 
           var message="歡迎"; 
           for(var i=1;i<=10;i++) { 
           alert(message); 
           } 
          </pre>
          

          效果如下:

          注意:<pre> 標簽不只是為顯示計算機的源代碼時用的,在你需要在網頁中預顯示格式時都可以使用它,只是<pre>標簽的一個常見應用就是用來展示計算機的源代碼。

          12.<ul>標簽

          ul-li是沒有前后順序的信息列表。

          • 這樣是空心圓,
          ul{ list-style:circle; }
          
          • 這個就是去除前面的點
          ul{ list-style:none }
          
          • 語法:
          <ul> 
           <li>信息</li> 
           <li>信息</li> 
           ...... 
          </ul>
          
          • 舉例:
          <ul> 
           <li>精彩少年</li> 
           <li>美麗突然出現</li> 
           <li>觸動心靈的旋律</li> 
          </ul>
          
          • ul-li在網頁中顯示的默認樣式一般為:每項li前都自帶一個圓點

          13.<ol>標簽

          ol-li是有前后順序的信息列表

          • 語法:
          <ol> 
           <li>信息</li> 
           <li>信息</li> 
           ...... 
          </ol>
          
          • 舉例:
           <ol> 
           <li>前端開發面試心法 </li> 
           <li>零基礎學習html</li>
           <li>JavaScript全攻略</li> 
          </ol>
          

          <ol>在網頁中顯示的默認樣式一般為:每項<li>前都自帶一個序號,序號默認從1開始。

          14.<div>標簽

          • <div> 可定義文檔中的分區或節(division/section)。
          • <div>標簽可以把文檔分割為獨立的、不同的部分。它可以用作嚴格的組織工具,并且不使用任何格式與其關聯。
          • 如果用 id 或 class 來標記 <div>,那么該標簽的作用會變得更加有效。
          • <div>是一個塊級元素。這意味著它的內容自動地開始一個新行。實際上,換行是 <div>固有的唯一格式表現。可以通過<div> 的 class 或 id 應用額外的樣式。不必為每一個 <div> 都加上類或 id,雖然這樣做也有一定的好處。
          • 可以對同一個 <div>元素應用 class 或 id 屬性,但是更常見的情況是只應用其中一種。這兩者的主要差異是,class 用于元素組(類似的元素,或者可以理解為某一類元素),而id 用于標識單獨的唯一的元素。

          15.<table>標簽

          • 常用屬性

          1)屬性:border

          作用:規定表格邊框的寬度

          2)屬性:cellpadding

          作用:單元格中的文本與單元格邊框的間距

          3)屬性:cellspacing

          作用:單元格之間的間距

          • 創建表格的四個元素:

          table、tbody、tr、th、td

          1、<table>…</table>:整個表格以<table>標記開始、</table>標記結束。

          2、<tbody>…</tbody>:當表格內容非常多時,表格會下載一點顯示一點,但如果加上<tbody>標簽后,這個表格就要等表格內容全部下載完才會顯示。如右側代碼編輯器中的代碼。

          3、<tr>…</tr>:表格的一行,所以有幾對tr 表格就有幾行。

          4、<td>…</td>:表格的一個單元格,一行中包含幾對<td>...</td>,說明一行中就有幾列。

          - 常用屬性: colspan:規定單元格可橫跨的列數,值為數字 rowspan:規定單元格可橫跨的行數,值為數字

          5、<th>…</th>:表格的頭部的一個單元格,表格表頭。

          6、表格中列的個數,取決于一行中數據單元格的個數。

          總結:

          • 1、表頭,也就是th標簽中的文本默認為粗體并且居中顯示
          • 2、table表格在沒有添加css樣式之前,在瀏覽器中顯示是沒有表格線的
          • 3、用css樣式,為表格加入邊框Table 表格在沒有添加 css 樣式之前,是沒有邊框的。

          16.<caption>標簽

          表格還是需要添加一些標簽進行優化,可以添加標題和摘要。

          • 摘要

          摘要的內容是不會在瀏覽器中顯示出來的。它的作用是增加表格的可讀性(語義化),使搜索引擎更好的讀懂表格內容,還可以使屏幕閱讀器更好的幫助特殊用戶讀取表格內容。語法:

          <table summary="表格簡介文本">
          
          • 標題

          用以描述表格內容,標題的顯示位置:表格上方。語法:

          <table> 
           <caption>標題文本</caption> 
           <tr> 
           <td>…</td> 
           <td>…</td> 
           … 
           </tr> 
           … 
          </table>
          

          17.<a>標簽

          • _blank --在新窗口中打開鏈接
          • _parent --在父窗體中打開鏈接
          • _self --在當前窗體打開鏈接,此為默認值
          • _top --在當前窗體打開鏈接,并替換當前的整個窗體(框架頁)
          • 一個對應的框架頁的名稱 -在對應框架頁中打開
          • href:Hypertext Reference的縮寫。意思是超文本引用。
          • 使用<a>標簽可實現超鏈接,它在網頁制作中可以說是無處不在,只要有鏈接的地方,就會有這個標簽。語法:
           <a href="目標網址" title="鼠標滑過顯示的文本">鏈接顯示的文本</a>
          

          例如:

           <a  title="點擊進入慕課網">click here!</a>
          

          上面例子作用是單擊click here!文字,網頁鏈接跳轉到http://www.imooc.com這個網頁。

          • <a>標簽在默認情況下,鏈接的網頁是在當前瀏覽器窗口中打開,有時我們需要在新的瀏覽器窗口中打開。如下代碼:
           <a href="目標網址" target="_blank">click here!</a>
          
          • title屬性的作用,鼠標滑過鏈接文字時會顯示這個屬性的文本內容。這個屬性在實際網頁開發中作用很大,主要方便搜索引擎了解鏈接地址的內容(語義化更友好)。
          • 注意:還有一個有趣的現象不知道小伙伴們發現了沒有,只要為文本加入a標簽后,文字的顏色就會自動變為藍色(被點擊過的文本顏色為紫色),顏色很難看吧,不過沒有關系后面我們學習了css樣子就可以設置過來(a{color:#000}),下面會詳細講解。
          • 使用mailto在網頁中鏈接Email地址

          <a>標簽還有一個作用是可以鏈接Email地址,使用mailto能讓訪問者便捷向網站管理者發送電子郵件。

          注意:如果mailto后面同時有多個參數的話,第一個參數必須以“?”開頭,后面的參數每一個都以“&”分隔。引號只有一對!

          例子:
          <a href="mailto:yy@qq.com? cc=xx@qq.com & bcc=aa@qq.com & subject=郵件主題 & body=郵件內容">
          
          • 如果:A 發送郵件給B1、B2、B3,抄送給C1、C2、C3,密送給D1、D2、D3。
          那么:
          1)A知道自己發送郵件給了B1、B2、B3,并且抄送給了C1、C2、C3,密送給了D1、D2、D3。
          2)B1知道這封是A發送給B1、B2、B3的郵件,并且抄送給了C1、C2、C3,但不知道密送給了D1、D2、D3。
          3)C1知道這封是A發送給B1、B2、B3的郵件,并且抄送給了C1、C2、C3,但不知道密送給了D1、D2、D3。
          4)D1知道這封是A發送給B1、B2、B3的郵件,并且抄送給了C1、C2、C3,而且密送給了自己,但不知道密送給了D2、D3。
          5)郵箱地址
           mailto: <a href="mailto:qiujie@staff.weibo.com">發送</a>
          6)抄送地址
          cc: <a href="mailto:qiujie@staff.weibo.com?cc=zz@sina.com">發送</a>
          7)密件抄送地址
          用分號分隔: <a href="mailto:qiujie@staff.weibo.com?bcc=zz@sina.com">發送</a>
          8)多個收件人、抄送人、密送人 ;
          bcc: <a href="mailto:qiujie@staff.weibo.com;zz@sina.com">發送</a>
          9)郵件主題
          subject: <a href="mailto:qiujie@staff.weibo.com?subject=郵件主題">發送</a>
          10)郵件內容
          body: <a href="mailto:qiujie@staff.weibo.com?body=郵件正文">發送</a>
          例子:
          <a href="mailto:yy@imooc.com;10001@qq.com?cc=10002@qq.com&bbc=madanteng@qqhelp.com&subject=觀了不起的蓋茨比有感。&body=你好,對此評論有些想法。">對此影評有何感想,發送郵件給我</a>
          

          18.<img>標簽

          在網頁的制作中為使網頁炫麗美觀,肯定是缺少不了圖片,可以使用

          標簽來插入圖片。

          • 語法:
           [站外圖片上傳中……(2)] <img src="myimage.gif" alt="My Image" title="My Image" />
          
          • 講解:
          src:標識圖像的位置;
          alt:指定圖像的描述性文本,當圖像不可見時(下載不成功時),可看到該屬性指定的文本;
          title:提供在圖像可見時對圖像的描述(鼠標滑過圖片時顯示的文本);
          圖像可以是GIF,PNG,JPEG格式的圖像文件。
          路徑有兩種填寫方式:絕對路徑、相對路徑
          相對路徑:相對于我們當前 html 文件的位置來寫路徑即可!
          ./表示當前目錄,../表示上一級目錄
          

          19.<form>標簽

          注意:

          1、所有表單控件(文本框、文本域、按鈕、單選框、復選框等)都必須放在<form></form>標簽之間(否則用戶輸入的信息可提交不到服務器上哦!)。

          2、method:post/get的區別這一部分內容屬于后端程序員考慮的問題。

          • 網站怎樣與用戶進行交互?答案是使用HTML表單(form)。表單是可以把瀏覽者輸入的數據傳送到服務器端,這樣服務器端程序就可以處理表單傳過來的數據。

          語法:

          <form method="傳送方式" action="服務器文件">
          
          • 講解:
          <form> :<form>標簽是成對出現的,以<form>開始,以</form>結束。
          action :瀏覽者輸入的數據被傳送到的地方,比如一個PHP頁面(save.php)。
          method : 數據傳送的方式(get/post)。
           <form method="post" action="save.php"> 
           <label for="username">用戶名:</label> 
           <input type="text" name="username" /> 
           <label for="pass">密碼:</label> 
           <input type="password" name="pass" /> 
           </form>
          

          20.<input>標簽

          • 當用戶要在表單中鍵入字母、數字等內容時,就會用到文本輸入框。文本框也可以轉化為密碼輸入框。

          語法:

           <form> 
           <input type="text/password" name="名稱" value="文本" /> 
           </form>
          
          • 屬性:
          舉例:
           <form> 
           姓名: <input type="text" name="myName"/><br/> 
           密碼: <input type="password" name="pass"/> 
           </form>
           value="xxx" 替換為 placeholder="xxx" 的體驗更好一些,placeholder屬性為 HTML 5 的新屬性。placeholder 屬性提供可描述輸入字段預期值的提示信息(hint)。該提示會在輸入字段為空時顯示,并會在字段獲得焦點時消失。
          

          語法:

          <input placeholder="text"/>
          注釋:placeholder 屬性適用于以下的 <input> 類型:text, search, url, telephone, email 以及 password。
          

          注意:同一組的單選按鈕,name 取值一定要一致,比如上同一個名稱“gender”,這樣同一組的單選按鈕才可以起到單選的作用!

          type:

          • 當type="text"時,輸入框為文本輸入框;
          • 當type="password"時, 輸入框為密碼輸入框。
          • hidden 定義隱藏輸入字段
          • image 定義圖像作為提交按鈕
          • number 定義帶有 spinner 控件的數字字段
          • password 定義密碼字段。字段中的字符會被遮蔽
          • radio 定義單選按鈕
          • checkbox 定義復選框按鈕
          • range 定義帶有 slider 控件的數字字段
          • reset 定義重置按鈕。重置按鈕會將所有表單字段重置為初始值
          • search 定義用于搜索的文本字段
          • submit 定義提交按鈕。提交按鈕向服務器發送數據
          • text 默認。定義單行輸入字段,用戶可在其中輸入文本。默認是 20 個字符
          • url 定義用于 URL 的文本字段

          name:為文本框命名,以備后臺程序ASP 、PHP使用。

          value:為文本輸入框設置默認值。(一般起到提示作用)

          21.<textarea>標簽

          • 當用戶需要在表單中輸入大段文字時,需要用到文本輸入域。

          語法:

           <textarea rows="行數" cols="列數">文本</textarea>
          
          1. <textarea>標簽是成對出現的,以<textarea>開始,以</textarea>結束。
          2. cols :多行輸入域的列數。
          3. rows :多行輸入域的行數。
          4. 在<textarea></textarea>標簽之間可以輸入默認值。

          舉例:

           <form method="post" action="save.php"> 
           <label>聯系我們</label> 
           <textarea cols="50" rows="10" >在這里輸入內容...</textarea> 
           </form>
          

          22.<select>標簽

          • 使用下拉列表框,節省空間。下拉列表在網頁中也常會用到,它可以有效的節省網頁空間。既可以單選、又可以多選。

          語法:

           <select> 
           <option value="提交的值">顯示的值</option> ... 
           </select>
           設置selected="selected"屬性,則該選項就被默認選中。 
           selected="selected"
          
          • 若想實現多選
          <select multiple="multiple"> 然后選擇時候按ctrl點鼠標選中
          
          • 若想讓某個選項不可選
          <option disabled="disabled">
          
          • optgroup 標簽

          把相關的選項組合在一起

          屬性 label:給選項組命名

          屬性 disabled:禁用該選項組

          23.<label>標簽

          • label標簽不會向用戶呈現任何特殊效果,它的作用是為鼠標用戶改進了可用性。如果你在 label 標簽內點擊文本,就會觸發此控件。就是說,當用戶單擊選中該label標簽時,瀏覽器就會自動將焦點轉到和標簽相關的表單控件上(就自動選中和該label標簽相關連的表單控件上)。
          • 語法:
           <label for="控件id名稱">
          

          注意:標簽的 for 屬性中的值應當與相關控件的 id 屬性值一定要相同。

          • 例子:
           <form> 
           <label for="male">男</label> 
           <input type="radio" name="gender" id="male" /> <br /> 
           <label for="female">女</label> 
           <input type="radio" name="gender" id="female" /> 
           <label for="email">輸入你的郵箱地址</label> 
           <input type="email" id="email" placeholder="Enter email"> 
           </form>
          

          24.<map>標簽

          使用 map 標簽可以給圖片某塊區域加超鏈接

          使用方法:

          1)為 map 標簽首先加上 id 屬性用來為 map 標簽定義一個唯一的名稱

          2)為了保證兼容性再加上 name 屬性,屬性值與 id 的值相同

          3)為 map 標簽所作用的圖片加上 usemap 屬性,屬性值為 #id 名稱

          4)在 map 標簽內嵌套 area 標簽來實現給指定區域加鏈接

           <area shape="" coords="" href="" alt="" />
           shape 屬性:定義鏈接區域的形狀,常用值 rect、circle
           coords 屬性:確定區域的精確位置。填寫坐標即可,以父元素左上角為原點,可借助qq截圖來得到想要的坐標
           href 屬性:填寫鏈接地址即可
           alt 屬性:給鏈接加一些說明信息
          

          例子:

           <map id="img1" name="img1"> 
           <area shape="rect" coords="184,33,391,258" href="http:www.baidu.com" alt="百度一下" target="_blank" /> 
           <area shape="circle" coords="507,287,20"  alt="私房庫我的博客" target="_blank" /> 
           </map>
          

          注意:

          1. 第一個coords的四個參數中,前兩個參數為矩形的接近原點的頂角的坐標,后兩個參數為對角的坐標。
          2. 第二個coords的三個參數中,前兩個為圓心坐標,第三個參數為圓的半徑。

          25.<iframe>標簽

          創建包含另外一個文檔的內聯框架(即行內框架)

          屬性:

          • frameborder

          值:1、0

          作用:規定是否顯示框架周圍的邊框。

          • width值:以像素計的寬度值、以包含元素百分比計的寬度值

          作用:定義 iframe 的寬度

          • height

          作用:定義高度

          • name

          作用:給 iframe 命名

          • scrolling

          值:yes、no、auto

          作用:規定是否在 iframe 中顯示滾動條

          • src

          作用:規定在 iframe 中顯示的文檔的 URL

          可以是本地的 html 文件,也可以是遠程的 html 文件

          標簽寫法與嵌套的討論


          標簽寫法

          • 元素標記的省略(在 html5 里面有的標記是可以省略不寫的)

          1)不允許寫結束標簽的元素

          area,base,br,col,command,embed,hr,img,input,keygen,link,meta,paran,source,track,wbr。這些標簽都是單標簽例如:br 標簽,不可以這樣<br></br>,只能<br />這樣來關閉標簽。
          

          2)可以省略結束標記的元素有:

           li,dt,dd,p,rt,rp,optgroup,option,colgroup,thead,tbody,tfoot,tr,td,th。
          

          3)可以省略全部標記的元素有

           html,head,body,colgroup,tbody
          
          • 具有 boolean 值得屬性
           例如:disabled,readonly,checked 等只寫屬性而不寫屬性值得時候當做 ture
           不寫屬性表示 false
          
          • 屬性值的引號可以省略
           要求:屬性值不包含 空字符串,<,>,=, ‘
          

          標簽嵌套探討


          1.html 規定我們必須要嵌套著寫的標簽

          例如:頁面頭部是嵌套在 head 標簽里面的,主體內容都是嵌套在 body 標簽里面的表單的內容是嵌套在 form 標簽里面的,dt、dd 是嵌套在 dl 標簽里面的,li 是嵌套到ul 標簽里面的,等等...

          2.塊級元素可以嵌套內聯元素,但是內聯元素不能包含塊元素

          <div>
           <span>我是一個 span 元素</span>
           </div> —— 對 
          <span>
           <div>div 元素</div>
          </span> —— 錯
          

          3.內聯元素可以嵌套內聯元素

          <a href="#">
           <span></span>
          </a> —— 對
          

          4.塊級元素與塊級元素嵌套注意點

          • div 塊級元素是一個容器,幾乎可以存放任何常用標簽,包括自己,我們為什么要使用 div 來嵌套標簽?這個問題可以用用我們國家的省份劃分來解釋,國家需要劃分不同的省份來利于管理,那么我們 html 頁面也是的,整個 html 文檔元素太多,我們需要使用 div 標簽將頁面劃分成不同的塊,這樣可以對每塊進行分開管理,學完 css 我們就知道怎么進行管理了。
          • 塊級元素不能放在 p 標簽里面
          <p><ol><li></li></ol></p> —— 錯 <p><div></div></p> —— 錯
          
          • li 內可以包含 div 標簽,li 和 div 標簽都是裝載內容的容器,地位平等,沒有級別之分(例如:h1、h2 這樣森嚴的等級制度) ,要知道 li 標簽連它的父級 ul 或者是 ol 都可以容納的

          喜歡前端的小伙伴們可以在評論區留言,尋找和小馮童鞋一樣熱愛前端的友人,讓我們一起玩轉前端的世界!


          主站蜘蛛池模板: 性色av无码免费一区二区三区 | 一区二区三区日韩| 久久久久女教师免费一区| 少妇无码一区二区三区| 日韩精品一区二区三区视频| 国产av福利一区二区三巨| 97av麻豆蜜桃一区二区| 久久亚洲中文字幕精品一区| 韩国精品福利一区二区三区| 无码国产精品一区二区免费vr | 在线观看亚洲一区二区| 日韩精品一区二区三区在线观看| 91精品一区二区综合在线| 亚洲欧洲一区二区| 国产精品久久久久一区二区| 中文字幕在线无码一区| 精品国产一区二区三区香蕉| 高清一区二区在线观看| 色妞色视频一区二区三区四区 | 免费一区二区无码视频在线播放| 国模少妇一区二区三区| 韩国一区二区三区视频| 国产AV午夜精品一区二区入口| 亚洲AV无码一区二区大桥未久| 狠狠做深爱婷婷综合一区| 日本无卡码一区二区三区| 国产凹凸在线一区二区| 色综合视频一区中文字幕| 亚洲毛片αv无线播放一区| 国产精品一区二区无线| 无码AV中文一区二区三区| 精品女同一区二区| 成人区精品一区二区不卡亚洲| 日本道免费精品一区二区| 爱爱帝国亚洲一区二区三区| 日韩精品无码一区二区三区| 国产乱码伦精品一区二区三区麻豆| 亚洲综合激情五月色一区| 亚州日本乱码一区二区三区| 一区二区三区免费精品视频| 性盈盈影院免费视频观看在线一区 |