欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

HTML標(biāo)記語言——表單

互聯(lián)網(wǎng)   發(fā)布時(shí)間:2008-10-17 18:55:15   作者:佚名   我要評(píng)論
點(diǎn)擊這里返回網(wǎng)頁(yè)教學(xué)網(wǎng) HTML教程 欄目. 上文:標(biāo)記語言——引用 原文出處 chapter 5 表單 互動(dòng)性一直是互聯(lián)網(wǎng)的重點(diǎn),讓使用者與網(wǎng)站能夠交換信息,彼此溝通.表單使我們能夠有組織的,使用同一方式的從使用者那里收集資料,因此在設(shè)計(jì)網(wǎng)站時(shí)總是屬于&qu
技巧延伸
在這個(gè)單元中,我們會(huì)先討論tabindex和accesskey屬性,看看它們?nèi)绾问贡韱巫兊酶尤菀诪g覽.我們也會(huì)研究能幫助組織表單區(qū)域的<fieldset>標(biāo)簽,最后,我們會(huì)看一些CSS,因?yàn)樗馨驯韱瓮庥^修飾得更漂亮. 神奇的tabindex
我們能輕易加上的功能之一是tabindex屬性.加上tabindex,為它指定一個(gè)數(shù)值之后,使用者就能以鍵盤切換正在使用的表單元素(通常是Tab鍵).按下Tab就會(huì)依照我們所制定的順序跳到下一個(gè)表單元素.根據(jù)預(yù)設(shè)值,每個(gè)能互動(dòng)的元素都隱含有tabindex,但使用tabindex能收回瀏覽器指派的順序,讓你完全掌握控制權(quán).
舉例來說,讓我們?yōu)橄惹暗氖纠?方法C)里面的表單元素加上tabindex屬性:

<form action="/path/to/script" id="thisform" method="post">
<p><label for="name">Name:</label><br />
<input type="text" id="name" name="name" tabindex="1" /></p>
<p><label for="email">Email:</label><br />
<input type="text" id="email" name="email" tabindex="2" /></p>
<p><input type="checkbox" id="remember" name="remember" tabindex="3" />
<label for="remember">Remember this info?</label></p>
<p><input type="submit" value="submit" tabindex="4" /></p>
</form>

現(xiàn)在,當(dāng)使用者在表單內(nèi)切換輸入框的時(shí)候,我們能確定切換的順序與我們期望的順序完全相同:Name,Email,Remenber this info與submit按鈕.
在設(shè)計(jì)復(fù)雜,單一行有許多輸入框或者其他表單元素的表單時(shí),使用tabindex設(shè)定切換順序的優(yōu)點(diǎn)就顯而易見了.
為何指定切換順序?
除了在我們表單上實(shí)施非常簡(jiǎn)單之外,還能再次幫助到行動(dòng)受限的使用者,使其能完全以鍵盤瀏覽表單內(nèi)容.他們不需要抓起鼠標(biāo)點(diǎn)擊每個(gè)部分,只需要用Tab鍵就能依照正確的順序遍歷每個(gè)表單元素.請(qǐng)為那些無法同時(shí)使用雙手瀏覽網(wǎng)頁(yè)的人想想,這真的很有幫助. 為頻繁使用的表單指定快捷鍵
與tabindex類似的.accesskey屬性是另一個(gè)容易加上的功能,不僅能幫助行動(dòng)受限的使用者,對(duì)其他人來說也是方便極了.
舉例來說,如果為表單內(nèi)包圍著Name:的<label>標(biāo)簽上加上accesskey屬性,那么在使用者按下指定的按鍵時(shí),光標(biāo)就會(huì)自動(dòng)跳到與說明文字相關(guān)的輸入框.
我們來看看達(dá)成這個(gè)效果所需要的代碼:

<form action="/path/to/script" id="thisform" method="post">
<p><label for="name" accesskey="9" >Name:</label><br />
<input type="text" id="name" name="name" tabindex="1" /></p>
<p><label for="email">Email:</label><br />
<input type="text" id="email" name="email" tabindex="2" /></p>
<p><input type="checkbox" id="remember" name="remember" tabindex="3" />
<label for="remember">Remember this info?</label></p>
<p><input type="submit" value="submit" tabindex="4" /></p>
</form>

