這篇文章給大家介紹的是一個利用CSS實現的酷炫的下拉框,實現後效果真的非常不錯,文中給出了詳細實現過程和示例代碼,感興趣的朋友們下面來一起看看吧。
首先來看看要實現的效果圖
#想要製作這麼一個效果還是比較麻煩的,但是程式碼並不難理解。
首先,來看看 Html 程式碼。
XML/HTML Code#複製內容到剪貼簿
##<p class="container"#>
<p class="heading"#>
<#h2>
Custom Select##h2
p> <p class= < Please select<lt//; p> #<#ul#>
<li data-value ##>HTML5li#>
#li data-value="CSS3">CSS3#li > li data-value#li data-value #"JavaScript">JavaScript#li
<li data-value=#"JQuery"
#"JQuery">#< /li
># <
#<#< #<
### -value###=###"Backbone"######>###Backbone#########li######>##### ########## #########ul######>############## ################### #################### ;/######p######>########################p###########################p##### #>#######可見,我們並沒有利用原生的 select 元素,而是利用其它元素來模擬這個效果。我們為 li 元素指定了 data-value,主要是接下來我們會用 JQuery 取得選取值並將其放置到 p 元素下。
以下逐步來看 CSS 程式碼。
CSS Code#複製內容到剪貼簿
margin: 0;
#padding##: #
#}
html {
# #font -family: 'Terminal';
font-size: 62.5%;
}
body {
background-colorcolor##
#:##1、網頁中所有元素的外邊距與內邊距設定為0。
2、將網頁中的預設字體設定為 Terminal,字體大小設定為 62.5%, 也就是 10px。
3、設定背景顏色為 #33CC66。
XML/HTML Code
#複製內容到剪貼簿<link
'http://fonts.googleapis.com/css?family=Lobster|Terminal+Dosis'
rel
='stylesheet'
type
='text/css'
上面我們用到了Terminal 字體,而且接下來我們還會使用Lobster 字體,所以用這行程式碼加入引用。
2、修改 heading 的寬度,主要是為了讓其寬度大於 select 的寬度,顯得更美觀。然後指定其上外邊距和下外邊距。
CSS Code
.select > p, .select ul {
background-color: #fffffff##; #:
#ffffff##of ##font-size: 2rem;
#: 1px
solque; # bisque; # bisque;border
;
; }
#.select > text-align
#:##1
## position#: relative
;right-radius: 0;
######### ###border-bottom###-####left###-radius: #0; # ########### ###cursor###: ###pointer###; ####color#: rgba(102, 102, 102, .6);
#display
:display: #; ##
width;
#: '';
# ##;
1# : 2rem;
border-left:
1px##33CC66## transform: rotate(-45deg);
## } #1、設定p 和ul 元素的背景色彩和邊框等設定。 2、為 p 元素單獨指定樣式,並設定其 position 屬性,主要是為了在下面繪製右側的下拉按鈕。
CSS Code複製內容到剪貼簿
margin-top: 0;
border-top
-border-top
-#left
-radius: 0;
-#right-radius: 0;
#
list-style-type;
# # : pointer;
-y: auto;
##做什麼#
max-height.3s ease-out;
#}.select ul li {
: 0.5rem; #
display; ##line-height
: 3rem;# text-align: left
;CSS Code#複製內容到剪貼簿
.select.open ul {
max-height: 20rem;
transform-origin: 50% 0;
.select.open > p:after {
position#: absolute;
absolute;
1112
: 1.6rem;
transform: rotate(-225deg);
很難#很難#很難# : transform .3s ease-in,
#top2、將下拉按鈕旋轉 -225 度,並為其指定動畫。
CSS Code
#
}trans
} 看到上述程式碼可能就都明白了,就是不斷改變ul 的大小,讓其在0.75-1.25 之間進行縮放,所以就會有那個跳動的效果了。
CSS Code複製內容到剪貼簿
#background-color
##: rgba(102, 153, 102, 0.8);} CSS 完成了,以下就可以看看我們如何利用JQuery控制這個效果的。
XML/HTML Code#複製內容到剪貼簿
<script src
=###"http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"### ###>############script######>###############下面就可以使用JQuery 了。 ##################XML/HTML Code#######複製內容到剪貼簿######腳本>
$(文檔).ready (function () {
$('.select ul li').on("click", function (e) {
var _this = $(this);
att $('.select #>p').text(_this.attr('資料值' )); $('.select').toggleClass('open');
cancelBubble(e); ##o
##
$('.select
>
# 1、先為p標籤綁定點擊事件,在觸發的時候,為選擇新增或刪除開放類,也
以上是如何利用CSS技術實現下拉框酷炫的特效的詳細內容。更多資訊請關注PHP中文網其他相關文章!