制作网页时,表单元素的样式是个比较不容易控制的。很多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元素。
有了这些,相信这个例子就可以明白,并进行相应的修改了。
这里我给出源文件,方面大家学习。
分享到:
相关推荐
本主题"表单Select样式美化经典案例52CSS"聚焦于如何通过CSS技术对`Select`元素进行视觉上的优化,提升用户体验。 在传统的HTML`Select`元素中,样式控制能力非常有限,通常只能改变字体、颜色等基本属性。然而,...
"jQuery实现select样式美化 jQselect.js" 就是这样一种解决方案,它利用jQuery库来对传统的`<select>`标签进行样式定制,以提供更加丰富的视觉效果。 jQuery是一个强大的JavaScript库,它简化了HTML文档遍历、事件...
为了提供更好的用户体验和符合整体界面设计风格,我们可以使用CSS来对Select进行样式美化。下面我们将详细探讨如何通过CSS实现这一目标。 首先,我们需要理解Select元素的结构。一个Select元素通常包含多个Option...
132677953870836738文件可能是一个示例代码或者插件的源代码,具体的文件类型(如.js或.css)无法从名称中直接推断,但根据上下文,它应该是与select样式美化相关的代码。 在实际使用中,首先需要确保页面中已经...
本文将围绕"jQuery实现select样式美化代码"这一主题,详细讲解如何使用jQuery和CSS来定制美观的下拉选择器。 首先,我们需要引入jQuery库。通常,我们通过CDN链接或者将jQuery.js文件放在项目的js目录下,然后在...
DivCSS布局中表单的美化一直是CSSer头疼的问题,特别是Select样式的美化,更是头痛。今天向大家展示实例,希望对大家的学习工作有所帮助。 演示:http://www.websjy.com/club/websjy_index/select/
表单Select样式美化经典案例 实用代码全部0分
"SELECT样式美化"这个主题就是针对这个问题,通过CSS和可能的JavaScript技术来提升`<select>`元素的视觉吸引力。 首先,我们要了解,`<select>`的基本结构包括一个`<select>`标签,里面包含一系列的`<option>`标签...
这个"jquery+html5自定义select样式美化点击动画展开下拉选项菜单特效源码.zip"就是一个实现此类需求的例子。它利用了jQuery库和HTML5的技术,为传统的HTML `<select>` 元素赋予了更为吸引人的外观和交互效果。 ...
DivCSS布局中表单的美化一直是CSSer头疼的问题,特别是Select样式的美化,更是头痛。今天向大家展示实例,希望对大家的学习工作有所帮助。 演示:http://www.websjy.com/club/websjy_index/select/
在这个项目中,我们看到的是如何利用这两者以及JavaScript来实现一个炫酷的Select下拉菜单美化效果。让我们深入探讨一下这些技术及其在创建这种效果时的应用。 首先,HTML5的`<select>`元素是网页表单中常见的组件...
在美化`<select>`的过程中,一种常见的方法是使用CSS来覆盖默认样式。然而,直接修改`<select>`的样式可能会导致一些问题,比如失去原生的交互效果,如滚动和键盘导航。为了解决这个问题,我们可以创建一个自定义的...
本资源主要介绍如何使用jQuery来实现select下拉框的样式美化效果。 首先,我们需要引入jQuery库。jQuery的最新版本可以在官方网站(https://jquery.com/download/)下载,也可以通过CDN链接快速引入,如: ```html ...
"select去样式美化(完美兼容)"是一个针对这个问题的解决方案,它旨在提供一种方法,通过使用`div`元素替代`select`结构,以实现更统一、更易于控制的样式效果,同时保证跨浏览器的兼容性。 这个程序的核心思想是...
在网页开发中,选择框(select)是常见的一种交互元素,但其默认样式在各浏览器之间存在差异,且通常较为朴素。为了提升用户体验并统一视觉风格,开发者常常会使用插件来美化这些元素。"jQuery select-mania插件...
select标签美化,支持空白处点击显示隐藏选项,目前测试过兼容Firefox、Chrome、IE5及以上,原来找到这个方案不支持空白点击事件,后面改好了测试了没问题,难免会有些bug,如果遇到需要优化欢迎交流!
"div css模拟美化的Select样式"这个主题就是关于如何使用CSS和HTML来创建一个自定义的、视觉上更吸引人的下拉选择框。下面将详细介绍这个过程及其相关知识点。 首先,我们需要理解HTML的`<select>`元素是原生的下拉...
默认的`<select>`元素在不同浏览器中样式各异,且自定义性较差。而使用`<input>`配合JavaScript和CSS,我们可以创建出一致的跨浏览器样式,并添加更丰富的交互效果,如动画过渡、悬停效果以及自定义内容显示。 在...