使用者必須在按下9這個(gè)按鍵的時(shí)候同時(shí)按下Alt或Ctrl鍵,根據(jù)系統(tǒng)而定,之后光標(biāo)就會(huì)立刻移到Name:的輸入框里頭.
容易使用的搜索框
在設(shè)計(jì)會(huì)經(jīng)常使用的表單時(shí)(比如搜索框,用戶登錄等等),加上accesskey屬性格外有用,使用者不必伸手去拿鼠標(biāo),就能使用鍵盤立刻切換到適合的位置,開始進(jìn)行輸入.
有件事必須留意,雖然不是所有瀏覽器都支持accesskey,但是加上這個(gè)屬性對(duì)支持的瀏覽器使用這很有幫助,舉例來說,要是我們加上accesskey="9"的搜索位置時(shí),windows使用者可以按Alt 9,而Mac使用者則能以Command 9直接切換到搜索輸入框內(nèi)了. 為表單加上樣式
現(xiàn)在有了結(jié)構(gòu)完善的表單,接著讓我們研究一些能夠用來自定顯示效果的CSS技巧吧! 設(shè)定文字輸入框的寬度
處理表單元素需要技巧,因?yàn)樗鼈兊膶挾?高度與瀏覽器種類有關(guān).在表單示例中,我們沒有指定文字輸入框的寬度,讓瀏覽器自動(dòng)使用預(yù)設(shè)值,一般來說,設(shè)計(jì)者或許會(huì)以size屬性為<input>元素指定寬度,像這樣:

<input type="text" id="name" name="name" tabindex="1" size="20" />

把大小指定為20代表將文字輸入框的寬度設(shè)置為20字元(而不是像素).根據(jù)瀏覽器的預(yù)設(shè)表單字體,實(shí)際的輸入框像素寬度可能會(huì)有差異.這使得精確指定表單排版變得有點(diǎn)困難.
如果需要的話,我們能借著CSS以像素為單位控制輸入框(以及其他表單元素)的寬度.舉例來說,讓我們把示例表單中的所有<input>元素寬度設(shè)定成200像素,我們會(huì)利用為表單指定id屬性,在這個(gè)示例中是thisform.

#thisform input {
width: 200px;
}

這時(shí),所有在#thisform內(nèi)的<input>元素都會(huì)變成200像素寬.圖5-9是可視化瀏覽器的顯示效果.

圖5-9 把所有<input>元件寬度設(shè)置成200像素之后的效果
哦喔~多選框和submit按鈕也是<input>元素,因此得到了相同的設(shè)定值,讓我們改以id指定Name和Email輸入框,而不是一次設(shè)定所有的<input>元素的寬度:

#name, #email {
width: 200px;
}

圖5-10是以瀏覽器檢查修正后成果的效果,這時(shí)只有兩個(gè)文字輸入框是200像素寬的了.

圖5-10.只有文字輸入框是200像素寬的效果
使用<label>自定字體
我們有幾種不同的方法能夠調(diào)整表單內(nèi)文字的大小,字體與色彩,我們?cè)俣确钚?quot;利用你使用的標(biāo)簽"哲學(xué),直接以<label>元素為文字設(shè)定樣式.
我喜歡以<label>元素指定文字樣式,主要是因?yàn)?在不少情況下,我們都會(huì)希望為說明文字指定獨(dú)特的樣式,使它們?nèi)菀着c表單內(nèi)可能出現(xiàn)的其他文字區(qū)分開來,舉例來說,我們可以為表單內(nèi)的所有段落標(biāo)簽制定獨(dú)特的樣式:

#thisform p {
font-family: Verdana, sans-serif;
font-size: 12px;
font-weight: bold;
color: #66000;
}

