亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

HTML標記語言——表單

2024-08-26 00:08:47
字體:
來源:轉載
供稿:網友

 網頁設計 html教程 欄目.

上文:標記語言——引用

原文出處

chapter 5 表單

互動性一直是互聯網的重點,讓使用者與網站能夠交換信息,彼此溝通.表單使我們能夠有組織的,使用同一方式的從使用者那里收集資料,因此在設計網站時總是屬于"任何狀況都能拿來用"的那一類,舉例來說,我們發現大概有10000種標記表單的不同方式.好吧,或許沒有那么多,但是我們仍能思考幾種狀況,讓使用者易于使用表單結構,同時也便于讓網站所有者進行管理.

標記表單的方法

方法a:使用表格

<form action="/path/to/script" method="post">

  <table>

    <tr>

      <th>name:</th>

      <td><input type="text" name="name" /></td>

    </tr>

    <tr>

      <th>email:</th>

      <td><input type="text" name="email" /></td>

    </tr>

    <tr>

      <th>&nbsp;</th>

      <td><input type="submit" value="submit" /></td>

    </tr>

  </table>

</form>

長久以來許多人都以表格來標記表單,由于使用頻率很高的緣故,我們已經習慣于見到表單以這種方式進行排版:左列是向右對齊的文字說明,右列則是相左對齊的表單元素.使用單純的兩列表格,是完成易用表單排版的簡單方法之一.

有些人認為不需要表格,也有其他人認為應該把表單視為表狀資料.我們不打算支持任何一種說法,但是在某些情況下,使用表格時達成特定表單排版的最佳方法,特別是包含許多種不同元素的復雜表單(使用了單選框,下拉選框等等的表單).完全依賴css處理這種表單的排版可能會讓人感到挫折,而且經常需要加上額外的<span>與<div>,會比表格耗上更多的標簽.

接著看圖5-1,這是一般可視化瀏覽器顯示方法a的效果:

圖5-1:瀏覽器顯示的方法a的效果

你會發現,使用表格可以把文字說明表單元素排列的十分整齊.然而,對這樣簡單的表單來說,或許我會避免選擇使用表格,并且換用其他不需要使用這么多標簽的方法.除非表單的視覺設計十分需要這種排版,否者未必需要使用表格.同時我們也要考慮幾個易用性問題,在研究下面兩個方法的時候,我們就會接觸到這個部分.

方法b:不用表格,單擠在一起

<form action="/path/to/script" method="post">

  <p>

    name: <input type="text" name="name" /><br />

    email: <input type="text" name="email" /><br />

    <input type="submit" value="submit" />

  </p>

</form>

使用單一段落和幾個<br />標簽隔開所有元素是個可行方法,但視覺上可能會被描繪的有點擠.圖5-2十一版瀏覽器的顯示效果:

圖5-2:瀏覽器顯示方法b的效果

雖然我們不用表格就能完成排版,但是它看起來有點擠,有點丑.同時我們也遇上表單元素無法完美對齊的問題.

我們能夠以css為<input>元素加上一個外補丁,以便減輕擁擠的感覺.像是這樣:

input{

    margin:6px 0;

}

前面這段為每個<input>元素的上下分別加上6像素的外補丁(包含了name,email的輸入框,以及submit按鈕),在元素之間加上額外的空間.就像圖5-3一樣:

圖5-3.方法b在為input元素加上外補丁之后的效果

方法b本身沒什么大問題,但是還能進行一些微調,以便把表單做得更好.方法c里頭也運用了這些微調技巧,所以一起來看看吧.

方法c:樸素,更容易使用

<form action="/path/to/script" id="thisform" method="post">

  <p><label for="name">name:</label><br />

  <input type="text" id="name" name="name" /></p>

  <p><label for="email">email:</label><br />

  <input type="text" id="email" name="email" /></p>

  <p><input type="submit" value="submit" /></p>

</form>

我喜歡方法c的幾個地方.首先,對于類似本示例的單純表單來說,我發現把每個說明與表單元素放在單獨的段落比較方便,不加上樣式顯示時,段落之間的預設距離應該足以讓你輕松閱讀內容.稍后我們還能以css為表單內包含的<p>標簽設定間隔.

我們甚至更進一步,為表單設定了唯一的id="thisform".因此,剛才我提到的精確間隔大致上可以寫成這樣:

#thisform p{

margin:6px 0;

}

這代表將這個表單內的<p>標簽的上下外補丁設定為6個像素,覆蓋瀏覽器為一般段落選用的預設值.

