Css:制作一个更漂亮一些的多选列表框
2008-03-25 02:36:24来源: 阅读 ()
我认为多选列表具有完美的功能——只需按下Ctrl键,同时点击鼠标从列表中选择多个项目。以下是一个典型的多选列表框: Www~Chinaz~com
选出你最喜爱的快餐:
上面那个列表框的代码如下: 中国站.长站
以下为引用的内容: <form method="get" action=""> Chinaz_com
<b>Check your favorite fast food:</b><br/> 站.长站
<SELECT MULTIPLE SIZE=5 name="favorites"> 中国站.长.站 <OPTION VALUE="McDonalds">McDonald's</option> 中国.站长站
<OPTION VALUE="BurgerKing">Burger King</option> Chinaz@com
<OPTION VALUE="Wendys">Wendy's</option> 站长.站
<OPTION VALUE="JackInTheBox">Jack in the Box</option> Www@Chinaz@com
<OPTION VALUE="KFC">KFC</option> 中国.站长站
<OPTION VALUE="TacoBell">Taco Bell</option> 中国站.长站 </SELECT> 中国.站长站
<br/><input type="submit" value="Choose"> Www.Chinaz.com </form> Chinaz~com |
事实上,即使你在页面中添加了用法说明,仍然有用户不知道如何使用多选列表框。另外,给每个项目增加额外的标题确实会有帮助,但用一个普通的多选列表框能否达到那个目的,我还不能确定。 中国.站长站
不过,我确实清楚知道,用一些CSS和一小段JavaScript,你就能生成一个更漂亮一点的多选列表框,并且还可以建立一个等同于普通多选列表框的URL。那样,你就不用修改处理列表框的后端代码——而只需要美化前端即可。
Www@Chinaz@com
你首先从CSS开始,建立一个新多选列表框在其中滚动的小区域。我们还可以建立悬浮效果,当鼠标移动到一个项目上时,背景色就会改变,以突出当前选择。 Www@Chinaz@com
以下为引用的内容: <style> 中国站.长.站
.checklist { [中国站长站] border: 1px solid #ccc; Chinaz.com list-style: none; Chinaz.com height: 10em; Chinaz.com
overflow: auto; Chinaz.com width: 20em; Chinaz
}.checklist, .checklist li { margin: 0; padding: 0; } 中.国站长站
.checklist label { 中.国.站长站
display: block; Www~Chinaz~com
padding: 0 0.2em 0 25px; 中国站长.站 text-indent: -25px; Chinaz~com } Chinaz~com
.checklist label:hover { background: #777; color: #fff; } 站.长.站
* html .checklist label { height: 1%; } 中国站长.站 </style> 站.长站 |
至于JavaScript,你基本上只希望建立一个等同于常规多选列表框的URL。以上面的多选列表框为例,其查询字符串如下:
?favorites=Wendys&favorites=KFC
那就是我们希望仿效的地方。这段脚本只是利用外观(form)对象,循环所有检验栏(checkbox)的thru looking,并为那些选中的项目建立URL。很明显,这段脚本只应用于所有检验栏元素都位于新多选列表框的情况。
以下为引用的内容: <script type="text/javascript"> 站长.站
function submitForm(f) { Chinaz^com var cb = f.getElementsByTagName("input"); Chinaz~com var favorites = "favorites="; 站.长站 var isFirst = true;for (var i = 0; i < cb.length; i++) { 中国站.长站 var curr = cb[i]; 中国站长_站,为中文网站提供动力 if (curr.type == "checkbox") { Www~Chinaz~com
// window.alert(curr.name + ": " + curr.type); Chinaz.com if (curr.checked) { 中国站.长.站 if (isFirst) { 中.国.站.长.站 favorites = "favorites=" + curr.name; 中国站长.站
isFirst = false; 站长.站 } else { Chinaz.com favorites = favorites + "&favorites=" + curr.name; Www~Chinaz~com } Www@Chinaz@com } Www@Chinaz@com
} Chinaz~com
} Www^Chinaz^com
window.location = f.action + "?" + favorites; Chinaz~com
} Chinaz@com
</script> Www^Chinaz^com |
中国站长.站
最后,经过简单改进的新多选列表框的代码如下: Www_Chinaz_com
以下为引用的内容: <form method="get" action=""> Chinaz^com <b>Check your favorite fast food:</b><br/> 站长.站 <ul class="checklist"> 中.国.站长站 <li><label><input type="checkbox" name="McDonalds" /><b>McDonalds</b><br/>I'm lovin' it</label></li> 中国站.长.站 <li><label><input type="checkbox" name="BurgerKing" /><b>Burger King</b><br/>Have it your way</label></li> 中国站长.站
<li><label><input type="checkbox" name="Wendys" /><b>Wendy's</b><br/>Always fresh, never frozen</label></li> 中国站长_站,为中文网站提供动力
<li><label><input type="checkbox" name="JackInTheBox" /><b>Jack in the Box</b><br/>If it doesn't get all over the place, it doesn't belong in your face</label></li> Chinaz~com <li><label><input type="checkbox" name="KFC" /><b>KFC</b><br/>Finger lickin' good</label></li> 站长.站
<li><label><input type="checkbox" name="TacoBell" /><b>Taco Bell</b><br/>Think outisde the bun</label></li> Chinaz^com
</ul> 站长.站 <input type="button" value="Choose" onclick="submitForm(this.form);"> Chinaz@com
</form> Chinaz~com
|
中.国站长站
不幸的是,TechRepublic网站大量应用CSS,因此当我在博客中试用这段样本代码时,它显得非常难看。我可不希望为避免冲突而把代码修改得一团糟——这里我只是努力想说明其中的基本理论。
因此,我在自己的个人网站上用这段代码发布了一个简单的文件,你可以通过它了解代码的用法。 中国站长.站
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash