样式禁用<select multiple =“”>控件

时间:2017-07-23 08:03:15

标签: html css html5 css3 twitter-bootstrap-3

我定制Bootstrap组件 - 包括CSS和Javascript - 是主题化的。这是必要的,因为我的主题是可逆的;我想确保每个Bootstrap组件的每个状态都可以反转,以便它可以访问并且易于阅读。我已经设法为大多数组件执行此操作,但我在设置多选控件时遇到问题。我在测试页面中包含了一些其他控件,以便您可以看到我的目标;我希望多选控件的文本颜色与文本,日期和其他控件的文本颜色相同。如果您想在上下文中查看整个页面,请查看我的Bootstrap测试页面。当我在Chrome中检查元素时,它会显示选项&#39;颜色是&#34;灰色文字&#34; - 显然是Chrome的默认设置。为什么我的CSS没有覆盖它? 我有另一个与此问题有关的问题;为什么Bootstrap将:disabled选择器括在方括号中?即选择[禁用] {...}。我试过两种风格的多选控制。 &#13; &#13; / * Bootstrap Form Controls * /&#13; &#13; .form-control {&#13;   background-color:hsl(240,100%,95%);&#13;   border-color:hsl(240,100%,25%);&#13;   颜色:hsl(240,100%,40%);&#13; }&#13; &#13; .form-control:focus {&#13;   background-color:white;&#13;   颜色:黑色;&#13; }&#13; &#13; .FORM控制[无效],&#13; fieldset [disabled] .form-control,&#13; fieldset [disabled]&gt;选择[multiple] .form-control,&#13; textarea:disabled .form-control,&#13; 选择[禁用] .form-control,&#13; 选择[多个]选项:禁用.form-control {&#13;   -webkit-appearance:none;&#13;   background-color:hsl(240,100%,93%);&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control [disabled] :: - moz-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control [disabled] :: - moz-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control [disabled]: - moz-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control [disabled]: - moz-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control [disabled]: - ms-input-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control [disabled]: - ms-input-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control [disabled] :: - webkit-input-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control [disabled] :: - webkit-input-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control :: - moz-placeholder {&#13;   颜色:hsl(240,100%,40%);&#13; }&#13; &#13; .form-control:focus :: - moz-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control:-moz-placeholder {&#13;   颜色:hsl(240,100%,40%);&#13; }&#13; &#13; .form-control:focus:-moz-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control:-ms-input-placeholder {&#13;   颜色:hsl(240,100%,40%);&#13; }&#13; &#13; .form-control:focus:-ms-input-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; .form-control :: - webkit-input-placeholder {&#13;   颜色:hsl(240,100%,40%);&#13; }&#13; &#13; .form-control:focus :: - webkit-input-placeholder {&#13;   颜色:hsl(240,100%,80%);&#13; }&#13; &#13; 选择[multiple] .form-control {&#13;   border-radius:10px;&#13; }&#13; &#13; 。输入,&#13; .FORM控制,&#13; .btn,&#13; .btn + .dropdown-menu {&#13;   font-size:18pt;&#13; }&#13; &lt;!DOCTYPE html&gt;&#13; &lt; html lang = en&gt;&#13; &#13; &LT; HEAD&GT;&#13;   &lt; link href =&#34; http://getbootstrap.com/dist/css/bootstrap.min.css"的rel =&#34;样式表&#34; /&GT;&#13;   &lt; style type =&#34; text / css&#34;&gt;&#13;     身体{&#13;       font-size:18pt;&#13;     }&#13;   &LT; /风格&GT;&#13;   &lt; script src =&#34; http://getbootstrap.com/dist/js/bootstrap.min.js"&gt;&lt; / script&gt;&#13; &LT; /头&GT;&#13; &#13; &LT;身体GT;&#13;   &lt; h3&gt;已禁用控件&lt; / h3&gt;&#13;   &lt; fieldset disabled&gt;&#13;     &lt; div class =&#34; form-group&#34;&gt;&#13;       &lt; div class =&#34; form-group&#34;&gt;&#13;         &lt; label for =&#34; TB_DisabledTextSample&#34;&gt;文字示例&lt; / label&gt;&#13;         &lt; input type =&#34; text&#34; class =&#34; form-control input-lg&#34; ID =&#34; TB_DisabledTextExample&#34;占位符=&#34; AaBbCcDdEeFfGg&#34;禁用&GT;&#13;       &LT; / DIV&GT;&#13;       &lt; div class =&#34; form-group&#34;&gt;&#13;         &lt; label for =&#34; TB_DisabledDateSample&#34;&gt;日期示例&lt; / label&gt;&#13;         &lt;输入类型=&#34;日期&#34; class =&#34; form-control input-lg&#34; ID =&#34; TB_DisabledDateExample&#34;禁用&GT;&#13;       &LT; / DIV&GT;&#13;       &lt; div class =&#34; form-group&#34;&gt;&#13;         &lt; label for =&#34; DDL_DisabledMultiSelectSample&#34;&gt;多个选择示例&lt; / label&gt;&#13;         &lt; select multiple id =&#34; DDL_DisabledMultiSelectSample&#34; class =&#34; form-control input-lg&#34;禁用&GT;&#13; &LT;选项&GT;焦炭及LT; /选项&GT;&#13;               &LT;选项&GT;博士。辣椒&LT; /选项&GT;&#13;               &LT;选项&GT;太。露&LT; /选项&GT;&#13; &LT;选项&GT;百事可乐&LT; /选项&GT;&#13; &lt; option&gt; Root Beer&lt; / option&gt;&#13; &LT;选项&GT;精灵&LT; /选项&GT;&#13; &LT; /选择&GT;&#13;       &LT; / DIV&GT;&#13;   &LT; /字段集&GT;&#13; &LT; /体&GT;&#13; &#13; &LT; / HTML&GT;&#13; &#13; &#13;

1 个答案:

答案 0 :(得分:1)

知道了!

问题在于这一行:select[multiple] option:disabled .form-control {

此选择器会转换为&#34;具有类form-control的元素,其父级是option,其伪选择器为disabled,其中&#39;父级为select,其属性为multiple&#34;。

您想要的是具有属性select的{​​{1}}元素,伪选择器multipledisabled类。这将成为form-control

在选择器中添加空格表示您要选择元素的子元素。这是everything you can do with CSS selectors的简要介绍。相关的是select.form-control[multiple]:disabledelement,elementelement element

要回答第二个问题,element>element会选择已停用的元素。 :disabled选择属性为[disabled]的元素。但是,要禁用元素,需要才能使用disabled属性。因此,它们实际上是相同的。我得到了一切吗?