整合營銷服務商

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

          免費咨詢熱線:

          使用CSS3做一個帶動畫的下拉列表,來學習一下吧


          下拉列表select在表單中應該算是使用頻率比較高的一個元素,而我們也知道頁面上默認的select標簽樣式是很難看的。基本所有的團隊都會選擇使用Bootstrap或者自己封裝一個下拉列表的組件,今天我們也試著使用CSS3新特性來寫一個帶動畫效果的下拉列表樣式吧。

          CSS3

          感興趣的可以自行去github上學習源碼,github地址如下。

          https://github.com/zhouxiongking/article-pages/blob/master/articles/dropdown/dropdown.html

          頁面效果

          首先,我們來看看帶動畫效果的下拉列表效果是什么樣的,如下圖所示。

          效果圖

          頁面組成

          這里我們簡單分析下頁面的構成,實際上非常的簡單,主要包含以下三個元素。

          1. 表示外層容器的div元素

          2. 上面是一個span元素

          3. 下面是一個ul元素,每個li表示一個列表項

          在整個下拉列表中,主要有兩個動畫。

          1. 下拉菜單旁邊的小三角圖標,在鼠標懸浮和離開時動態變換

          2. 下方的列表,在鼠標懸浮和離開上面的span元素時,列表會有動畫顯示和消失的效果。

          代碼構成

          下面我們來看看整個頁面的代碼構成。

          • HTML

          首先是頁面的HTML代碼,正如上一部分所講,頁面主要為一個外層容器div,內部是一個span和ul元素,每個列表項li內包含一個a元素,所有HTML部分代碼如下所示。

          HTML代碼

          • CSS

          CSS部分的代碼才是整個實現效果的核心,我們具體來分析。

          首先是頁面的全局基本配置樣式。

          全局配置

          然后是外層容器的樣式。

          外層容器樣式

          然后是span元素的樣式,旁邊的上三角形通過偽元素::after來實現,在::after偽元素中通過border-color屬性來控制三角形的朝向,然后通過transition屬性設置變換樣式。

          span元素以及上三角形

          當鼠標停留在span元素上時,span元素背景色會改變,上三角會變成下三角。

          鼠標停留后span的樣式

          緊接著是下面的ul以及li元素的樣式,都是一些很普通的屬性。

          ul與li樣式

          然后是li下的a元素的樣式。

          li下a元素樣式

          然后是css中最核心的地方,ul的動畫效果,通過translate3d屬性改變ul所處的位置,再以transform屬性添加動畫效果。

          ul初始狀態

          至此,所有代碼講解完畢,如果運行成功后,會得到文章開始時的下拉列表效果。

          結束語

          本篇文章主要給大家介紹了如何使用CSS編寫一個帶動畫的下拉列表效果,你學會了嗎?


          下拉列表select在表單中應該算是使用頻率比較高的一個元素,而我們也知道頁面上默認的select標簽樣式是很難看的。基本所有的團隊都會選擇使用Bootstrap或者自己封裝一個下拉列表的組件,今天我們也試著使用CSS3新特性來寫一個帶動畫效果的下拉列表樣式吧。

          CSS3

          感興趣的可以自行去github上學習源碼,github地址如下。

          https://github.com/zhouxiongking/article-pages/blob/master/articles/dropdown/dropdown.html

          頁面效果

          首先,我們來看看帶動畫效果的下拉列表效果是什么樣的,如下圖所示。

          效果圖

          頁面組成

          這里我們簡單分析下頁面的構成,實際上非常的簡單,主要包含以下三個元素。

          1. 表示外層容器的div元素

          2. 上面是一個span元素

          3. 下面是一個ul元素,每個li表示一個列表項

          在整個下拉列表中,主要有兩個動畫。

          1. 下拉菜單旁邊的小三角圖標,在鼠標懸浮和離開時動態變換

          2. 下方的列表,在鼠標懸浮和離開上面的span元素時,列表會有動畫顯示和消失的效果。

          代碼構成

          下面我們來看看整個頁面的代碼構成。

          • HTML

          首先是頁面的HTML代碼,正如上一部分所講,頁面主要為一個外層容器div,內部是一個span和ul元素,每個列表項li內包含一個a元素,所有HTML部分代碼如下所示。

          HTML代碼

          • CSS

          CSS部分的代碼才是整個實現效果的核心,我們具體來分析。

          首先是頁面的全局基本配置樣式。

          全局配置

          然后是外層容器的樣式。

          外層容器樣式

          然后是span元素的樣式,旁邊的上三角形通過偽元素::after來實現,在::after偽元素中通過border-color屬性來控制三角形的朝向,然后通過transition屬性設置變換樣式。

          span元素以及上三角形

          當鼠標停留在span元素上時,span元素背景色會改變,上三角會變成下三角。

          鼠標停留后span的樣式

          緊接著是下面的ul以及li元素的樣式,都是一些很普通的屬性。

          ul與li樣式

          然后是li下的a元素的樣式。

          li下a元素樣式

          然后是css中最核心的地方,ul的動畫效果,通過translate3d屬性改變ul所處的位置,再以transform屬性添加動畫效果。

          ul初始狀態

          至此,所有代碼講解完畢,如果運行成功后,會得到文章開始時的下拉列表效果。

          結束語

          本篇文章主要給大家介紹了如何使用CSS編寫一個帶動畫的下拉列表效果,你學會了嗎?

          TML 背景

          設置背景顏色<body bgcolor="#000000">

          設置背景圖片<body background="bg.jpg">

          設置頁面文字顏色<body text="#cccccc">

          顏色屬性值有三種值的格式

          1,英文單詞,比如 red , yellow ,green …

          <body bgcolor="yellow">

          2, 十六進制表示方式,#開頭,6個十六進制的字符或數字 組合

          比如:#FFFFFF,#000000,#CCCAAA,#22BCAD

          十六進制: 0-9 和 a-f

          3, RGB模式,紅 0-255,綠 0-255,藍 0-255

          比如: RGB(120,33,234)

          HTML 表單

          表單是一個包含表單元素的區域。

          表單能夠包含 input 元素,textarea、select、fieldset、legend 和 label 元素。

          表單使用標簽(<form>)定義。

          表單用于向服務器傳輸數據。

          表單的結構

          <form name="form1" action="URL" method="get">

          用戶名:<input type="text" name="uname" />

          密 碼:<input type="password" name="passwd" />

          </form>

          屬性說明

          name表單的名稱

          action表單提交地址

          method表單數據提交的方式 (get ,post)

          enctypeMIME類型

          target打開方式

          input標簽

          屬性說明

          typeinput元素類型

          nameinput 元素的名稱

          valueinput 元素的值

          sizeinput 元素的寬度

          readonly是否只讀

          maxlength輸入字符的最大長度

          disabled是否禁用

          1.文本框

          <input type="text" name="username" value="" />

          2.密碼框

          <input type="password" name="passwd"/>

          3.單選按鈕

          <input type="radio" name="sex"value="1"checked="checked" />男

          <input type="radio" name="sex"value="0"/>女

          4.復選框

          <input type="radio" name="sex"value="1"checked="checked" />男

          <input type="radio" name="sex"value="0"/>女

          <input type="checkbox"name="love"value="music" checked="checked"/> 聽音樂

          <input type="checkbox"name="love" value="movie"/> 看電影

          <input type="checkbox"name="love" value="game"/> 玩游戲

          5.按鈕

          <input type="button" name="btn" value="確定"/>

          <input type="submit" name="comit" value="提交"/>

          <input type="reset" name="reset" value="重寫"/>

          <input type="image" name="img_btn" src="btn.gif"/>

          6. 隱藏域

          隱藏域用于在程序發送沒有必要讓用戶看到特定值的時候使用。

          <input type="hidden" name="uid" value="10"/>

          7. 上傳文件

          <input type="file" name="photo"/>

          注:利用這項功能時,在 form 標簽中要指定method屬性。要把method 指定為post, enctype屬性指定為 multipart/form-data。

          <textarea> 多行文本框

          <textarea name="content" rows="5" cols="50"> </textarea>

          屬性說明

          name元素的名稱

          rows指定文本框的高度

          cols指定文本框的寬度

          select下拉列表框

          <select name="city">

          <option value="0">請選擇</option

          <option value="bj">北京</option>

          <option value="gz">廣州</option>

          </select>

          屬性說明

          name下拉列表框的名稱

          size下拉列表框的顯示行數

          multiple是否多選

          disabled是否禁用

          selected設置默認選中的選項

          value選項的值

          optgroup標簽

          optgroup 元素用于組合選項 。

          屬性說明

          label指定組合選項名稱

          fieldset標簽

          fieldset 標簽作用是把表單中元素組合起來

          <fieldset>

          <legend></legend> length為字符長度

          <form></form>

          </fieldset>

          label標簽

          lable 標簽的作用是將輸入項或選項及其標簽文字關聯起來。

          <input type="radio" name="sex" value="1" id="male" />

          <label for="male">男</label>

          <input type="radio" name="sex" value="0" id="female" />

          <label for="female">女</label>


          主站蜘蛛池模板: 美女免费视频一区二区| 国产精品亚洲专一区二区三区| 一区二区在线免费视频| 亚洲av无码片区一区二区三区| 国产一区二区三区在线免费观看| 超清无码一区二区三区| 精品视频在线观看你懂的一区 | 午夜AV内射一区二区三区红桃视| 色视频综合无码一区二区三区| 老熟女五十路乱子交尾中出一区| 狠狠做深爱婷婷久久综合一区| 精品亚洲A∨无码一区二区三区| 中文字幕无码一区二区免费| 久久免费视频一区| 精彩视频一区二区| 丝袜美腿一区二区三区| 日本在线视频一区二区| 无码一区二区三区视频| 一区二区乱子伦在线播放| 中文字幕无线码一区| 精品一区二区三区免费观看| 糖心vlog精品一区二区三区| 日韩内射美女人妻一区二区三区| 精品国产一区二区三区香蕉| 日本一区免费电影| 国产精品毛片VA一区二区三区| 亚洲av无码一区二区三区观看| 国产成人精品一区二区A片带套| 一区二区视频免费观看| 精品在线视频一区| 精品福利一区二区三区| 国产美女露脸口爆吞精一区二区| 精品人妻一区二区三区四区| 一区二区三区视频观看| 上原亚衣一区二区在线观看| 亚洲AV无码一区二区乱子伦| 亚洲电影唐人社一区二区| 免费看无码自慰一区二区| 日韩精品一区二三区中文| 国产一区二区三区视频在线观看| 国产一区二区精品久久91 |