Table des matières
HTML结构
CSS
Maison interface Web tutoriel HTML 自定义美化的下拉选择框_html/css_WEB-ITnose

自定义美化的下拉选择框_html/css_WEB-ITnose

Jun 21, 2016 am 08:53 AM

这是一款使用HTML5 SVG和CSS3制作的非常棒的select下拉菜单美化效果。我们可以通过JavaScript来将表单中元素修改为更加好看的样式,甚至是更复杂的表单元素,例如select下拉菜单。我们可以有非常多的表单美化方案,使用户可以得到更加好的用户体验。

查看演示 下载源码

HTML结构

我们现在来看一下select下拉菜单的Html结构:。

<select class="cs-select cs-skin-rotate">  <option value="" disabled selected>Choose your option</option>  <option value="1">Option 1</option>  <option value="2">Option 2</option>  <option value="3">Option 3</option></select>
Copier après la connexion

我们需要将它转换为下面的结构:

<div class="cs-select cs-skin-rotate">  <span class="cs-placeholder">Choose your option</span>  <div class="cs-options">    <ul>      <li data-option data-value="1" class="cs-selected"><span>Option 1</span></li>      <li data-option data-value="2"><span>Option 2</span></li>      <li data-option data-value="3"><span>Option 3</span></li>    </ul>  </div>  <select class="cs-select cs-skin-rotate">    <option value="" disabled selected>Choose your option</option>    <option value="1">Option 1</option>    <option value="2">Option 2</option>    <option value="3">Option 3</option>  </select></div>
Copier après la connexion

我们保留实际的select元素是因为我们需要它来选择元素值。

placeholder占位符被设置为disabled,并且设置为空值。它是一个可选项,可以不使用它,这时,第一个列表选项将被显示或者是有“selected”属性的列表项将被显示。

我们可以为select元素设置一个 data-link 或 data-class 属性。 data-link 属性运行在点击列表项时打开一个动态链接。 data-class 属性可以为列表项自定义一个class。

CSS

所有demo的基本样式都定义在cs-select.css文件中。这里我们定义了select下拉菜单的基本样式,使它看起来有扁平化的效果。下面的CSS样式是border效果的select下拉菜单样式效果:

@font-face {  font-family: 'icomoon';  src:url('../fonts/icomoon/icomoon.eot?-rdnm34');  src:url('../fonts/icomoon/icomoon.eot?#iefix-rdnm34') format('embedded-opentype'),    url('../fonts/icomoon/icomoon.woff?-rdnm34') format('woff'),    url('../fonts/icomoon/icomoon.ttf?-rdnm34') format('truetype'),    url('../fonts/icomoon/icomoon.svg?-rdnm34#icomoon') format('svg');  font-weight: normal;  font-style: normal;} div.cs-skin-border {  background: transparent;  font-size: 2em;  font-weight: 700;  max-width: 600px;} @media screen and (max-width: 30em) {  .cs-skin-border { font-size: 1em; }} .cs-skin-border > span {  border: 5px solid #000;  border-color: inherit;  transition: background 0.2s, border-color 0.2s;} .cs-skin-border > span::after,.cs-skin-border .cs-selected span::after {  font-family: 'icomoon';  content: '\e000';} .cs-skin-border ul span::after {  content: '';  opacity: 0;} .cs-skin-border .cs-selected span::after {  content: '\e00e';  color: #ddd9c9;  font-size: 1.5em;  opacity: 1;  transition: opacity 0.2s;} .cs-skin-border.cs-active > span {  background: #fff;  border-color: #fff;  color: #2980b9;} .cs-skin-border .cs-options {  color: #2980b9;  font-size: 0.75em;  opacity: 0;  transition: opacity 0.2s, visibility 0s 0.2s;} .cs-skin-border.cs-active .cs-options {  opacity: 1;  transition: opacity 0.2s;} .cs-skin-border ul span {  padding: 1em 2em;  backface-visibility: hidden;} .cs-skin-border .cs-options li span:hover,.cs-skin-border li.cs-focus span {  background: #f5f3ec;}
Copier après la connexion

在demo中我们使用了下面的字体图标: Ionicons和 Font Awesome。

其中一个demo中使用的SVG国旗是Sean Herron的 Flag Webicons Set。

其它demo的效果你可以通过下载文件中的CSS文件来查看。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quel est le but du & lt; Progress & gt; élément? Quel est le but du & lt; Progress & gt; élément? Mar 21, 2025 pm 12:34 PM

L'article traite du HTML & lt; Progress & GT; élément, son but, son style et ses différences par rapport au & lt; mètre & gt; élément. L'objectif principal est de l'utiliser & lt; Progress & gt; pour l'achèvement des tâches et & lt; mètre & gt; pour stati

Quel est le but du & lt; datalist & gt; élément? Quel est le but du & lt; datalist & gt; élément? Mar 21, 2025 pm 12:33 PM

L'article traite du HTML & lt; Datalist & GT; élément, qui améliore les formulaires en fournissant des suggestions de saisie semi-automatique, en améliorant l'expérience utilisateur et en réduisant les erreurs. COMMANDE COMPRES: 159

HTML est-il facile à apprendre pour les débutants? HTML est-il facile à apprendre pour les débutants? Apr 07, 2025 am 12:11 AM

HTML convient aux débutants car il est simple et facile à apprendre et peut rapidement voir les résultats. 1) La courbe d'apprentissage de HTML est fluide et facile à démarrer. 2) Il suffit de maîtriser les balises de base pour commencer à créer des pages Web. 3) Flexibilité élevée et peut être utilisée en combinaison avec CSS et JavaScript. 4) Les ressources d'apprentissage riches et les outils modernes soutiennent le processus d'apprentissage.

Quel est le but du & lt; mètre & gt; élément? Quel est le but du & lt; mètre & gt; élément? Mar 21, 2025 pm 12:35 PM

L'article traite du HTML & lt; mètre & gt; élément, utilisé pour afficher des valeurs scalaires ou fractionnaires dans une plage, et ses applications courantes dans le développement Web. Il différencie & lt; mètre & gt; De & lt; Progress & gt; et ex

Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Mar 20, 2025 pm 06:05 PM

L'article traite du & lt; iframe & gt; L'objectif de Tag dans l'intégration du contenu externe dans les pages Web, ses utilisations courantes, ses risques de sécurité et ses alternatives telles que les balises d'objet et les API.

Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Mar 20, 2025 pm 05:56 PM

L'article traite de la balise Meta de la fenêtre, essentielle pour la conception Web réactive sur les appareils mobiles. Il explique comment une utilisation appropriée garantit une mise à l'échelle optimale du contenu et une interaction utilisateur, tandis que la mauvaise utilisation peut entraîner des problèmes de conception et d'accessibilité.

Les rôles de HTML, CSS et JavaScript: responsabilités de base Les rôles de HTML, CSS et JavaScript: responsabilités de base Apr 08, 2025 pm 07:05 PM

HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

Quel est un exemple d'une balise de départ dans HTML? Quel est un exemple d'une balise de départ dans HTML? Apr 06, 2025 am 12:04 AM

Anexampleofastartingtaginhtmlis, qui abinginsaparagraph.startingtagsaressentialtinhtmlastheyinitiateelements, définit les éventualités, et la faculté de réduction des pages et de la construction de la création.

See all articles