比如说想把Select的样式改成XP平面风格,应该怎样做?
另外,如果下拉框中的项太多,就使用固定长度,有滚动条,又要怎么做?

解决方案 »

  1.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=C81AD80E-FC14-4FF8-85F3-16CC68811BD5
    做个假的下拉框
      

  2.   

    谢谢楼上,可是现在的情况是这样的。程序和界面已经做好了,全部采用标准的html和服务端控件(样式也是标准的,每个控件都指定了一个css class),然后想在这个基础上把所有的控件改成xp的格式。
    我现在的想法是采用css+htc来改的。因为这样做的话只需修改一下css样式文件就行了。不会影响的原来的程序。请问有没有办法修改标准的select或dropdownlist的样式的方法?
    或者说说哪在javascrip中select控件的哪些属性会影响select控件也可以?
    给文章链接或一些有用的线索或具体的说明都可以。在这里先谢谢楼上两位.
      

  3.   

    UP+学习+接分UP+学习+接分UP+学习+接分
      

  4.   

    你把css 设成 xp风格 然后      select 控件都指定了一个css class   这样不行吗
      

  5.   

    是啊,不行的。
    比如我把 select的border定义为1 solid black;
    在页面中,select的外框没有改变的,我想应该是select是由多个子控件构成,因此需要把子控件的样式也改掉。但是我没有找到关于这种说法的资料。
      

  6.   

    我刚才也试了  不行  不过背景色和字体颜色可以改select是由多个子控件构成你需要重写这个控件
      

  7.   

    XP风格要在CSS里把边框线条类的全隐掉,用图片代替
      

  8.   

    是啊,如果能访问到他的子控件或者能找到哪个方法是他的实现画控件的话,那就有办法修改他的样式了。
    如果重写或者使用别的控件代替的话,代价就太高了。
    因为程序中大多数的select或dropdownlist都有很复杂的逻辑。
      

  9.   

    to magicmaster:
    你的意思是把border width为0.
    用图片代替是什么意思:代替为背景吗?
      

  10.   

    大家要是有人看到过select的样式被修改过的网页也请告诉我,如果我能搞懂那个网页的实现方法的话,我会在这里把方法贴出来的。
      

  11.   

    to asren(笑风) :
    本来就是采用css+javascript,对控件的行为如mouseon,mouseUp时的样式都是采用javascript控件的,然后用htc对这些脚本进行封装。现在的问题就是怎样改样式文件或控件的属性(javascript)可以达到select能改变样式。
      

  12.   

    to weidp2004:
    能给msdn上的文章链接吗?
    或者哪方面的资料有这样的描述?
      

  13.   

    to  dattotzy(什么叫做酷?三年一条牛仔裤!):手动写一个假的
    --------------------------
    谢谢楼上,可是现在的情况是这样的。程序和界面已经做好了,全部采用标准的html和服务端控件(样式也是标准的,每个控件都指定了一个css class),然后想在这个基础上把所有的控件改成xp的格式。
    我现在的想法是采用css+htc来改的。因为这样做的话只需修改一下css样式文件就行了。不会影响的原来的程序。请问有没有办法修改标准的select或dropdownlist的样式的方法?
    或者说说哪在javascrip中select控件的哪些属性会影响select控件也可以?
    给文章链接或一些有用的线索或具体的说明都可以。在这里先谢谢楼上两位.
      

  14.   

    to yezie(椰子):用style就行了啊
    --------------------------------------------
    能说一下怎样设置style就可以了,另外请看一下上面的回复  
    -------------------------------------------- 
    是啊,不行的。
    比如我把 select的border定义为1 solid black;
    在页面中,select的外框没有改变的,我想应该是select是由多个子控件构成,因此需要把子控件的样式也改掉。但是我没有找到关于这种说法的资料。
      

  15.   

    直接使用select实现该功能应该不现实,可以参考下面
    http://www.vivichen.com/demo/ComboBox/combo_demo.htm
      

  16.   

    用css即可
    看看http://www.musecn.com/mask/scopebbs/的下拉矿是不是你要的风格
      

  17.   

    提示一下
    比如这个select是style="width:80px"
    外面套一个<span class="box"  style="width:80px">
      

  18.   

    谢谢 LoveCherry:
    现在我的问题是在不改动界面和程序的前提下,修改控件的样式
    而且我需要把整个select改成xp风格,你的网页中的那个下拉框是把边框设为0,然后用了一个sapn的边框,这样确实改了一下边框的风格,但是select旁边的下拉按钮的风格没法改变。
      

  19.   

    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
    }
      

  20.   

    我看了他的css.css
    我是想把整个界面实现在xp风格的,而且最好是只修改css就能搞定。
    如果用这种方法来改边框的风格的话,那我必须把程序中的所有select都加一个span,这样做的代价太大了
      

  21.   

    以前在技术文章里看过一篇,不过特别麻烦,是用图片替换的,代码有特长,你到技术文章里找找,好像在asp类的
      

  22.   

    刚刚在html里面测试了一下,<select>是可以设置style的,而<option>默认会继承style当然也可以override新的style。楼主不如做一个最简单的页面,就放一个select控件并且在ASP.NET中设置好class,然后看看把它实际运行输出的HTML贴上来让大家分析一下。
      

  23.   

    to  cat_hsfz() 
    我要控制的样式不仅是背景色,字体,还须要控制它的边框,旁边下拉按钮的样式。
    -------------------------
    比如我把 select的border定义为1 solid black;
    在页面中,select的外框没有改变的,我想应该是select是由多个子控件构成,因此需要把子控件的样式也改掉。但是我没有找到关于这种说法的资料。
      

  24.   

    有这样的控件可以实现你的功能;Asp.Net 控件 PopComboBox
    ASP.NET中多列下拉框
    应该都可以实现,你搜一下,或告诉我mail,我发给你
      

  25.   

    to  litp(天道酬勤) :
    现在我的问题是在不改动界面和程序的前提下,修改控件的样式
    --------------------
    谢谢楼上,可是现在的情况是这样的。程序和界面已经做好了,全部采用标准的html和服务端控件(样式也是标准的,每个控件都指定了一个css class),然后想在这个基础上把所有的控件改成xp的格式。
    我现在的想法是采用css+htc来改的。因为这样做的话只需修改一下css样式文件就行了。不会影响的原来的程序。请问有没有办法修改标准的select或dropdownlist的样式的方法?
    或者说说哪在javascrip中select控件的哪些属性会影响select控件也可以?
    给文章链接或一些有用的线索或具体的说明都可以。
      

  26.   

    UP+学习+接分UP+学习+接分UP+学习+接分
      

  27.   

    彼岸烟花][被XX
    终于被XX了,哈哈,真是好哦,做得好,早该这样了,呵呵!最讨厌这样的人
      

  28.   

    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>