CSS select样式列表-------美化列表
<!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=gb2312" /> <title>css处理下拉列表-这一技客:www.geekso.com</title> <style> .IN { BORDER-RIGHT: #afaeae 1px solid; BORDER-TOP: #afaeae 1px solid; FONT-SIZE: 10pt; BORDER-LEFT: #afaeae 1px solid; COLOR: #7b7b7b; BORDER-BOTTOM: #afaeae 1px solid; FONT-FAMILY: "verdana" } .selectBoxSelectedArea { PADDING-LEFT: 3px; FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 17px; PADDING-TOP: 1px; BACKGROUND-COLOR: #ffffff } .selectBoxSelectedAreaFocus { PADDING-LEFT: 3px; FONT-SIZE: 12px; COLOR: #333333; LINE-HEIGHT: 17px; PADDING-TOP: 1px; BACKGROUND-COLOR: #ffffff } .selectBoxOption { PADDING-LEFT: 3px; FONT-SIZE: 12px; COLOR: #000000; LINE-HEIGHT: 17px; PADDING-TOP: 2px; BACKGROUND-COLOR: #ffffff } .selectBoxOptionOver { PADDING-LEFT: 3px; FONT-SIZE: 12px; COLOR: #333333; LINE-HEIGHT: 17px; PADDING-TOP: 2px; BACKGROUND-COLOR: #ffffff } .selectBoxOptionInnerLayer { BORDER-RIGHT: #b4b4b4 1px solid; BORDER-TOP: #b4b4b4 1px solid; SCROLLBAR-FACE-COLOR: #ffffff; SCROLLBAR-HIGHLIGHT-COLOR: #b4b4b4; OVERFLOW: auto; BORDER-LEFT: #b4b4b4 1px solid; SCROLLBAR-SHADOW-COLOR: #b4b4b4; SCROLLBAR-3DLIGHT-COLOR: #ffffff; SCROLLBAR-ARROW-COLOR: #838383; SCROLLBAR-TRACK-COLOR: #eaeaea; BORDER-BOTTOM: #b4b4b4 1px solid; SCROLLBAR-DARKSHADOW-COLOR: #ffffff; BACKGROUND-COLOR: #ffffff } </style> </head>
<body > <SCRIPT LANGUAGE="JavaScript"> var nowOpenedSelectBox = ""; var mousePosition = "";
function selectThisValue(thisId,thisIndex,thisValue,thisString) { var objId = thisId; var nowIndex = thisIndex; var valueString = thisString; var sourceObj = document.getElementById(objId); var nowSelectedValue = document.getElementById(objId+"SelectBoxOptionValue"+nowIndex).value; hideOptionLayer(objId); if (sourceObj) sourceObj.value = nowSelectedValue; settingValue(objId,valueString); selectBoxFocus(objId); if (sourceObj.onchange) sourceObj.onchange(); }
function settingValue(thisId,thisString) { var objId = thisId; var valueString = thisString; var selectedArea = document.getElementById(objId+"selectBoxSelectedValue"); if (selectedArea) selectedArea.innerText = valueString; }
function viewOptionLayer(thisId) { var objId = thisId; var optionLayer = document.getElementById(objId+"selectBoxOptionLayer"); if (optionLayer) optionLayer.style.display = ""; nowOpenedSelectBox = objId; setMousePosition("inBox"); }
function hideOptionLayer(thisId) { var objId = thisId; var optionLayer = document.getElementById(objId+"selectBoxOptionLayer"); if (optionLayer) optionLayer.style.display = "none"; }
function setMousePosition(thisValue) { var positionValue = thisValue; mousePosition = positionValue; }
function clickMouse() { if (mousePosition == "out") hideOptionLayer(nowOpenedSelectBox); }
function selectBoxFocus(thisId) { var objId = thisId; var obj = document.getElementById(objId + "selectBoxSelectedValue"); obj.className = "selectBoxSelectedAreaFocus"; obj.focus(); }
function selectBoxBlur(thisId) { var objId = thisId; var obj = document.getElementById(objId + "selectBoxSelectedValue"); obj.className = "selectBoxSelectedArea"; }
function makeSelectBox(thisId) { var downArrowSrc = "http://www.geekso.com/attachment/3j.jpg"; //三角 var downArrowSrcWidth = 16; //宽 var optionHeight = 18; // 高 var optionMaxNum = 7; // var optionInnerLayerHeight = ""; var objId = thisId; var obj = document.getElementById(objId); var selectBoxWidth = parseInt(obj.style.width); var selectBoxHeight = parseInt(obj.style.height); if (obj.options.length > optionMaxNum) optionInnerLayerHeight = "height:"+ (optionHeight * optionMaxNum) + "px"; newSelect = "<table id='" + objId + "selectBoxOptionLayer' cellpadding='0' cellspacing='0' border='0' style='position:absolute;z-index:100;display:none;' onMouseOver="viewOptionLayer('"+ objId + "')" onMouseOut="setMousePosition('out')">"; newSelect += " <tr>"; newSelect += " <td height='" + selectBoxHeight + "' style='cursor:hand;' onClick="hideOptionLayer('"+ objId + "')"></td>"; newSelect += " </tr>"; newSelect += " <tr>"; newSelect += " <td height='1'></td>"; newSelect += " </tr>"; newSelect += " <tr>"; newSelect += " <td bgcolor='#D3D3D3'>"; newSelect += " <div class='selectBoxOptionInnerLayer' style='width:" + (selectBoxWidth-1) + "px;" + optionInnerLayerHeight + "'>"; newSelect += " <table cellpadding='0' cellspacing='0' border='0' width='100%' style='table-layout:fixed;word-break:break-all;'>"; for (var i=0 ; i < obj.options.length ; i++) { var nowValue = obj.options[i].value; var nowText = obj.options[i].text; newSelect += " <tr>"; newSelect += " <td onMouseOver=this.style.backgroundColor='#FFBA00';return true; onMouseOut=this.style.backgroundColor='FFFFFF';return true; bgcolor=#FFFFFF height='" + optionHeight + "' class='selectBoxOption' onMouseOver="this.className='selectBoxOptionOver'" onMouseOut="this.className='selectBoxOption'" onClick="selectThisValue('"+ objId + "'," + i + ",'" + nowValue + "','" + nowText + "')" style='cursor:hand;' >" + nowText + "</td>"; newSelect += " <input type='hidden' id='"+ objId + "SelectBoxOptionValue" + i + "' value='" + nowValue + "'>"; newSelect += " </tr>"; } newSelect += " </table>"; newSelect += " </div>"; newSelect += " </td>"; newSelect += " </tr>"; newSelect += "</table>"; newSelect += "<table cellpadding='0' cellspacing='1' border='0' bgcolor='#B4B4B4' onClick="viewOptionLayer('"+ objId + "')" style='cursor:hand;'>"; newSelect += " <tr>"; newSelect += " <td style='padding-left:1px' bgcolor='#FFFFFF'>"; newSelect += " <table cellpadding='0' cellspacing='0' border='0'>"; newSelect += " <tr>"; newSelect += " <td><div id='" + objId + "selectBoxSelectedValue' class='selectBoxSelectedArea' style='width:" + (selectBoxWidth - downArrowSrcWidth - 4) + "px;height:" + (selectBoxHeight - 2) + "px;overflow:hidden;' onBlur="selectBoxBlur('" + objId + "')" ></div></td>"; newSelect += " <td><img src='" + downArrowSrc + "' width='" + downArrowSrcWidth + "' border='0'></td>"; newSelect += " </tr>"; newSelect += " </table>"; newSelect += " </td>"; newSelect += " </tr>"; newSelect += "</table>"; document.write(newSelect); var haveSelectedValue = false; for (var i=0 ; i < obj.options.length ; i++) { if (obj.options[i].selected == true) { haveSelectedValue = true; settingValue(objId,obj.options[i].text); } } if (!haveSelectedValue) settingValue(objId,obj.options[0].text); }
document.onmousedown = clickMouse; </SCRIPT> <Select class="in" id=selectTest style="DISPLAY: none; BACKGROUND: #ffffff; WIDTH: 130px; HEIGHT: 19px" name=search> <OPTION value="" selected>www.geekso.com</OPTION> <OPTION value=name>geekso.com</OPTION> <OPTION value=title>这一技客</OPTION> </Select> <SCRIPT>makeSelectBox("selectTest");</SCRIPT> </body> </html>
CSS select样式列表-------美化列表的更多相关文章
- CSS select样式优化 含jquery代码
CSS 下拉选择菜单基本的CSS样式不怎么好看,通过一些简单的样式优化,可以得到如下图这样的: html结构如下: <div class="sel_wrap"> < ...
- CSS效果:CSS select样式优化 含jquery代码
CSS 下拉选择菜单基本的CSS样式不怎么好看,通过一些简单的样式优化,可以得到如下图这样的: html结构如下: <div class="sel_wrap"> < ...
- css select 样式列表-----另一种样式列表
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org ...
- CSS select样式优化
下拉选择菜单基本的CSS样式不怎么好看,通过一些简单的样式优化,就可以起到美化的作用了. <div class="sel_wrap"> <label>请选择 ...
- 帝国cms 列表页分页样式修改美化【2】
上一篇(帝国cms 列表页分页样式修改美化[1])中我们已经对分页说了一个大概,下面我们就自己动手弄一个分页把: 第一步:进入帝国cms后台,点击系统设置->系统参数设置->信息设置:里面 ...
- 学习笔记 第八章 使用CSS美化列表
第8章 使用CSS美化列表 8.1 列表的基本结构 在HTML中,列表结构可以分为两种基本类型:有序列表和无序列表.使用标签如下: <ul>...</ul>:标识无序列表: ...
- CSS:列表样式(设置列表项的标志图案/位置)
通过CSS 列表属性能够放置.改变列表项标志.或者将图像作为列表项标志. 代码整理自w3school:http://www.w3school.com.cn 效果图: watermark/2/text/ ...
- css如何玩转有序无序列表项list样式
在无序列表ul>li中,无线列表的标志是出现在各列表前面的圆点.在有序列表ol>li中,前面默认带有数字,如何修改列表前面的项目符号,只需要通过list-style调整就好,常见的符号有( ...
- CSS背景样式和列表样式
background-color 设置元素的背景颜色 background-image 把图像设置为背景 background-position 设置背景图像的起始位置 background-atta ...
随机推荐
- Dictionary中的结构体转出来
CGRect keyBoardFrame = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
- MySQL部分1
MySQL有三个层次 1.文件层次:放在硬盘上存东西的 必须要放在硬盘上 2.服务层次:必须要通过MySQL这个服务才能操作里面哪个内容 3.界面层次:默认不提供界面,需要安装navicat8(界面 ...
- 前端新手分析 AJAX执行顺序,数据走向
我是一名前端的newer 在刚学习AJAX和eJS的时候,对于顺序上面有很大迷惑,现在稍微清楚了一点, 理解不对的地方,还请各位大牛帮助给我指导一下. 总的 服务器和客户端的顺序 一. 除了必要的 ...
- MySQL编码问题
client 下的default_character_set=utf8; 它是需要的,可是它的作用是干吗的? 它的作用等同执行以下3个命令 SET character_set_client = utf ...
- Java基础(47):插入排序的Java封装(含原理,可运行,哨兵位的理解见VisualGo上面的动态分析)
直接插入排序(Straight Insertion Sorting)的基本思想:在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使 ...
- struts几个配置文件加载顺序_2015.01.04
struts几个配置文件加载顺序: 01:struts-default.xml 02:struts-plugin.xml 03:struts.xml 04:struts.properties 05:w ...
- 手把手教你用动软.NET代码生成器实例教程
动软实战攻略 手把手教你用动软 文档编号:20110421 版权所有 © 2004-2011 动软 在线帮助:http://help.maticsoft.com 目录 一. 产品介绍 ...
- Aspose.cell处理Excel
(一)从数据库中读取数据写入Excel中 方法1: 步骤:1.建立一个新的项目,引用动态链接库Aspose.dll 2.见下面的原代码 using System;using System.Collec ...
- ssh-copy-id帮你建立信任
一.ssh-keygen -t rsa [nameA@machineA]$ ssh-keygen -t rsa Generating public/private rsa key pair. Ente ...
- 非 动态规划---LIS
题目:一个序列有N个数:A[1],A[2],…,A[N],求出最长非降子序列的长度.(见动态规划---LIS) /* 题目:一个序列有N个数:A[1],A[2],…,A[N],求出最长非降子序列的长度 ...