c# - 使用 CSS 更改 ASP.NET 中下拉列表所选元素的背景颜色

标签 c# asp.net css

我想更改下拉列表、列表框和文本框中所选元素的背景颜色。这可以用 CSS 实现吗?

谢谢

更新

刚刚试过这个 CSS:

::-moz-selection 
{
    background-color:#8CCA1E;
    color:Black;
}

适用于选定的文本,但不适用于悬停颜色或下拉列表或列表框中的选定元素颜色。

最佳答案

您可以通过指定 CssClass 或 BackColor 属性从 .aspx 页面设置背景颜色。它看起来像:

<asp:ListBox CssClass="MyListBox" BackColor="#e0e0e0"></asp:ListBox>

设置所选元素有点棘手......我不相信有直接的属性。您可以在 javascript 或 jQuery 中设置它,例如:

// Never mind, this won't work
<script type="text/javascript">
  $(document).ready(function() {
    $('#MyListBox').click(function() {
        $("#MyListBox option:selected").css("background-color", "#e0e0e0");
    }); 
  });
</script>

我会测试它以确保它有效...如果您需要直接的 javascript 解决方案,我会看看我能想出什么。但是,如果您不使用 jQuery,并且希望对控件进行细粒度控制,那么现在是学习它的好时机:)

感谢 Justin 对脚本的更正!


编辑
悬停很容易...添加样式:

  select > option:hover {
    background-color:  #ffffd0;
  }

这将为您在页面上悬停的任何列表框元素设置背景颜色。 jQuery 可用于在所有列表框上设置点击功能,而不仅仅是具体#MyListBox...给我几分钟时间,我将添加一些代码


更新
经过广泛的研究,用尽了我拥有或可以使用的所有资源,我得出的最佳答案是:无法设置所选颜色。

即使是我想出的 jQuery 代码也行不通。所选颜色由操作系统设置,不能被覆盖。

抱歉,我能做的最好的就是 :hover 伪选择器
:(

.

关于c# - 使用 CSS 更改 ASP.NET 中下拉列表所选元素的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4185564/

相关文章:

javascript - 有什么方法可以在不完全重新处理/重新编码的情况下为我的迷宫添加边界?

html - 改变 "li"有两个类

c# - Entity Framework 相同类型的多个集合

c# - Vector2.Normalize函数,对对角线输出感到困惑

c# - 可序列化的部分类

jquery - 如何在 ASP.NET MVC 3 和 JQuery 中基于单选按钮选择验证文本框?

asp.net - 使用 Publish Pipeline Artifact 、下载 Pipeline Artifact 并部署到 Azure webapp 的正确方法

C# 小数类型相等

c# - 从 MVC 调用 Javascript 的标准实践

html - CSS 在最小化屏幕时保持 div 的固定宽度