這會(huì)使表單內(nèi)的所有段落文字使用粗糙,酒紅色的Verdana 12像素大小的字體.但是同樣的結(jié)果也能借著為表單內(nèi)的<label>元素指定相同樣式來達(dá)成,像這樣:

#thisform label {
font-family: Verdana, sans-serif;
font-size: 12px;
font-weight: bold;
color: #66000;
}

這個(gè)樣式的顯示效果見圖5-11.

圖5-11.為label指定樣式的效果
為什么我比較喜歡這個(gè)方法?假設(shè)除了說明文字之外,表單還有其他放在<p>當(dāng)中的指示或文字內(nèi)容.那么在前一種方法內(nèi),這些文字就會(huì)使用和<p>相同的樣式設(shè)定了.
也能先為表單中的所有文字制定一種樣式,接著再為<label>特別指定樣式,以便做出獨(dú)特的表單元素顯示效果.
使用的CSS大概類似這樣:

#thisform {
font-family: Georgia, serif;
font-size: 12px;
color: #999;
}

#thisform label {
font-family: Verdana, sans-serif;
font-weight: bold;
color: #660000;
}
不需要多余的代碼
或許你或發(fā)現(xiàn),在#thisform label 的定義中沒有重復(fù)font-size:12px;由于<label>元素包含在#thisform之內(nèi),因此他們會(huì)繼承這個(gè)屬性.在較高層級(jí)設(shè)定共享規(guī)則,接著在元素樹底層覆蓋有需要的設(shè)定值是個(gè)好習(xí)慣.這能節(jié)省不少代碼.除了顯而易見好處之外,也能讓往后的維護(hù)工作輕松不少.如果你想改變整個(gè)表單的font-family,那么只需要修改一條規(guī)則,而不必修改所有重復(fù)設(shè)定字體的規(guī)則.
想象你設(shè)計(jì)了一個(gè)網(wǎng)站,全部使用了Georgia字體,最初你在20個(gè)不同的規(guī)則中分別加上相同的font-face:Georgia,serif;規(guī)則,過了一星期后,老板跑來找你并且對(duì)你說"CEO現(xiàn)在討厭serif字體了,把網(wǎng)站內(nèi)容改用Verdana".這時(shí)你的鉆進(jìn)這20條規(guī)則里,慢慢修改了.
或者是,你也能在更高層級(jí)設(shè)定一次這條規(guī)則,比如說指定在<body>元素里,此時(shí)整份文檔都匯繼承Georgia字體,除非以其他規(guī)則指定另外的設(shè)定值.現(xiàn)在,當(dāng)老板要求你進(jìn)行修改時(shí),你就能回答"沒問題,兩分鐘之后搞定";或者是能把簡(jiǎn)易性留給自己,告訴他這需要耗上兩個(gè)小時(shí),然后用這些額外的時(shí)間上eBay標(biāo)東西.
OK,當(dāng)然,你應(yīng)該告訴老板真相,他們應(yīng)該知道你的價(jià)值,為公司節(jié)省時(shí)間并且善用你找到的新解法. 以<fieldset>制作表單元素群組
使用<fieldset>是個(gè)為表單元素分組的便利方法.除此之外,加上敘述用的<legend>則會(huì)在大多數(shù)瀏覽器內(nèi),為你做好的表單元素群組加上一個(gè)漂亮的邊框.我剛剛有說"漂亮"嗎?嗯,我的確喜歡這種邊框.而我們只需要用上一點(diǎn)CSS,就能使它變得更加迷人.
首先,來看看建立群組是需要哪些標(biāo)簽.接著為示例表單加上一個(gè)群組:

<form action="/path/to/script" id="thisform" method="post">
<fieldset>
<legend>Sign In</legend>
<p><label for="name" accesskey="9" >Name:</label><br />
<input type="text" id="name" name="name" tabindex="1" /></p>
<p><label for="email">Email:</label><br />
<input type="text" id="email" name="email" tabindex="2" /></p>
<p><input type="checkbox" id="remember" name="remember" tabindex="3" />
<label for="remember">Remember this info?</label></p>
<p><input type="submit" value="submit" tabindex="4" /></p>
</fieldset>
</form>

圖5-12是瀏覽器顯示這個(gè)群組的效果圖,包含剛加上的<fieldset>與<legend>標(biāo)簽,以及剛為<label>設(shè)定的CSS樣式.或許你已發(fā)現(xiàn)有條漂亮的邊線圍繞在<fieldset>里面的所有表單元素之外,同時(shí)<legend>的內(nèi)容斷開了左上方的邊線.

圖5-12.加上<fieldset>與<legend>之后的表單
我說這個(gè)效果"漂亮"的原因是:完全不加上CSS,使用它們的預(yù)設(shè)樣式,它的顯示效果的確讓人相當(dāng)感動(dòng).同時(shí)還能加上一些自定屬性,使它變得更有趣,我們馬上動(dòng)手.
你應(yīng)該也能看出<fieldset>在為表單隔出不同區(qū)塊的時(shí)候十分有用,舉例來說,如果我們的示例是個(gè)大表單的第一部分,那么以<fieldset>從視覺上隔開這些區(qū)塊的話,不僅語義更清楚,還能使表單結(jié)構(gòu)更明顯,更容易閱讀使用.
為<fieldset>和<legend>加上樣式
我們能使用CSS改寫<fieldset>預(yù)設(shè)邊框與<legend>文字的樣式,與定義其他元素的樣式一樣簡(jiǎn)單,首先,我們來修改邊框的顏色和寬度,接著再修改文字本身.
為了使<fieldset>的邊線變得更加細(xì)致,我們使用以下的CSS:

#thisform {
font-family: Georgia, serif;
font-size: 12px;
color: #999;
}

#thisform label {
font-family: Verdana, sans-serif;
font-weight: bold;
color: #660000;
}

#thisform fieldset {
border: 1px solid #ccc;
padding: 0 20px;
}

接著為左右兩邊指定20像素的外補(bǔ)丁,并且去掉上下外補(bǔ)丁,為什么要去掉這些外補(bǔ)丁?因?yàn)槲覀兊谋韱握f明文字,表單元素都放在<p>標(biāo)簽內(nèi),因此他們?cè)谏舷路较蛏弦呀?jīng)留足了邊界空白.
圖5-13是指定這些樣式之后的表單顯示效果.

圖5-13.為<fieldset>指定樣式之后的效果
立體的<legend>
最后,為<legend>標(biāo)簽指定一些樣式,做出立體的邊線效果,讓它看起來像是與<fieldset>元素的邊線連在一起.

#thisform {
font-family: Georgia, serif;
font-size: 12px;
color: #999;
}

#thisform label {
font-family: Verdana, sans-serif;
font-weight: bold;
color: #660000;
}

#thisform fieldset {
border: 1px solid #ccc;
padding: 0 20px;
}

#thisform legend {
font-family: arial, sans-serif;
font-weight: bold;
font-size: 90%;
color: #666;
background: #eee;
border: 1px solid #ccc;
border-bottom-color: #999;
border-right-color: #999;
padding: 4px 8px;
}

如你所見,這里做了幾件事,首先,調(diào)整了<legend>的字體,粗細(xì)與大小,接著產(chǎn)生了立體效果,把背景設(shè)為淺灰色,然后在整個(gè)<legend>的外面加上配合<fieldset>邊線顏色的單像素邊線,為了達(dá)成陰影效果,我們還把底部與右側(cè)的邊線顏色換成深一點(diǎn)的灰色.
字體大小百分比: 由于我們之前為整個(gè)#thisform 的字體設(shè)置為font-size:12px;因此要縮小<legend>文字時(shí),我們直接用百分比,在較高層級(jí)指定字體大小,接著在底層使用百分比,能夠減輕未來的維護(hù)負(fù)擔(dān).要調(diào)大整個(gè)網(wǎng)站的字體大小么?只要修改一個(gè)地方,所有百分比都會(huì)隨之改變.事實(shí)上,最理想的狀況下,我們可以設(shè)定<body>的初始字型大小,然后在其他所有地方使用百分比.然而在這個(gè)示例中,我們選擇在<form>層級(jí)指定字體大小.
然后調(diào)整內(nèi)部定,以便文字與邊線之間留下一點(diǎn)空間.就是這樣了!圖5-14顯示的是最后結(jié)果,加上本章內(nèi)的所有CSS代碼,同時(shí)仍然使用最簡(jiǎn)潔,靈活的表單結(jié)構(gòu).

