CSS3技術(shù)實(shí)現(xiàn)下酷炫拉框

2024-04-05    分類: 網(wǎng)站建設(shè)

這篇文章給大家介紹的是一個(gè)利用CSS3實(shí)現(xiàn)的酷炫的下拉框,實(shí)現(xiàn)后效果真的非常不錯(cuò),文中給出了詳細(xì)實(shí)現(xiàn)過程和示例代碼,接下來就由成都網(wǎng)站建設(shè)工程師為大家詳細(xì)介紹。

成都網(wǎng)站建設(shè)

可見,我們并沒有利用原生的 select 元素,而是利用其它元素來模擬這個(gè)效果。我們?yōu)?li 元素指定了 data-value,主要是接下來我們會(huì)用 JQuery 獲取選中值并將其放置到 p 元素下。

下面逐步來看 CSS 代碼。

成都網(wǎng)站建設(shè)

1、設(shè)置 p 和 ul 元素的背景顏色和邊框等設(shè)置。

2、為 p 元素單獨(dú)指定樣式,并設(shè)置其 position 屬性,主要是為了下面繪制右側(cè)的下拉按鈕。

3、利用 :after 在p 元素的右方繪制下拉按鈕,可以看出來,我們是利用左下邊框然后旋轉(zhuǎn) -45 度 模擬的這個(gè)效果。值得注意的是,我們需要將其 display 設(shè)置為 block,并且設(shè)置寬高,否則看不到這個(gè)效果。

成都網(wǎng)站建設(shè)

1、設(shè)置 ul 的一些默認(rèn)屬性,并將其設(shè)置大寬度為 0,指定 overflow-y 為 auto ,這個(gè)時(shí)候ul 將會(huì)被隱藏。

2、在這里設(shè)置的時(shí)候我遇到了一個(gè)問題,就是 li 標(biāo)簽始終占不滿 ul 的一行,那是因?yàn)槠淠J(rèn)有 margin 和 padding ,所以在一開始的時(shí)候就將網(wǎng)頁中所有元素的外邊距和內(nèi)邊距設(shè)置成了 0。

成都網(wǎng)站建設(shè)

1、為 open 設(shè)置大高度,并為其指定動(dòng)畫效果。

2、將下拉按鈕旋轉(zhuǎn) -225 度,并為其指定動(dòng)畫。

下面我們看看為 ul 元素指定的 slide-down 動(dòng)畫效果,這也是這個(gè)下拉特效的關(guān)鍵所在。

成都網(wǎng)站建設(shè)

看到以上代碼可能就都明白了,就是不斷改變 ul 的大小,讓其在 0.75-1.25 之間進(jìn)行縮放,所以就會(huì)有那個(gè)跳動(dòng)的效果了。

下面還有一些簡單的 CSS 代碼,不再解釋。

成都網(wǎng)站建設(shè)

CSS 講完了,下面就可以看看我們是如何利用 JQuery 控制這個(gè)效果的。

成都網(wǎng)站建設(shè)

1、首先為 p 標(biāo)簽綁定 click 事件,在觸發(fā)的時(shí)候,為 select 添加或移除 open class, 也就是將 ul 顯示出來。

2、為 li 綁定 click 事件,當(dāng)選中了一個(gè) li 元素的時(shí)候,首先獲取到 data-value,然后將其賦值給 p 標(biāo)簽,然后為選中的 li 添加 selected class,與此同時(shí)利用 siblings() 方法,讓兄弟節(jié)點(diǎn)的 selected class 移除。

3、為 document 設(shè)置click 事件,當(dāng)我們點(diǎn)擊網(wǎng)頁中任何一處地方的時(shí)候,如果 ul 是打開的,就將其關(guān)閉,不過這個(gè)時(shí)候由于所有元素都在 document 內(nèi),所以我們需要阻止事件冒泡,調(diào)用自己寫的 cancelbubble() 方法。

以上關(guān)于CSS3技術(shù)實(shí)現(xiàn)下酷炫拉框均屬成都網(wǎng)站建設(shè)工程師的個(gè)人觀點(diǎn),大家如果對(duì)此有著不同的見解,可以關(guān)注公眾號(hào)“創(chuàng)新互聯(lián)”給我留言,大家可以交流一下自己的心德體會(huì),共同學(xué)習(xí)進(jìn)步。

新聞名稱:CSS3技術(shù)實(shí)現(xiàn)下酷炫拉框
URL網(wǎng)址:http://www.muchs.cn/news20/322370.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、做網(wǎng)站、標(biāo)簽優(yōu)化、全網(wǎng)營銷推廣、外貿(mào)建站、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)