方法c與前兩種方法的另一個不同之處在于:盡管每個群組(說明和輸入框)都放在<p>里頭,我們仍以<br />把他們放在獨立的一行.使用<br />分開每個元素,就能繞過文字長短不一,造成輸入項無法完美對齊的問題.

圖5-4是一般瀏覽器顯示方法c的效果,這邊有使用先前為<p>標簽設定的樣式.

圖5-4.瀏覽器顯示方法c的效果,有對p標簽使用css

除了方法c的視覺效果之外,最重要的優點:也就是提升易用性的部分.

<label>標簽

使用<label>標簽提升表單的易用性需要兩個步驟,而方法c已經完成這兩個步驟了.首先是以<label>將文字說明與相關的表單元素連接在一起,不管是文字輸入框(text field),文字區塊輸入框(text area),單選框(radio),多選框(checkbox)等等都好.方法c在"name:"與"email:"標題上使用了<label>標簽,把它們與輸入資料的元素連接在一起.

第二步則是為<label>標簽加上for屬性,填上對應輸入框的id.

舉例來說.在方法c里面,以<label>標簽把"name:"包了起來,并且在for屬性里填入與其后面的輸入框id相同的值.

<form action="/path/to/script" id="thisform" method="post">

  <p><label for="name">name:</label> <br />

  <input type="text" id="name" name="name" /></p>

  <p><label for="email">email:</label><br />

  <input type="text" id="email" name="email" /></p>

  <p><input type="submit" value="submit" /></p>

</form>

為什么要用<lable>?

或許聽過其他人說你應該在表單內加上<label>標簽.而最重要的問題在于為什么應該要用<label>標簽.

建立label / id的關聯能讓屏幕閱讀器為每個表單元素讀出正確的標簽,而不收版面排列方法的影響,這是件好事.同時,<label>標簽正是為了標記表單欄標簽而生,使用這個標簽的時候,我們就是在為每個元素說明意義,強化表單的結構.

