导航菜单

html5和CSS3炫酷select下拉菜单美化效果

阿里云


这是一款使用 html5 svg 和 css3 制作的炫酷 select 下拉菜单美化效果。我们可以通过 JavaScript 库来将表单中的 input 元素修改为更加好看的样式,甚至是更复杂的 input 元素,例如 select 下拉菜单。我们可以有非常多的表单美化方案,使用户可以得到更加好的用户体验。我们的插件中还有一些可以是 input 表单产生动画的插件-jQuery 表单 input 字段提示信息动画特效。

section

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

也想出现在这里?联系我们
创客主机
  1. <select class="cs-select cs-skin-rotate">
  2.   <option value="" disabled selected>Choose your option</option>
  3.   <option value="1">Option 1</option>
  4.   <option value="2">Option 2</option>
  5.   <option value="3">Option 3</option>
  6. </select>

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

  1. <div class="cs-select cs-skin-rotate">
  2.   <span class="cs-placeholder">Choose your option</span>
  3.   <div class="cs-options">
  4.     <ul>
  5.       <li data-option data-value="1" class="cs-selected"><span>Option 1</span></li>
  6.       <li data-option data-value="2"><span>Option 2</span></li>
  7.       <li data-option data-value="3"><span>Option 3</span></li>
  8.     </ul>
  9.   </div>
  10.   <select class="cs-select cs-skin-rotate">
  11.     <option value="" disabled selected>Choose your option</option>
  12.     <option value="1">Option 1</option>
  13.     <option value="2">Option 2</option>
  14.     <option value="3">Option 3</option>
  15.   </select>
  16. </div>

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

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

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

下面还有一些可用参数:

  1. newTab : true,
  2. // open links in new tab (when data-link used in option)
  3.  
  4. stickyPlaceholder : true,
  5. // when opening the select element, the default placeholder (if any) is shown
  6.  
  7. onChange : function( val ) { return false; }
  8. // callback when changing the value

stickyPlaceholder 用于定义当我们打开 select 下拉菜单时,占位文本是否每次都被显示。

section

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

  1. @font-face {
  2.   font-family: 'icomoon';
  3.   src:url('../fonts/icomoon/icomoon.eot?-rdnm34');
  4.   src:url('../fonts/icomoon/icomoon.eot?#iefix-rdnm34') format('embedded-opentype'),
  5.     url('../fonts/icomoon/icomoon.woff?-rdnm34') format('woff'),
  6.     url('../fonts/icomoon/icomoon.ttf?-rdnm34') format('truetype'),
  7.     url('../fonts/icomoon/icomoon.svg?-rdnm34#icomoon') format('svg');
  8.   font-weight: normal;
  9.   font-style: normal;
  10. }
  11.  
  12. div.cs-skin-border {
  13.   background: transparent;
  14.   font-size: 2em;
  15.   font-weight: 700;
  16.   max-width: 600px;
  17. }
  18.  
  19. @media screen and (max-width: 30em) {
  20.   .cs-skin-border { font-size: 1em; }
  21. }
  22.  
  23. .cs-skin-border > span {
  24.   border: 5px solid #000;
  25.   border-color: inherit;
  26.   transition: background 0.2s, border-color 0.2s;
  27. }
  28.  
  29. .cs-skin-border > span::after,
  30. .cs-skin-border .cs-selected span::after {
  31.   font-family: 'icomoon';
  32.   content: '\e000';
  33. }
  34.  
  35. .cs-skin-border ul span::after {
  36.   content: '';
  37.   opacity: 0;
  38. }
  39.  
  40. .cs-skin-border .cs-selected span::after {
  41.   content: '\e00e';
  42.   color: #ddd9c9;
  43.   font-size: 1.5em;
  44.   opacity: 1;
  45.   transition: opacity 0.2s;
  46. }
  47.  
  48. .cs-skin-border.cs-active > span {
  49.   background: #fff;
  50.   border-color: #fff;
  51.   color: #2980b9;
  52. }
  53.  
  54. .cs-skin-border .cs-options {
  55.   color: #2980b9;
  56.   font-size: 0.75em;
  57.   opacity: 0;
  58.   transition: opacity 0.2s, visibility 0s 0.2s;
  59. }
  60.  
  61. .cs-skin-border.cs-active .cs-options {
  62.   opacity: 1;
  63.   transition: opacity 0.2s;
  64. }
  65.  
  66. .cs-skin-border ul span {
  67.   padding: 1em 2em;
  68.   backface-visibility: hidden;
  69. }
  70.  
  71. .cs-skin-border .cs-options li span:hover,
  72. .cs-skin-border li.cs-focus span {
  73.   background: #f5f3ec;
  74. }

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

html5 和 CSS3 炫酷 select 下拉菜单美化效果

已有 607 人购买
  • lwfr
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!