`
yuanjianhang
  • 浏览: 110254 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

select样式美化

阅读更多

制作网页时,表单元素的样式是个比较不容易控制的。很多css属性对表单元素是不支持的,比如我们这里说的下拉列表菜单(select)元素。

这里我们讲解下select元素样式的控制,这里用的是javascript方法,用javascript实现功能,用css样式控制表现,所以说,你要你css够牛,你可以做成任何样子!

 

下面是一个典型的select元素:

<select name="language">
  <option value="English"  selected="selected">English</option>
  <option value="简体中文" >简体中文</option>
  <option value="日本語" >日本語</option>
  <option value="Deutsch" >Deutsch</option>
  <option value="Espa?ol" >Espa?ol</option>
  <option value="Fran?ais" >Fran?ais</option>
  <option value="Italiano" >Italiano</option>
 </select>

 

然后引入javascript文件:

文件在文章后面可以下载,这里我介绍下:

var selects = document.getElementsByTagName('select');

这里找到网页中的select标签,然后在一个函数中动态创建标签:

selects[i].style.display = 'none';
  select_tag = document.createElement('div');
   select_tag.id = 'select_' + selects[i].name;
   select_tag.className = 'select_box';
  selects[i].parentNode.insertBefore(select_tag,selects[i]);

  select_info = document.createElement('div'); 
   select_info.id = 'select_info_' + selects[i].name;
   select_info.className='tag_select';
   select_info.style.cursor='pointer';
  select_tag.appendChild(select_info);

  select_ul = document.createElement('ul'); 
   select_ul.id = 'options_' + selects[i].name;
   select_ul.className = 'tag_options';
   select_ul.style.position='absolute';
   select_ul.style.display='none';
   select_ul.style.zIndex='999';
  select_tag.appendChild(select_ul);

  rOptions(i,selects[i].name);
  
  mouseSelects(selects[i].name);

 

注意,虽然这里用javascript创建了标签,但是此时并没有赋予元素任何样式,样式完全是css文件控制的:

 

#uboxstyle .select_box{width:100px;height:24px;}

#uboxstyle div.tag_select{display:block;color:#79A2BD;width:80px;height:24px;background:transparent url("../images/ubox-select.gif") no-repeat 0 0;padding:0 10px;line-height:24px;}
#uboxstyle div.tag_select_hover{display:block;color:#79A2BD;width:80px;height:24px;background:transparent url("../images/ubox-select.gif") no-repeat 0 -24px;padding:0 10px;line-height:24px;}
#uboxstyle div.tag_select_open{display:block;color:#79A2BD;width:80px;height:24px;background:transparent url("../images/ubox-select.gif") no-repeat 0 -48px;padding:0 10px;line-height:24px;}

#uboxstyle ul.tag_options{position:absolute;padding:0;margin:0;list-style:none;background:transparent url("../images/ubox-select.gif") no-repeat right bottom;width:100px;padding:0 0 5px;margin:0;}
#uboxstyle ul.tag_options li{background:transparent url("../images/ubox-select.gif") repeat-y -100px 0;display:block;width:80px;padding:0 10px;height:24px;text-decoration:none;line-height:24px;color:#79A2BD;}

#uboxstyle ul.tag_options li.open_hover{background:transparent url("../images/ubox-select.gif") no-repeat 0 -72px;color:#fff}
#uboxstyle ul.tag_options li.open_selected{background:transparent url("../images/ubox-select.gif") no-repeat 0 -96px;color:#fff}

 

注意我这里讲解下:

select_box 是整个下来的元素。

div.tag_select 是没有下拉时显示的部分。

ul.tag_options 是下拉部分,相当于option元素。

有了这些,相信这个例子就可以明白,并进行相应的修改了。

 

这里我给出源文件,方面大家学习。

 

 

0
1
分享到:
评论

相关推荐

    表单Select样式美化经典案例52CSS

    本主题"表单Select样式美化经典案例52CSS"聚焦于如何通过CSS技术对`Select`元素进行视觉上的优化,提升用户体验。 在传统的HTML`Select`元素中,样式控制能力非常有限,通常只能改变字体、颜色等基本属性。然而,...

    jQuery实现select样式美化 jQselect.js

    "jQuery实现select样式美化 jQselect.js" 就是这样一种解决方案,它利用jQuery库来对传统的`&lt;select&gt;`标签进行样式定制,以提供更加丰富的视觉效果。 jQuery是一个强大的JavaScript库,它简化了HTML文档遍历、事件...

    css实现表单Select样式美化

    为了提供更好的用户体验和符合整体界面设计风格,我们可以使用CSS来对Select进行样式美化。下面我们将详细探讨如何通过CSS实现这一目标。 首先,我们需要理解Select元素的结构。一个Select元素通常包含多个Option...

    基于jQuery的select样式美化代码.zip

    132677953870836738文件可能是一个示例代码或者插件的源代码,具体的文件类型(如.js或.css)无法从名称中直接推断,但根据上下文,它应该是与select样式美化相关的代码。 在实际使用中,首先需要确保页面中已经...

    jQuery实现select样式美化代码

    本文将围绕"jQuery实现select样式美化代码"这一主题,详细讲解如何使用jQuery和CSS来定制美观的下拉选择器。 首先,我们需要引入jQuery库。通常,我们通过CDN链接或者将jQuery.js文件放在项目的js目录下,然后在...

    2款表单Select样式美化经典案例

    DivCSS布局中表单的美化一直是CSSer头疼的问题,特别是Select样式的美化,更是头痛。今天向大家展示实例,希望对大家的学习工作有所帮助。   演示:http://www.websjy.com/club/websjy_index/select/

    表单Select样式美化经典案例

    表单Select样式美化经典案例 实用代码全部0分

    SELECT样式美化

    "SELECT样式美化"这个主题就是针对这个问题,通过CSS和可能的JavaScript技术来提升`&lt;select&gt;`元素的视觉吸引力。 首先,我们要了解,`&lt;select&gt;`的基本结构包括一个`&lt;select&gt;`标签,里面包含一系列的`&lt;option&gt;`标签...

    jquery+html5自定义select样式美化点击动画展开下拉选项菜单特效源码.zip

    这个"jquery+html5自定义select样式美化点击动画展开下拉选项菜单特效源码.zip"就是一个实现此类需求的例子。它利用了jQuery库和HTML5的技术,为传统的HTML `&lt;select&gt;` 元素赋予了更为吸引人的外观和交互效果。 ...

    分享:DivCSS实例教程:2款表单Select样式美化经典案例

    DivCSS布局中表单的美化一直是CSSer头疼的问题,特别是Select样式的美化,更是头痛。今天向大家展示实例,希望对大家的学习工作有所帮助。 演示:http://www.websjy.com/club/websjy_index/select/

    这是一款使用html5svg和css3制作的炫酷select下拉菜单美化效果

    在这个项目中,我们看到的是如何利用这两者以及JavaScript来实现一个炫酷的Select下拉菜单美化效果。让我们深入探讨一下这些技术及其在创建这种效果时的应用。 首先,HTML5的`&lt;select&gt;`元素是网页表单中常见的组件...

    select美化HTML的select标签的原始样式,并且不影响原始select的事件方法调用

    在美化`&lt;select&gt;`的过程中,一种常见的方法是使用CSS来覆盖默认样式。然而,直接修改`&lt;select&gt;`的样式可能会导致一些问题,比如失去原生的交互效果,如滚动和键盘导航。为了解决这个问题,我们可以创建一个自定义的...

    jQuery实现select下拉框样式美化效果

    本资源主要介绍如何使用jQuery来实现select下拉框的样式美化效果。 首先,我们需要引入jQuery库。jQuery的最新版本可以在官方网站(https://jquery.com/download/)下载,也可以通过CDN链接快速引入,如: ```html ...

    select 去样式美化(完美兼容)

    "select去样式美化(完美兼容)"是一个针对这个问题的解决方案,它旨在提供一种方法,通过使用`div`元素替代`select`结构,以实现更统一、更易于控制的样式效果,同时保证跨浏览器的兼容性。 这个程序的核心思想是...

    jQuery select下拉框样式美化插件

    在网页开发中,选择框(select)是常见的一种交互元素,但其默认样式在各浏览器之间存在差异,且通常较为朴素。为了提升用户体验并统一视觉风格,开发者常常会使用插件来美化这些元素。"jQuery select-mania插件...

    Select标签美化,兼容多浏览器

    select标签美化,支持空白处点击显示隐藏选项,目前测试过兼容Firefox、Chrome、IE5及以上,原来找到这个方案不支持空白点击事件,后面改好了测试了没问题,难免会有些bug,如果遇到需要优化欢迎交流!

    div css模拟美化的Select样式

    "div css模拟美化的Select样式"这个主题就是关于如何使用CSS和HTML来创建一个自定义的、视觉上更吸引人的下拉选择框。下面将详细介绍这个过程及其相关知识点。 首先,我们需要理解HTML的`&lt;select&gt;`元素是原生的下拉...

    js select框美化用input文本框模拟select框美化特效

    默认的`&lt;select&gt;`元素在不同浏览器中样式各异,且自定义性较差。而使用`&lt;input&gt;`配合JavaScript和CSS,我们可以创建出一致的跨浏览器样式,并添加更丰富的交互效果,如动画过渡、悬停效果以及自定义内容显示。 在...

Global site tag (gtag.js) - Google Analytics