Cet article vous présente une liste déroulante sympa implémentée en utilisant CSS. L'effet après la mise en œuvre est vraiment bon. Le processus de mise en œuvre détaillé et un exemple de code sont donnés dans l'article. Les amis intéressés peuvent y jeter un œil ci-dessous. un regard.
Regardons d'abord les rendus à réaliser
Je souhaite faire un tel L'effet est toujours fastidieux, mais le code n'est pas difficile à comprendre.
Tout d’abord, jetons un coup d’œil au code HTML.
Code XML/HTMLCopier le contenu dans le presse-papiers
<p classe="conteneur">
<p classe="titre">
<h2>Sélection personnaliséeh2> ;
p>
<p class="select">
<p>Veuillez sélectionner p>
<
donnée-valeur="HTML5">HTML5li > <
donnée-valeur="CSS3">CSS3li > >"JavaScript"
>li> <li data-value="JQuery"
>li> <li data -value="Backbone"
>li> ul>
p>
p> ;
On voit que nous n'utilisons pas l'élément select natif, mais utilisons d'autres éléments pour simuler cet effet. Nous avons spécifié data-value pour l'élément li, principalement parce que nous utiliserons JQuery pour obtenir la valeur sélectionnée et la placerons sous l'élément p.
Regardons le code CSS étape par étape.
Code CSSCopier le contenu dans le presse-papiers
* {
marge : 0
rembourrage :
<🎜 >police - famille : 'Terminal'
}
:
#33CC66} Réglez sur 0. 2. Définissez la police par défaut de la page Web sur Terminal et la taille de la police sur 62,5 %, soit 10 px.
Code XML/HTML
Copier le contenu dans le presse-papiers
lien href=
'http://fonts.googleapis.com/css?family=Lobster|Terminal+Dosis'='stylesheet' type='text/css'> Nous avons utilisé la police Terminal ci-dessus, et nous utiliserons également la police Lobster ensuite, utilisez donc cette ligne de code pour ajouter une référence. 1. Précisez le titre, sélectionnez la largeur et précisez son centrage horizontal. 2. Modifiez la largeur du titre, principalement pour le rendre plus large que la sélection et plus beau. Précisez ensuite ses marges supérieure et inférieure. 3. Définissez la police, la taille de la police et la couleur de l'élément h2 sous le titre.
Code CSS
Copier le contenu dans le presse-papiers
.select > , .select ul {
couleur de fond :
#ffffff
-rayon : 5px ;
marge inférieure : 0 ;
: gauche ;
:
:
relatif-
droite-rayon : 0 ; 🎜>
curseur : pointeur
;couleur : rgba(102, 102, 102, .6);
}
.select > p:après {
affichage : blocage ;
largeur : 10px ;
hauteur : 10px ;
contenu : '' ;
position : absolue ;
haut : 1,4rem ;
droitedroite : 2rem;
bordure inférieure : 1px solide #33CC66 ;
bordure gauche : 1px solide #33CC66 ;
transformation : rotation (-45 deg);
transition : transformer .3s d'assouplissement, haut .2s d'assouplissement ;
}
1、设置 p 和 ul 元素的背景颜色和边框等设置。
2、为 p元素单独指定样式,并设置其 position 属性,主要是为了下面绘制右侧的下拉按钮。
3、利用 :après 在p元素的右方绘制下拉按钮,可以看出来,我们是利用-45 度 模拟的这个效果。值得注意的是, 们需要将其 display 设置为 block, 并且设置宽高,否则看不到 这个效果。
Code CSS复制内容到剪贴板
.select ul {
marge supérieure : 0 ;
bordure-haut-gauche-radius : 0 ;
bordure-haut-droitedroite-radius : 0 ;
list-style-type : aucun ;
curseur : pointeur ;
débordement-y : auto;
hauteur maximale : 0 ;
transition : hauteur maximale 0,3 s d'assouplissement ;
}
.select ul li {
remplissage à gauche : 0,5rem ;
affichage : bloc ;
hauteur de la ligne : 3rem ;
text-align : gauche ;
}
1、设置 ul 的一些默认属性,并将其设置最大宽度为 0,指定 overflow-y为 auto ,标签始终占不满ul 的一行,那是因为其默认有 margin et padding ,所以在一开始的时候就将网页中所有元素的外边距和内边距设置成了 0。
Code CSSCopier le contenu dans le presse-papiers
.select.open ul {
hauteur maximale : 20rem
-webkit- animation : introduction coulissante .5s
}
.select .open > p:après {
: transformation : rotation (-225 deg);
transition : transformation en facilité de 0,3 s, haut en entrée d'aisance en 0,2 s
}
1. est ouvert Définissez la hauteur maximale et animez-la. 2. Faites pivoter le bouton déroulant de -225 degrés et attribuez-lui une animation.
Code CSS
Copier le contenu dans le presse-papiers
@-webkit- images clés slide-down {
0% {
Vous trouverez ci-dessous quelques codes CSS simples, que je n'expliquerai pas davantage.
Copier le contenu dans le presse-papiers
couleur de fond
: rgba (102, 153, 102, 0.8);
}
CSS Maintenant que nous avons terminé, regardons comment nous utilisez JQuery pour contrôler cet effet.Code XML/HTML
Copier le contenu dans le presse-papiers=
"http://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"script
Vous pouvez utiliser JQuery ci-dessous .
Copier le contenu dans le presse-papiers <script> $(document).ready (function () { $('.select ul li').on("click", function (e) { var _this = $(this); $('.select >p').text(_this.attr(' valeur de données')); $(_this).addClass('selected').siblings().removeClass('selected'); $('.select').toggleClass('open'); cancelBubble(e); }) ; $('.select>p').on("clic", fonction ( e) { $('.select').toggleClass('open'); event.returnValue = false; script> 总结好了,本文的内容到这就基本介绍了,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。
1、首先为 p 标签绑定 cliquez sur 事件,在触发的时候,为 sélectionnez 添加或移除 classe ouverte,也就是将 ul 显示出来。2、为 li 绑定 click 事件,当选中了一个 li 元素的时候,首先获取到 data-value,然后将其赋值给 p 标签,然后为选中的 li添加 selected class,与此同时利用 siblings() 方法,让兄弟节点的 selected class 移除。3、为 document 设置click 事件,当我们点击网页中任何一处地方的时候,如果 ul Document 内, 所以我们需要阻止事件冒泡,调用自己写的 CancelBubble() 方法。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!