新年第一问:怎样控制html中的Select(下拉框)控件的样式????
比如说想把Select的样式改成XP平面风格,应该怎样做?
另外,如果下拉框中的项太多,就使用固定长度,有滚动条,又要怎么做?
问题点数:200、回复次数:66Top
1 楼njuzgj(罐子)回复于 2005-02-24 09:58:33 得分 30
学习Top
2 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 09:58:40 得分 0
upTop
3 楼goody9807(http://goody9807.cnblogs.com)回复于 2005-02-24 10:06:30 得分 30
http://dotnet.aspx.cc/ShowDetail.aspx?id=C81AD80E-FC14-4FF8-85F3-16CC68811BD5
做个假的下拉框Top
4 楼huwei2003(凡)回复于 2005-02-24 10:13:29 得分 30
cssTop
5 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 10:15:47 得分 0
谢谢楼上,可是现在的情况是这样的。程序和界面已经做好了,全部采用标准的html和服务端控件(样式也是标准的,每个控件都指定了一个css class),然后想在这个基础上把所有的控件改成xp的格式。
我现在的想法是采用css+htc来改的。因为这样做的话只需修改一下css样式文件就行了。不会影响的原来的程序。
请问有没有办法修改标准的select或dropdownlist的样式的方法?
或者说说哪在javascrip中select控件的哪些属性会影响select控件也可以?
给文章链接或一些有用的线索或具体的说明都可以。
在这里先谢谢楼上两位.
Top
6 楼46539492(男儿当自强(http://blog.csdn.net/46539492/))回复于 2005-02-24 10:20:07 得分 30
好多分呀,不知道我帮顶有没有分?关注中。。。Top
7 楼snowpine999([彼岸烟花][当你看到☆河灿烂,可会想起我?])回复于 2005-02-24 10:22:31 得分 30
UP+学习+接分
UP+学习+接分
UP+学习+接分Top
8 楼xzyan80(up)回复于 2005-02-24 10:23:35 得分 30
upTop
9 楼mooddecode1980(心情解码)回复于 2005-02-24 10:25:00 得分 20
:)
----Top
10 楼goody9807(http://goody9807.cnblogs.com)回复于 2005-02-24 10:25:16 得分 0
你把css 设成 xp风格 然后 select 控件都指定了一个css class 这样不行吗Top
11 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 10:30:08 得分 0
是啊,不行的。
比如我把 select的border定义为1 solid black;
在页面中,select的外框没有改变的,我想应该是select是由多个子控件构成,因此需要把子控件的样式也改掉。但是我没有找到关于这种说法的资料。
Top
12 楼hddhddhdd(还刀的)回复于 2005-02-24 10:30:30 得分 0
学习!
接分!Top
13 楼hddhddhdd(还刀的)回复于 2005-02-24 10:31:33 得分 0
学习
接分Top
14 楼goody9807(http://goody9807.cnblogs.com)回复于 2005-02-24 10:35:19 得分 0
我刚才也试了 不行 不过背景色和字体颜色可以改
select是由多个子控件构成
你需要重写这个控件Top
15 楼magicmaster(BLUE·Wishing On A Star)回复于 2005-02-24 10:39:21 得分 0
XP风格要在CSS里把边框线条类的全隐掉,用图片代替Top
16 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 10:40:17 得分 0
是啊,如果能访问到他的子控件或者能找到哪个方法是他的实现画控件的话,那就有办法修改他的样式了。
如果重写或者使用别的控件代替的话,代价就太高了。
因为程序中大多数的select或dropdownlist都有很复杂的逻辑。Top
17 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 10:42:00 得分 0
to magicmaster:
你的意思是把border width为0.
用图片代替是什么意思:代替为背景吗?Top
18 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 10:43:42 得分 0
大家要是有人看到过select的样式被修改过的网页也请告诉我,如果我能搞懂那个网页的实现方法的话,我会在这里把方法贴出来的。Top
19 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 10:44:04 得分 0
upTop
20 楼asren(笑风)回复于 2005-02-24 10:44:52 得分 0
用javascrip试试Top
21 楼weidp2004(山水逸士)回复于 2005-02-24 10:46:47 得分 0
msdnTop
22 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 10:49:15 得分 0
to asren(笑风) :
本来就是采用css+javascript,对控件的行为如mouseon,mouseUp时的样式都是采用javascript控件的,然后用htc对这些脚本进行封装。
现在的问题就是怎样改样式文件或控件的属性(javascript)可以达到select能改变样式。Top
23 楼dattotzy(什么叫做酷?三年一条牛仔裤!)回复于 2005-02-24 10:49:52 得分 0
手动写一个假的Top
24 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 10:50:45 得分 0
to weidp2004:
能给msdn上的文章链接吗?
或者哪方面的资料有这样的描述?
Top
25 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 10:51:54 得分 0
to dattotzy(什么叫做酷?三年一条牛仔裤!):手动写一个假的
--------------------------
谢谢楼上,可是现在的情况是这样的。程序和界面已经做好了,全部采用标准的html和服务端控件(样式也是标准的,每个控件都指定了一个css class),然后想在这个基础上把所有的控件改成xp的格式。
我现在的想法是采用css+htc来改的。因为这样做的话只需修改一下css样式文件就行了。不会影响的原来的程序。
请问有没有办法修改标准的select或dropdownlist的样式的方法?
或者说说哪在javascrip中select控件的哪些属性会影响select控件也可以?
给文章链接或一些有用的线索或具体的说明都可以。
在这里先谢谢楼上两位.
Top
26 楼amendajing(学习,是个漫长的旅途!)回复于 2005-02-24 10:57:34 得分 0
markTop
27 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 11:03:15 得分 0
upTop
28 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 11:06:23 得分 0
upTop
29 楼hkongm(多蒙)回复于 2005-02-24 11:10:41 得分 0
我也一直在找这种方法,帮顶!!
同样的Radio也能改就好了Top
30 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 11:34:17 得分 0
upTop
31 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 12:42:27 得分 0
upTop
32 楼blackhero(黑侠客)回复于 2005-02-24 12:59:08 得分 0
UPTop
33 楼yezie(椰子)(.Net)回复于 2005-02-24 13:00:57 得分 0
用style就行了啊Top
34 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 13:19:43 得分 0
to yezie(椰子):用style就行了啊
--------------------------------------------
能说一下怎样设置style就可以了,另外请看一下上面的回复
--------------------------------------------
是啊,不行的。
比如我把 select的border定义为1 solid black;
在页面中,select的外框没有改变的,我想应该是select是由多个子控件构成,因此需要把子控件的样式也改掉。但是我没有找到关于这种说法的资料。Top
35 楼Seeko0(阿 枫(终点又回到起点,到现在我才发现))回复于 2005-02-24 13:25:43 得分 0
直接使用select实现该功能应该不现实,可以参考下面
http://www.vivichen.com/demo/ComboBox/combo_demo.htmTop
36 楼vzxq(灵感人)回复于 2005-02-24 13:39:17 得分 0
help upTop
37 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-02-24 13:41:27 得分 0
用css即可
看看http://www.musecn.com/mask/scopebbs/的下拉矿是不是你要的风格Top
38 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-02-24 13:42:52 得分 0
提示一下
比如这个select是style="width:80px"
外面套一个<span class="box" style="width:80px">Top
39 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 14:18:34 得分 0
谢谢 LoveCherry:
现在我的问题是在不改动界面和程序的前提下,修改控件的样式
而且我需要把整个select改成xp风格,你的网页中的那个下拉框是把边框设为0,然后用了一个sapn的边框,这样确实改了一下边框的风格,但是select旁边的下拉按钮的风格没法改变。
Top
40 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-02-24 14:18:44 得分 0
SELECT
{
BORDER-RIGHT: 0px;
BORDER-TOP: 0px;
FONT-SIZE: 12px;
LEFT: -2px;
BORDER-LEFT: 0px;
COLOR: #000000;
LINE-HEIGHT: 18px;
BORDER-BOTTOM: 0px;
POSITION: relative;
TOP: -2px;
HEIGHT: 19px;
BACKGROUND-COLOR: #F6F6F6
}
.box
{
BORDER-RIGHT: #f4f4f4 1px solid;
BORDER-TOP: #f4f4f4 1px solid;
OVERFLOW: hidden;
BORDER-LEFT: #f4f4f4 1px solid;
CLIP: rect(0px 146px 16px 0px);
BORDER-BOTTOM: #f4f4f4 1px solid;
HEIGHT: 18px
}
Top
41 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-02-24 14:21:59 得分 0
那就只能关注了Top
42 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 14:23:08 得分 0
我看了他的css.css
我是想把整个界面实现在xp风格的,而且最好是只修改css就能搞定。
如果用这种方法来改边框的风格的话,那我必须把程序中的所有select都加一个span,这样做的代价太大了Top
43 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 15:46:37 得分 0
upTop
44 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-24 19:58:13 得分 0
upTop
45 楼lonelydreamsym(惊梦)回复于 2005-02-25 08:36:51 得分 0
以前在技术文章里看过一篇,不过特别麻烦,是用图片替换的,代码有特长,你到技术文章里找找,好像在asp类的Top
46 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-25 11:19:16 得分 0
upTop
47 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-25 11:19:41 得分 0
upTop
48 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-26 11:41:12 得分 0
upTop
49 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-28 15:31:05 得分 0
upTop
50 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-02-28 15:32:15 得分 0
upTop
51 楼cat_hsfz(我的新Blog在http://cathsfz.cnblogs.com)回复于 2005-02-28 16:20:12 得分 0
刚刚在html里面测试了一下,<select>是可以设置style的,而<option>默认会继承style当然也可以override新的style。楼主不如做一个最简单的页面,就放一个select控件并且在ASP.NET中设置好class,然后看看把它实际运行输出的HTML贴上来让大家分析一下。Top
52 楼newmsoft(ABC)回复于 2005-02-28 16:56:52 得分 0
学习Top
53 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-03-01 09:02:41 得分 0
to cat_hsfz()
我要控制的样式不仅是背景色,字体,还须要控制它的边框,旁边下拉按钮的样式。
-------------------------
比如我把 select的border定义为1 solid black;
在页面中,select的外框没有改变的,我想应该是select是由多个子控件构成,因此需要把子控件的样式也改掉。但是我没有找到关于这种说法的资料。Top
54 楼yizhixiaozhu(天啦,手都起茧了)回复于 2005-03-01 09:13:11 得分 0
upTop
55 楼litp(天道酬勤)回复于 2005-03-01 09:50:27 得分 0
有这样的控件可以实现你的功能;
Asp.Net 控件 PopComboBox
ASP.NET中多列下拉框
应该都可以实现,你搜一下,或告诉我mail,我发给你Top
56 楼mymyal123(风之森)回复于 2005-03-01 10:01:09 得分 0
upTop
57 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-03-01 11:39:11 得分 0
to litp(天道酬勤) :
现在我的问题是在不改动界面和程序的前提下,修改控件的样式
--------------------
谢谢楼上,可是现在的情况是这样的。程序和界面已经做好了,全部采用标准的html和服务端控件(样式也是标准的,每个控件都指定了一个css class),然后想在这个基础上把所有的控件改成xp的格式。
我现在的想法是采用css+htc来改的。因为这样做的话只需修改一下css样式文件就行了。不会影响的原来的程序。
请问有没有办法修改标准的select或dropdownlist的样式的方法?
或者说说哪在javascrip中select控件的哪些属性会影响select控件也可以?
给文章链接或一些有用的线索或具体的说明都可以。
Top
58 楼yezie(椰子)(.Net)回复于 2005-03-01 11:51:18 得分 0
link cssTop
59 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-03-03 09:23:54 得分 0
up
Top
60 楼warren1999(warren1999)回复于 2005-03-03 09:27:46 得分 0
UP+学习+接分
UP+学习+接分
UP+学习+接分Top
61 楼wyp0623(听风雨)回复于 2005-03-03 09:42:52 得分 0
UP
研究出来后共享一下代码哦Top
62 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-03-03 17:02:09 得分 0
彼岸烟花][被XX
终于被XX了,哈哈,真是好哦,做得好,早该这样了,呵呵!最讨厌这样的人Top
63 楼3gold(新丁)回复于 2005-03-03 17:30:26 得分 0
upTop
64 楼fenglik(风易)回复于 2005-03-03 17:36:41 得分 0
学习
接分Top
65 楼zjsen(位高权重责任轻,钱多事少离家近,睡觉睡到自然醒, 数钱数到手抽筋. )回复于 2005-03-03 20:21:44 得分 0
upTop
66 楼lee_wei(小屁孩的大理想)回复于 2005-03-05 18:54:48 得分 0
To zjsen:
按你的想法可能实现不了,因为css的select样式无法实现。
CSS不能改变下拉框的样式,但是可以用假象来显示。
position:absolute; overflow:hidden;
margin:-2px
<span style="border:1px solid #000000; position:absolute; overflow:hidden"><select style="margin:-2px">
<option>1</option>
<option>2</option>
<option>3</option>
</select></span>Top