圖5-14 完成的表單示例,以CSS設(shè)定樣式. 結(jié)論
標(biāo)記表單有許多方法,不管你使用表格,定義清單,還是最基本的段落標(biāo)簽進(jìn)行說明,表單元素的排版,都要記住,本章討論的易用性功能,可以輕易加到任何方法里面.
像是tabindex與accesskey這種屬性可以提升瀏覽效率,而<label>元素與對(duì)應(yīng)的id屬性能確保互助設(shè)備可以正確辨識(shí)你的表單內(nèi)容.
基礎(chǔ)短小簡(jiǎn)介的修改,就能得到更好的結(jié)果.

相關(guān)文章

  • 詳解HTML5表單新增屬性

    本文主要對(duì)HTML5表單新增屬性進(jìn)行詳細(xì)介紹,并附上實(shí)例解析,簡(jiǎn)單易懂。需要的朋友一起來看下吧
    2016-12-21
  • HTML Form表單元素全面了解

    下面小編就為大家?guī)硪黄狧TML Form表單元素全面了解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-09-26
  • html5表單及新增的改良元素詳解

    下面小編就為大家?guī)硪黄猦tml5表單及新增的改良元素詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-07
  • HTML5新增的表單元素和屬性實(shí)例解析

    這篇文章主要為大家介紹了HTML5新增的表單元素和屬性,具有一定的參考價(jià)值!需要的朋友可以參考下
    2014-07-07
  • HTML5 的新的表單元素(datalist/keygen/output)使用介紹

    HTML5 擁有若干涉及表單的元素和屬性,下面為大家介紹下新的表單元素datalist 元素、keygen 元素、output 元素以及它們的使用實(shí)例,感興趣的朋友可以參考下哈,希望對(duì)大家
    2013-07-19
  • HTML5之HTML元素?cái)U(kuò)展(下)—增強(qiáng)的Form表單元素值得關(guān)注

    在HTML5增強(qiáng)的元素中,最值得關(guān)注的就是表單元素;在HTML5中,表單已經(jīng)做了重大的修整,一些以前需要通過JavaScript編碼實(shí)現(xiàn)的功能現(xiàn)在無需編碼就可輕松實(shí)現(xiàn),感興趣的朋友可
    2013-01-31
  • HTML表單標(biāo)記教程(2):

    本教程介紹FORM表單標(biāo)記的各種屬性在網(wǎng)頁(yè)設(shè)計(jì)中的應(yīng)用. <FORM>標(biāo)記的NAME屬性 基本語法 01 <Form name="Form_name"> 02 ……
    2008-10-17
  • HTML表單標(biāo)記教程(4):

    假設(shè)現(xiàn)在要在表單中添加這樣一項(xiàng)內(nèi)容:瀏覽所在的城市。這里不說全國(guó)的城市,只說省會(huì)以上的城市就有幾十個(gè)。如果以上面講過的單選按鈕的形式,將這些城市全部羅列在網(wǎng)頁(yè)上
    2008-10-17
  • 帶有圖片預(yù)覽功能的上傳表單的完整HTML

    帶有圖片預(yù)覽功能的上傳表單,完整的HTML代碼如下所示 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=
    2008-10-17
  • XHTML入門學(xué)習(xí)教程:表單標(biāo)簽

    表單是用戶提交信息的重要渠道。本節(jié)就將介紹表單的基礎(chǔ)知識(shí)。 表單標(biāo)簽<form> 表單以一個(gè)<form>標(biāo)簽開始。用戶注冊(cè)網(wǎng)站會(huì)員,投票等等都需要表單來實(shí)現(xiàn)
    2008-10-17

最新評(píng)論