`

div css模拟美化的Select样式,超经典(已添加下载地址)

阅读更多

效果图:

结构分析图:

下载地址:div css模拟美化的Select样式

div css模拟美化的Select样式演示地址

完整代码:
这是index.html文件代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Select Demo</title>
<style type="text/css">
<!--
@import url(select2css.css);
-->
</style>
<script type="text/javascript" src="select2css.js"></script>
</head>
<body>
<form id="form" name="form" method="post" action="">

演示来源:http://mawendong.cn/
<br /><br />
<div id="uboxstyle">
<h3 style="color:#6D93AB;font-size:14px;">U-Box Style</h3>
<select name="language" id="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>
   <option value="Polski" >Polski</option>
   <option value="Português" >Português</option>
   <option value="Svenska" >Svenska</option>
   <option value="Türk?e" >Türk?e</option>
   <option value="Руccкий" >Руccкий</option>
</select>
</div>
<br /><br />
<h3 style="color:#6D93AB;font-size:14px;">Mac Style</h3>
<div id="macstyle">
<select name="language_mac" id="language_mac">
   <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>
   <option value="Polski" >Polski</option>
   <option value="Português" >Português</option>
   <option value="Svenska" >Svenska</option>
   <option value="Türk?e" >Türk?e</option>
   <option value="Руccкий" >Руccкий</option>
</select>
</div>
<br /><br />
<h3 style="color:#6D93AB;font-size:14px;">TM2008 Style</h3>
<div id="tm2008style">
<select name="language_tm2008" id="language_tm2008">
   <option value="English">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>
   <option value="Polski" >Polski</option>
   <option value="Português" >Português</option>
   <option value="Svenska" >Svenska</option>
   <option value="Türk?e" >Türk?e</option>
   <option value="Руccкий" >Руccкий</option>
</select>
</div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />

</form>
</body>
</html>

这是select2css.css样式文件:
body{background:#CFDFEF;font:12px/150% "Lucida Grande", Arial, Verdana, Helvetica, sans-serif;}

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

#macstyle .select_box{width:91px;height:24px;}

#tm2008style .select_box{width:102px;height:24px;}

#uboxstyle div.tag_select{display:block;color:#79A2BD;width:80px;height:24px;background:transparent url("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("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("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("ubox-select.gif") no-repeat right bottom;width:100px;padding:0 0 5px;margin:0;}
#uboxstyle ul.tag_options li{background:transparent url("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("ubox-select.gif") no-repeat 0 -72px;color:#fff}
#uboxstyle ul.tag_options li.open_selected{background:transparent url("ubox-select.gif") no-repeat 0 -96px;color:#fff}

#macstyle div.tag_select{display:block;color:#000;width:71px;height:24px;background:transparent url("mac-select.gif") no-repeat 0 -24px;padding:0 10px;line-height:24px;}
#macstyle div.tag_select_hover{display:block;color:#000;width:71px;height:24px;background:transparent url("mac-select.gif") no-repeat 0 0;padding:0 10px;line-height:24px;}
#macstyle div.tag_select_open{display:block;color:#000;width:71px;height:24px;background:transparent url("mac-select.gif") no-repeat 0 -48px;padding:0 10px;line-height:24px;}

#macstyle ul.tag_options{position:absolute;margin:-4px 0 0;list-style:none;background:transparent url("mac-select.gif") no-repeat left bottom;width:100px;padding:0 0 5px;margin:0;width:71px;}
#macstyle ul.tag_options li{background:transparent url("mac-select.gif") repeat-y -91px 0;display:block;width:61px;padding:0 0 0 10px;height:24px;text-decoration:none;line-height:24px;color:#000;}

#macstyle ul.tag_options li.open_hover{background:transparent url("mac-select.gif") no-repeat -162px 0;color:#000}
#macstyle ul.tag_options li.open_selected{background:transparent url("mac-select.gif") no-repeat -162px -24px;color:#fff}

#tm2008style div.tag_select{display:block;color:#000;width:82px;height:22px;background:transparent url("tm2008-select.gif") no-repeat 0 0;padding:0 10px;line-height:22px;}
#tm2008style div.tag_select_hover{display:block;color:#000;width:82px;height:22px;background:transparent url("tm2008-select.gif") no-repeat 0 -22px;padding:0 10px;line-height:22px;}
#tm2008style div.tag_select_open{display:block;color:#000;width:82px;height:22px;background:transparent url("tm2008-select.gif") no-repeat 0 -44px;padding:0 10px;line-height:22px;}

#tm2008style ul.tag_options{position:absolute;margin:0;list-style:none;background:transparent url("tm2008-select.gif") no-repeat left bottom;width:100px;padding:0 0 1px;margin:0;width:80px;}
#tm2008style ul.tag_options li{background:transparent url("tm2008-select.gif") repeat-y -102px 0;display:block;width:61px;padding:0 10px;height:22px;text-decoration:none;line-height:22px;color:#000;}

#tm2008style ul.tag_options li.open_hover{background:transparent url("tm2008-select.gif") no-repeat 0 -88px;color:#000}
#tm2008style ul.tag_options li.open_selected{background:transparent url("tm2008-select.gif") no-repeat 0 -66px;color:#19555F}

这是select2css.js文件:
/*#############################################################
Name: Select to CSS
Version: 0.2
Author: Utom
URL: http://utombox.com/
#############################################################*/
var selects = document.getElementsByTagName('select');

var isIE = (document.all && window.ActiveXObject && !window.opera) ? true : false;

function $(id) {
return document.getElementById(id);
}

function stopBubbling (ev) {
ev.stopPropagation();
}

function rSelects() {
for (i=0;i<selects.length;i++){
   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);

   if (isIE){
    selects[i].onclick = new Function("clickLabels3('"+selects[i].name+"');window.event.cancelBubble = true;");
   }
   else if(!isIE){
    selects[i].onclick = new Function("clickLabels3('"+selects[i].name+"')");
    selects[i].addEventListener("click", stopBubbling, false);
   }  
}
}


function rOptions(i, name) {
var options = selects[i].getElementsByTagName('option');
var options_ul = 'options_' + name;
for (n=0;n<selects[i].options.length;n++){
   option_li = document.createElement('li');
    option_li.style.cursor='pointer';
    option_li.className='open';
   $(options_ul).appendChild(option_li);

   option_text = document.createTextNode(selects[i].options[n].text);
   option_li.appendChild(option_text);

   option_selected = selects[i].options[n].selected;

   if(option_selected){
    option_li.className='open_selected';
    option_li.id='selected_' + name;
    $('select_info_' + name).appendChild(document.createTextNode(option_li.innerHTML));
   }
  
   option_li.onmouseover = function(){ this.className='open_hover';}
   option_li.onmouseout = function(){
    if(this.id=='selected_' + name){
     this.className='open_selected';
    }
    else {
     this.className='open';
    }
   }

   option_li.onclick = new Function("clickOptions("+i+","+n+",'"+selects[i].name+"')");
}
}

function mouseSelects(name){
var sincn = 'select_info_' + name;

$(sincn).onmouseover = function(){ if(this.className=='tag_select') this.className='tag_select_hover'; }
$(sincn).onmouseout = function(){ if(this.className=='tag_select_hover') this.className='tag_select'; }

if (isIE){
   $(sincn).onclick = new Function("clickSelects('"+name+"');window.event.cancelBubble = true;");
}
else if(!isIE){
   $(sincn).onclick = new Function("clickSelects('"+name+"');");
   $('select_info_' +name).addEventListener("click", stopBubbling, false);
}

}

function clickSelects(name){
var sincn = 'select_info_' + name;
var sinul = 'options_' + name;

for (i=0;i<selects.length;i++){
   if(selects[i].name == name){    
    if( $(sincn).className =='tag_select_hover'){
     $(sincn).className ='tag_select_open';
     $(sinul).style.display = '';
    }
    else if( $(sincn).className =='tag_select_open'){
     $(sincn).className = 'tag_select_hover';
     $(sinul).style.display = 'none';
    }
   }
   else{
    $('select_info_' + selects[i].name).className = 'tag_select';
    $('options_' + selects[i].name).style.display = 'none';
   }
}

}

function clickOptions(i, n, name){  
var li = $('options_' + name).getElementsByTagName('li');

$('selected_' + name).className='open';
$('selected_' + name).id='';
li[n].id='selected_' + name;
li[n].className='open_hover';
$('select_' + name).removeChild($('select_info_' + name));

select_info = document.createElement('div');
   select_info.id = 'select_info_' + name;
   select_info.className='tag_select';
   select_info.style.cursor='pointer';
$('options_' + name).parentNode.insertBefore(select_info,$('options_' + name));

mouseSelects(name);

$('select_info_' + name).appendChild(document.createTextNode(li[n].innerHTML));
$( 'options_' + name ).style.display = 'none' ;
$( 'select_info_' + name ).className = 'tag_select';
selects[i].options[n].selected = 'selected';

}

window.onload = function(e) {
bodyclick = document.getElementsByTagName('body').item(0);
rSelects();
bodyclick.onclick = function(){
   for (i=0;i<selects.length;i++){
    $('select_info_' + selects[i].name).className = 'tag_select';
    $('options_' + selects[i].name).style.display = 'none';
   }
}
}

这是用到的文件截图:

图片分别为:

分享到:
评论

相关推荐

    div css模拟美化的Select样式

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

    DIV模拟select下拉框

    它通过用CSS样式化的DIV元素替换原生的SELECT元素,从而提供更灵活的外观和交互体验。 标题中的"DIV模拟select下拉框"意味着我们将使用HTML的&lt;div&gt;元素来创建一个功能类似但视觉效果更佳的下拉选择菜单。这种方式的...

    div+css select效果

    本教程将详细讲解如何使用`div+css`来实现一个兼容多浏览器的美化版`select`效果。 首先,我们需要创建一个`div`元素作为`select`的替代品,这将作为我们自定义样式的容器。通过设置`position`属性为`relative`,...

    JS+CSS美化经典Select选项框插件

    1. **替换HTML结构**:通常,我们会用一个div或其他HTML元素来模拟Select,这样可以更自由地应用CSS样式。例如,可以创建一个包含多个li元素的ul,每个li对应一个选项。JS则负责监听用户交互,如点击事件,来更新...

    div模拟select下拉菜单美化效果

    本篇将深入探讨如何利用`div`元素来实现`select`下拉菜单的美化效果,以及相关的前端技术知识。 一、为什么使用`div`模拟`select`? 1. 自定义样式:`&lt;select&gt;`元素默认的样式在不同浏览器间存在差异,而使用`div`...

    div模拟下拉菜单(select)jquery插件.gz

    为了解决这个问题,开发者常常使用`div`元素配合CSS和JavaScript来模拟下拉菜单,以实现更加灵活和美观的效果。在这个"div模拟下拉菜单(select)jquery插件.gz"压缩包中,包含的就是这样一个基于`div`和jQuery的...

    div+js+css模拟select并且把无效的select选项设置为灰色不可用

    在网页设计中,有时出于美观或者交互性的考虑,开发者会使用`div`、`JavaScript`和`CSS`来模拟原生的`select`下拉菜单。这种做法可以让设计师更好地控制样式,实现更丰富的交互效果。本文将深入探讨如何利用这三种...

    div模拟select下拉菜单美化效果实例

    在网页设计中,为了提供更好的用户体验和更符合品牌风格的界面,开发者经常会选择用`div`元素来模拟`select`下拉菜单的样式。`select`元素是HTML中内置的表单控件,用于创建下拉列表,但其样式控制有限,难以实现...

    用CSS和Div美化select样式的简单方法

    在网页设计中,美化SELECT元素通常是提升用户体验的关键步骤,因为默认的SELECT样式在不同浏览器上显示效果不一,尤其在一些老旧的浏览器中显得较为简陋。本文将介绍如何使用CSS和Div来优化SELECT样式,并提供兼容性...

    JS+CSS和图片美化select下拉列表选择框

    综上所述,通过结合JavaScript和CSS,我们可以对`select`下拉列表选择框进行深度美化,包括调整基本样式、添加自定义图片,甚至实现复杂的交互效果。在`select美化选择框.htm`这个示例文件中,我们可以看到一个完整...

    jquery+css+div实现select选择框样式

    调用方式:$.divselect("#divselect","#inputselect");...根据需要修改css背景、css宽度、css高度等图片或css样式实现自己想要的select下拉菜单表单美化效果。演示地址:http://www.bcty365.com/content-73-325-1.html

    jquery div模拟select表单地区选择三级联动美化效果

    本项目涉及的知识点是使用jQuery来模拟一个三级联动的地区选择表单,同时实现美化效果。这种方式通常用于创建更加用户友好的交互式界面,以替代传统的HTML `&lt;select&gt;` 元素。 一、jQuery基础 jQuery的核心是它的...

    DIV+select美化支持IE6 IE7 火狐(门户搜索)觉得兼容

    2. **模拟自定义样式**:由于浏览器限制,直接对`&lt;select&gt;`应用CSS美化效果有局限,有时需要使用JavaScript库(如jQuery UI或Select2)来模拟自定义的下拉框样式。 3. **多浏览器测试**:必须在多种浏览器上进行测试...

    css 设置下拉列表 select 样式

    总结起来,设置CSS样式来美化下拉列表`&lt;select&gt;`并非易事,但通过理解浏览器的限制,以及利用JavaScript和自定义组件,我们可以创建出具有独特风格的交互式下拉列表。在实际开发中,要时刻关注用户体验,确保在美观...

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

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

    用JavaScript来美化HTML的select标签的下拉列表效果

    这个div元素可以通过复制原生select的CSS样式并添加自定义样式来设计界面。 - 对div元素进行动态内容更新。当select选项变更时,根据select的当前选中值,更新div的显示内容。 - 添加事件监听器到div元素上,模拟...

    SELECT下拉菜单美化

    为了提升用户体验,开发者通常会使用CSS来对`SELECT`进行美化,使其更符合整体UI设计风格,同时也方便实现国际化和自定义主题等功能。 本项目名为"SELECT下拉菜单美化",旨在提供一套优雅的解决方案,让`SELECT`...

    select下拉菜单美化.rar

    本资源"select下拉菜单美化.rar"可能包含了一套用于改善默认select菜单外观的JavaScript库或者CSS样式集,旨在提供更加美观、交互性更强的下拉选择体验。 通常,这种美化方法会涉及到以下几个关键知识点: 1. **...

    div模拟select

    CSS部分则用于美化这些`div`元素,如设置背景色、边框、字体大小等,还可以添加鼠标悬停和选中状态的样式: ```css #customSelect { width: 200px; } .option { cursor: pointer; padding: 5px; } .option:hover...

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

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

Global site tag (gtag.js) - Google Analytics