自定义美化的下拉选择框_html/css_WEB-ITnose
这是一款使用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>
我们需要将它转换为下面的结构:
<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>
我们保留实际的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;}
在demo中我们使用了下面的字体图标: Ionicons和 Font Awesome。
其中一个demo中使用的SVG国旗是Sean Herron的 Flag Webicons Set。
其它demo的效果你可以通过下载文件中的CSS文件来查看。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

公众号网页更新缓存,这玩意儿,说简单也简单,说复杂也够你喝一壶的。你辛辛苦苦更新了公众号文章,结果用户打开还是老版本,这滋味,谁受得了?这篇文章,咱就来扒一扒这背后的弯弯绕绕,以及如何优雅地解决这个问题。读完之后,你就能轻松应对各种缓存难题,让你的用户始终体验到最新鲜的内容。先说点基础的。网页缓存,说白了就是浏览器或者服务器为了提高访问速度,把一些静态资源(比如图片、CSS、JS)或者页面内容存储起来。下次访问时,直接从缓存里取,不用再重新下载,速度自然快。但这玩意儿,也是个双刃剑。新版本上线,

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文展示了使用CSS为网页中添加有效的PNG边框。 它认为,与JavaScript或库相比,CSS提供了出色的性能,详细介绍了如何调整边界宽度,样式和颜色以获得微妙或突出的效果

本文讨论了html&lt; datalist&gt;元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML&lt; Progress&gt;元素,其目的,样式和与&lt; meter&gt;元素。主要重点是使用&lt; progress&gt;为了完成任务和LT;仪表&gt;对于stati

本文解释了HTML5&lt; time&gt;语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

本文讨论了HTML&lt; meter&gt;元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了&lt; meter&gt;从&lt; progress&gt;和前