在處理單選,多選框時使用<label>標簽還有個額外的好處,那就是大多數瀏覽器在使用者點擊<label>內文字時也會改變元素的值.這樣能為輸入元素造成更大的點擊區域,讓行動不便的使用者更容易填寫表單(mark pilgrim, "dive into accessibility," http://diveintoaccessibility.org/day_28_labeling_form_elements.html).

舉例來說,如果為表單加上一個多選框,讓使用者能夠選擇"記下這些信息",那么我們就能像這樣的使用<label>標簽了:

<form action="/path/to/script" id="thisform" method="post">

  <p><label for="name">name:</label><br />

  <input type="text" id="name" name="name" /></p>

  <p><label for="email">email:</label><br />

  <input type="text" id="email" name="email" /></p>

  <p><input type="checkbox" id="remember" name="remember" />

  <label for="remember">remember this info?</label></p>

  <p><input type="submit" value="submit" /></p>

</form>

借著以這種方式標記多選框,可以獲得兩個好處:屏幕閱讀器能讀出正確的說明文字(就像這個例子一樣,文字出現在輸入框之后也行),而且能切換多選框的范圍變大了,現在切換范圍除了多選框本身之外,文字部分也包含在內(大多數瀏覽器都支持).

圖5-5就是這個表單在瀏覽器中的顯示效果.我們特別標示了加大之后的多選框切換范圍:

圖5-5.把文字包含在切換范圍內的多選框

除了表單與段落之外,最后我還想展示另一個標記表單的方式,使用定義清單.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线视频观看正片免费网站| 蜜月aⅴ免费一区二区三区| 国产成人精品久久| 色综合天天综合网国产成人网| 亚洲aⅴ男人的天堂在线观看| 国产亚洲欧美视频| 精品欧美一区二区三区| 欧美一区二区三区精品电影| 成人中心免费视频| 亚洲国产精品va在线观看黑人| 亚洲精品第一国产综合精品| 欧美日韩综合视频网址| 大胆人体色综合| 黑人巨大精品欧美一区免费视频| 久久久视频在线| 午夜精品蜜臀一区二区三区免费| 久久亚洲国产精品成人av秋霞| 国产日韩一区在线| 国产成人精品免费久久久久| 日韩经典中文字幕在线观看| 亚洲午夜激情免费视频| 日韩影视在线观看| 欧美精品久久久久久久免费观看| 欧美日韩亚洲网| 色综合久久精品亚洲国产| 日韩亚洲欧美中文在线| 精品中文字幕乱| 国产视频观看一区| 亚洲精品国产suv| 91久久精品国产91久久| 国产成人91久久精品| 亚洲国产精品久久91精品| 国产97人人超碰caoprom| 热re99久久精品国产66热| 精品亚洲精品福利线在观看| 国产精品成人一区二区| 在线免费观看羞羞视频一区二区| 亚洲a中文字幕| 亚洲欧美在线免费| 欧洲成人在线观看| 亚洲精品丝袜日韩| 国产一区二区丝袜高跟鞋图片| 久久免费视频在线| 国产欧美精品一区二区三区-老狼| 国产一区二区三区三区在线观看| 在线观看日韩欧美| 欧美精品在线免费观看| 91久久国产综合久久91精品网站| 日韩在线观看你懂的| 欧美日韩精品国产| 久久久久久综合网天天| 亚洲毛茸茸少妇高潮呻吟| 日本国产欧美一区二区三区| 亚洲一区二区三区久久| 欧美成人亚洲成人日韩成人| 国产综合在线看| 亚洲a一级视频| 久久久久久久一区二区三区| 欧美日韩国产中文字幕| 91精品国产91久久久久| 亚洲成色777777在线观看影院| 91丝袜美腿美女视频网站| 日韩av在线网| 国产欧美va欧美va香蕉在| 国产精品成人播放| 欧美日本精品在线| 九九热这里只有精品6| 国产精品最新在线观看| 2019中文字幕免费视频| 亚洲一区二区黄| 欧美在线视频免费| 精品视频在线播放色网色视频| 久久久久北条麻妃免费看| 久久国产精品久久精品| 国产精品观看在线亚洲人成网| 色狠狠av一区二区三区香蕉蜜桃| 欧美精品免费在线| 国产伦精品一区二区三区精品视频| 欧美精品videofree1080p| 久久五月情影视| 日韩av在线免费播放| 欧美黑人视频一区| 日韩福利在线播放| 久久综合网hezyo| 蜜月aⅴ免费一区二区三区| 久久91超碰青草是什么| 欧美最猛性xxxx| 美日韩丰满少妇在线观看| 亚洲一区二区三区在线视频| 在线观看欧美成人| 91国产精品电影| 欧美大尺度电影在线观看| 亚洲精品自拍偷拍| 欧美午夜视频在线观看| 亚洲国产精品人人爽夜夜爽| 国产精品久久77777| 国产成人亚洲综合91精品| 日韩av片永久免费网站| 精品久久久久久电影| 亚洲成人精品视频在线观看| 久久亚洲精品一区二区| 2019国产精品自在线拍国产不卡| 久久久久久久久久av| 久久免费精品日本久久中文字幕| 国内精品模特av私拍在线观看| 欧美另类69精品久久久久9999| 亚洲香蕉av在线一区二区三区| 亚洲bt天天射| 都市激情亚洲色图| 中文字幕日韩欧美在线| 国产噜噜噜噜噜久久久久久久久| 欧美亚洲另类激情另类| 国产精品久久久久免费a∨大胸| 亚洲国产高清福利视频| 国内精品久久久久伊人av| 成人妇女淫片aaaa视频| 7777免费精品视频| 夜色77av精品影院| 成人a级免费视频| 国内精品久久影院| 欧美高清视频在线播放| 久久乐国产精品| 成人激情视频网| 亚洲全黄一级网站| 亚洲成人国产精品| 欧美日韩电影在线观看| 韩国三级日本三级少妇99| 亚洲一区中文字幕| 国产亚洲欧美日韩精品| 久久精品99久久香蕉国产色戒| 欧美最顶级的aⅴ艳星| 久久久久久亚洲| 色一情一乱一区二区| 亚洲精品永久免费| 人九九综合九九宗合| 夜夜嗨av色综合久久久综合网| www.xxxx精品| 久久精品亚洲国产| 国产精品日韩av| 亚洲毛片在线免费观看| 亚洲免费一级电影| 成人美女免费网站视频| 最新的欧美黄色| www.亚洲天堂| 亚洲a在线观看| 国产999在线观看| 欧美插天视频在线播放| 国产精品久久电影观看| 国产成人精品亚洲精品| 久久精品在线视频| 97成人精品区在线播放| 国产一区玩具在线观看| 久久久亚洲精品视频| 91免费精品国偷自产在线| 91情侣偷在线精品国产| 久久影院中文字幕| 国产一区二区三区丝袜| 亚洲精品理论电影| 欧美日韩国产精品一区| 国产精品丝袜久久久久久不卡| 日韩经典中文字幕| 亚洲视频日韩精品| 欧美精品电影免费在线观看| 午夜精品久久久久久99热|