【问题标题】:option:checked is not working with IE 11选项:检查不适用于 IE 11
【发布时间】:2016-07-10 13:48:42
【问题描述】:

我有选择标签,需要根据选择更改选项的背景图像。我正在使用下面的样式,此样式适用于 chrome,但不适用于 IE 11。不确定我需要做哪些更改才能使其在 IE 11 上运行?

          option:checked 
          {    
                       background-image: url("SelectBlue.png");
                       color: white;
          }

下面是完整的 HTML 代码

            <!doctype html>
            <html lang="en">
            <head>
              <meta charset="utf-8">
              <title>change demo</title>
              <style>
              div {
                color: red;
              }
              </style>


            <style type="text/css"> 

                select::-ms-expand
                {
                    display:none;       
                }   
                .ListBox{       
                    background-color: transparent;
                    font-family: verdana;
                    font-size: 8pt;
                    font-weight: bold;
                    color: black;
                    vertical-align:middle;  
                    height:400px;
                    width:300px;
                }

                option:checked {    
                    background-image: url("DataGridSelectBlue.png");
                    color: white;
                }   

            </style>

              <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
            </head>
            <body>

             <input  id="hid"  type="hidden">
            <select id="sweets" name="sweets" multiple="multiple" class="ListBox">
              <option value="a">Chocolate</option>
              <option value="b" selected="selected">Candy</option>
              <option value="c">Taffy</option>
              <option value="d" selected="selected">Caramel</option>
              <option value="e">Fudge</option>
              <option value="f"> Cookie</option>
            </select>

            <select name="food" multiple="multiple" class="ListBox">
              <option>Idly</option>
              <option selected="selected">Sambar</option>
              <option>Dosa</option>
              <option selected="selected">Bisibele bhath</option>
              <option>chutney</option>
              <option>upma</option>
            </select>

            <div></div>

            </body>
            </html>

【问题讨论】:

  • 能否也分享一下你的html代码?
  • 似乎没有完全支持修改选中选项的颜色/背景,但仍有可以修改的属性 - 比如“边框”:codepen.io/anon/pen/wWAmjK
  • 除了感谢选项之外还有什么其他选项:检查?
  • 你可以用JS改变checked选项的类,然后用类选择器代替伪类选择器。但正如答案中提到的 - 问题是 css 属性不完全兼容。

标签: jquery html css internet-explorer


【解决方案1】:

经过深入研究

根据 MDN,:checked CSS 伪类选择器(基本功能)与 IE11 兼容:

  • Chrome 1.0
  • 火狐(壁虎)1.0
  • Internet Explorer 9.0
  • Opera 9.0
  • Safari 3.1

来源:https://developer.mozilla.org/en-US/docs/Web/CSS/:checked

如果是这样,它可能不起作用的原因是属性“背景图像”不完全兼容浏览器。

我正在使用 chrome 并创建了以下 codepen(基于您的代码) - 您可以在多个浏览器上对其进行测试以查看支持的属性:

            option:checked {    
                background-color: green; /*Won't apply*/
                color: green; /*Won't apply*/
                border:1px solid green; /*Will apply (at least on chrome)*/
                background-image:url('http://www.bostonscientific.com/content/dam/bostonscientific/utility-icons/icon_Phone.png'); /*Will apply (at least on chrome)*/
            } 

http://codepen.io/anon/pen/wWAmjK

【讨论】:

    猜你喜欢
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 1970-01-01
    • 2014-07-07
    • 2017-05-05
    • 1970-01-01
    相关资源
    最近更新 更多