select2 更改下拉菜单的颜色

Posted

技术标签:

【中文标题】select2 更改下拉菜单的颜色【英文标题】:select2 change color of dropdown 【发布时间】:2014-03-14 04:55:36 【问题描述】:

是的,所以我不知道我在做什么。哈。

我想更改 select2 的未打开下拉菜单的颜色(可能还有侧面的按钮),但寻找解决方案只能设法阻止我

.select2-choice
  min-height: 35px;
  max-height: 35px;
  background: #222;
  overflow-y: auto;


.select2-search 
    background-color: #666;


.select2-search input 
    background-color: #666;

.select2-results 
    background-color: #666;

这改变了选项(这很好!)但不是 100% 我所追求的。

是否有一个类可以改变下拉菜单初始状态的颜色?

【问题讨论】:

看这里:***.com/questions/12836227/… 【参考方案1】:

select2 改变下拉菜单的颜色

.select2-results__option 
    background-color: red;
    color: yellow;

look

【讨论】:

不错!你是怎么发现的?我无法使用检查器工具找到它.. 看起来更好;))【参考方案2】:

这可能是答案:

如果你知道插件,我在使用 SelectBox 时遇到了这些问题,大约 10 分钟后,我告诉自己 =“该死,这不是我的问题”。

这些插件中的问题是它们从您的选择标签中获取选项并创建自己的对象。

解决方案是销毁创建的元素并重新创建它。 如果它不起作用,请告诉我,即使我 90% 相信它的问题,我也会删除答案。

【讨论】:

【参考方案3】:

没有更改下拉菜单初始状态的类,但您可以编写自己的非常简短易懂的 Jquery 来设置下拉菜单的颜色。

首先,编写变色函数:

var changeColor = function (element, selection) //changes colors of dropdowns
    if (selection == 1 || selection == "green") //Mine works based on the dropdown itself
        element.css('background-color', 'green');
    
    else if (selection == 2 || selection == "yellow") 
        element.css('background-color', 'yellow');
    
    else 
        element.css('background-color', 'red');
    

然后,确保在页面完成渲染后运行该函数:

jQuery(document).ready(function ($) 
    changeColor($('#ColoredDropdown'), $('#ColoredDropdown').val());
);

最后,请务必在需要时调用颜色更改函数 - 在这种情况下,当您更改另一个下拉菜单时:

$('#FirstDropdown').change(function () 
    changeColor($('#SecondDropdown'), $('#FirstDropdown').val());
);

对不起,这个答案来得太晚了!我不完全理解您的问题,因此您必须了解我所说的“要点”,而不仅仅是复制和粘贴,但我希望它会有所帮助。

【讨论】:

【参考方案4】:

我现在意识到这是一个老问题,但多年来它已经被查看了很多次,并且还没有被接受的答案。我最近刚刚参与了一个主题项目,我必须为这些控件设置主题,所以我想分享我是如何解决这个问题的。

以下 CSS 覆盖 Select 2 下拉控件的不同部分。如果您想看到它的实际效果和/或将有些花哨的示例颜色更改为与您自己的项目相匹配的颜色,您可以在这个小提琴中尝试一下:https://jsfiddle.net/0t4ky6e5/2

:root 
    --Color1: #3333FF;
    --Color2: #FFFFFF;
    --Color3: #EC2121;
    --Color4: #000000;
    --Color5: #AAAAAA;
    --Color6: #F99320;


.js-example-basic-single 
  width: 200px;


/* Search Box */
.select2-container--default .select2-search--dropdown .select2-search__field 
  background: var(--Color4);
  color: var(--Color2) !important;  


/* Search Box border */
.select2-search--dropdown
  background: var(--Color6);


/* Selected / Initial state input */
.select2-container--default .select2-selection--single .select2-selection__rendered 
  background: var(--Color1);
  color: var(--Color2) !important;  


/* Option List Area */
.select2-results__option 
  background: var(--Color1);
  color: var(--Color2) !important;   


/* Arrow button */
.select2-container--default .select2-selection--single .select2-selection__arrow 
  background: var(--Color3);


/* Selectable items highlight */
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable 
  background: var(--Color3) !important;  


/* Selected item highlight */
.select2-container--default .select2-results__option--selected 
  background: var(--Color5) !important; 
  color: var(--color4) !important;


/* Search result message area */
.select2-results__message 
  background: var(--Color6);  

【讨论】:

以上是关于select2 更改下拉菜单的颜色的主要内容,如果未能解决你的问题,请参考以下文章

Select2 下拉菜单低于主下拉菜单

如何进行活动菜单文本颜色更改导航下拉项子菜单? [复制]

如何更改下拉菜单按钮的颜色

Android微调器下拉菜单背景颜色更改

Bootstrap:更改背景颜色下拉菜单

如何更改材质ui选择菜单下拉颜色?