<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的家園

    我的家園

    HTML5表單新特征簡介與舉例

    Posted on 2012-04-15 16:37 zljpp 閱讀(185) 評論(0)  編輯  收藏

    一、前言一撇

    其實關于HTML5的表單特征早在去年“你必須知道的28個HTML5特征、竅門和技術”一文中就有所介紹,不過,有些遺憾的是,此部分的介紹是以視頻形式展示的,其實,是視頻還好啦,關鍵是TouTuBe視頻,需要越獄觀看。得,像我這樣安分守已的良民,除了看空姐,其他情況都是懶得fan墻的,所以這部分視頻展示的內容,其實就是個“空”。
    截圖 張鑫旭-鑫空間-鑫生活

    所以,這里打個補丁,把這部分內容完善下。本文的大致內容有:
    # <input type=”number” />
    # <input type=”range” />
    # <input type=”date” /> 以及其他時間選擇器控件
    # <input type=”color” /> 顏色選擇器
    # <input type=”search” />
    # <datalist>元素和list屬性

    # HTML5表單驗證與CSS3的曖昧關系

    二、HTML5表單新特征

    1. type=number

    type=number的HTML表單元素可以讓你以按鍵的方式改變文本框中的值,這種效果在window系統中經常見到,例如:
    window系統中的時間點擊選擇 張鑫旭-鑫空間-鑫生活

    懶惰的人寧可躺在椅子上點點鼠標也不元素坐起來按鍵盤,所以,相比鍵盤輸入,點擊輸入也是有市場的。這就是為何HTML5表單中有數值選擇控件。

    大致HTML代碼如下:

    人數:<input type="number" value="1" />
    

    如果加上點合適的寬度限制,則在Chrome瀏覽器下效果(估計UI與系統主題相關)如下:
    Chrome type=number效果截圖 張鑫旭-鑫空間-鑫生活

    目前還支持的瀏覽器就是Opera 11了,不過Opera下的上下增減數值的按鈕長得有些歪瓜裂棗,很有抽象派的風格。
    Opera瀏覽器下number類表單模樣 張鑫旭-鑫空間-鑫生活

    您可以狠狠地點擊這里:HTML5表單之nubmer控件demo

    2. type=range
    range中文意義值區域范圍,這類效果在window系統中也屢見不鮮,如下截圖:
    window系統下拖動條 張鑫旭-鑫空間-鑫生活

    HTML5中有類似效果的input控件,只要定義其type為range就可以了,so easy!

    拖動范圍:<input type="range" value="50" />

    默認情況下的value范圍是0~100,所以呢,value=50,則拖動條就在區域范圍的中間。如下圖所示:
    Opera下range空間效果 張鑫旭-鑫空間-鑫生活

    我的Firefox目前版本3.6,尚未支持此特性。不過,Chrome,Opera,以及Safari4下均有效果,只是畢竟不是同一個爸爸,所以模樣上還有有些差異的,這里就不展示這些差異了。

    您可以狠狠地點擊這里:HTML5表單之range控件demo

    在一開始提到的“你必須知道的28個HTML5特征、竅門和技術”一文中最后一項,也就是第二十八項的精湛效果實例就是在range類控件上實現的效果,里面還涉及到了min,max屬性,以及step屬性,是個非常值得觀摩學習體驗的例子。關于此實例demo,您可以狠狠地點擊這里。

    3. type=”date”以及其他時間控件
    這是時間選擇器控件,以后選擇時間久不要去折騰什么js插件了,直接一個date屬性,然后,你就可以邊和咖啡邊和旁邊掃地的老太太交流代碼了。不信,你看:

    選擇日期:<input type="date" value="2011-01-04" />
    

    結果在支持的瀏覽器下,例如Opera下,就有如下效果:
    date類控件效果 張鑫旭-鑫空間-鑫生活

    這不活脫脫的一個時間選擇器嘛!
    window系統下時間控件 張鑫旭-鑫空間-鑫生活

    除了長相有些磕磣,其他還是挺讓人欣喜的。

    時間類空間,不僅有date類型的,還有time類型,還有datetime,week,month。

    顯然,顧名思意,date類型是選擇日期,time類型是選擇時間,datetime是日期時間一起選,而week是選擇星期,month實現選擇月份。

    您可以狠狠地點擊這里:HTML5表單時間類空間demo

    我測試了番,設置剛把Safari升級到5.0版本,發現,目前而言,就Opera瀏覽器支持這類時間控件。效果分別如下:
    type=time時效果有些類似type=number,可以通過點擊切換事件,默認每點一次,時間切換1分鐘,鼠標長按也是有效的。

    選擇時間:<input type="time" value="22:52" />

    選擇時間:

    選擇時間的效果 張鑫旭-鑫空間-鑫生活

    type=week下,鼠標經過的時候,每一行(代表一周)的日期背景色會集體變暗,如下圖:
    type=week控件鼠標hover效果 張鑫旭-鑫空間-鑫生活

    而type=month的時候,是整月的背景色變深,如下圖:
    整月日期鼠標經過背景變深 張鑫旭-鑫空間-鑫生活

    兩者選擇后的數據值如下:
    week類型和month類型的值 張鑫旭-鑫空間-鑫生活

    4. type=”color”
    這是顏色選擇器控件,相當的給力。使用很簡單,如下:

    選取顏色:<input type="color" value="#34538b" />
    

    結果在Opera瀏覽器下默認效果如下:
    顏色選擇器默認 張鑫旭-鑫空間-鑫生活

    默認input控件有個圓圓的顏色為#34538b的背景,我們點擊下拉,結果,擦,展開的web色面板:
    web色面板效果截圖 張鑫旭-鑫空間-鑫生活

    點擊下面有“其他…”字樣的按鈕,結果,噌,展開了華麗的顏色選擇面板:
    華麗的顏色選擇面板截圖 張鑫旭-鑫空間-鑫生活

    很酷,關鍵使用很方便,哦呵呵。

    您可以狠狠地點擊這里:HTML5表單之color顏色選擇控件demo

    5. type=search
    就是搜索功能,我記得什么時候看到search類型的input框里面會自動有搜索的放大鏡圖標的。不過,這次測試沒有見到(難道是在夢境中),此屬性的UI效果很低調,很冷淡。在webkit核心的瀏覽器下,有值的時候,輸入框后面會有個漸變的很性感的叉號,如下圖:
    search類型的HTML空間樣式 張鑫旭-鑫空間-鑫生活

    其他我就沒有發現什么特別之處,所以,這個就提這么點。您可以狠狠地點擊這里:HTML5 search類型控件demo

    6. <datalist>元素和list屬性
    datalist是個很稀奇的元素,實現數據列表下拉效果的,UI風格有點類似于autocomplete。
    autocomplete下拉風格 張鑫旭-鑫空間-鑫生活

    舉個簡單例子:
    如下HTML代碼:

    列表:<input type="text" list="mydata" placeholder="熱門電影排行" />
    <datalist id="mydata">
    <option label="Top1" value="讓子彈飛">
    <option label="Top2" value="非誠勿擾2">
    <option label="Top3" value="大笑江湖">
    <option label="Top4" value="趙氏孤兒">
    <option label="Top5" value="初戀這件小事">
    </datalist>
    

    結果輸入框獲得焦點后效果如下:
    datalist下拉效果截圖 張鑫旭-鑫空間-鑫生活

    這玩意,這屬性是個好東西,不要溜達了一圈發現,還只在最新的Opera瀏覽器下有效果,其他瀏覽器日后是否支持,不得而知。

    三、HTML5表單驗證與CSS3

    伴隨著HTML5,CSS3的選擇器部分也出現了一些新的偽類,例如:

    • :required 和 : optional,指表單元素內容是可選的還是必填的
    • :valid 和 :invalid 表示填入的數據是有效的還是無效的,例如email類型的input框就需要是有效的郵箱格式
    • in-range 和 : out-of-range, 這適用于range類型的input控件,當其有min或是max范圍限制的時候

    舉個例子,如下CSS與HTML代碼:

    input[type=text]:focus:valid,
    input[type=email]:focus:valid,
    input[type=number]:focus:in-range { outline: 2px green solid; }
    input[type=text]:focus:invalid,
    input[type=email]:focus:invalid,
    input[type=number]:focus:out-of-range { outline: 2px red solid; }
    
    <p>普通輸入框:<input type="text" /></p>
    <p>郵件輸入框:<input type="email" /></p>
    <p>數值輸入框:<input type="number" min=0 max=10 /> (0~10)</p>
    

    以郵件輸入框舉例,當輸入文字不是合法郵箱時,輸入框外輪廓會顯示紅色警示邊框:
    不合法郵箱的邊框效果 張鑫旭-鑫空間-鑫生活

    隨著字符的輸入,當郵箱合法的時候,邊框紅色就會刷得一下變成安全的綠色邊框:
    郵箱格式合乎要求時的效果 張鑫旭-鑫空間-鑫生活

    驗證工作,以及相關的樣式顯示等都由瀏覽器和CSS完成了。我想到了10年以后,哇,那是的web,一切是那么的美好。

    四、匆匆結語

    HTML5表單的一些其他特性,例如required, autofocus, placeholder,pattern等屬性在“你必須知道的28個HTML5特征、竅門和技術”一文中已經有所展示與講解,所以這里就不贅述了。

    如果您對HTML5感興趣,我個人建議先看之前的那個28個什么什么的文章,本文的內容可以說是對其某一點(其他HTML5表單新特征)的進一步完善與補充。前者是大頭,本文充其量是個高級別的打醬油的。

    最后,由于都是HTML5的些東西,如果您現在手頭上正在折騰的瀏覽器是IE之流,即使你讓你的瀏覽器再飛一會兒,也不會看到這些矚目的效果的。所以,建議移步最新版本的現代瀏覽器。

    參考文章:
    New form features in HTML5:http://dev.opera.com/articles/view/new-form-features-in-html5/

    原創文章,轉載請注明來自張鑫旭-鑫空間-鑫生活[http://www.zhangxinxu.com]
    本文地址: http://www.zhangxinxu.com/wordpress/?p=1379


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲av最新在线观看网址| 亚洲av丰满熟妇在线播放| 亚洲国产精品yw在线观看| 免费视频成人手机在线观看网址| 久久久久无码专区亚洲av| 五月婷婷免费视频| 黑人大战亚洲人精品一区| 国产精品成人69XXX免费视频| 亚洲精品成人a在线观看| 国产免费牲交视频免费播放| 亚洲人成无码久久电影网站| 男女拍拍拍免费视频网站| 亚洲人色婷婷成人网站在线观看| 成在人线av无码免费高潮喷水| 亚洲AV永久纯肉无码精品动漫 | 国产成人精品免费视频大全| 亚洲一区二区视频在线观看| 最好免费观看高清在线| 亚洲国产精品成人精品小说| 18禁无遮挡无码网站免费| 亚洲AV成人片无码网站| 国产亚洲精品福利在线无卡一| 国产精品免费无遮挡无码永久视频 | 在线视频免费国产成人| 污网站在线免费观看| 国产专区一va亚洲v天堂| 久久久久久影院久久久久免费精品国产小说| 久久精品国产亚洲AV高清热| 最新猫咪www免费人成| 黄色网址免费在线| 亚洲AV无码成人精品区蜜桃| 色se01短视频永久免费| 国产区图片区小说区亚洲区| 久久亚洲伊人中字综合精品| 毛片免费观看网址| 免费看少妇高潮成人片| 亚洲jizzjizz在线播放久| 亚洲七七久久精品中文国产| 国产2021精品视频免费播放| 精品国产亚洲AV麻豆| 亚洲91av视频|