Search code examples
csscss-selectorsinternet-explorer-11

How to write a CSS hack for IE 11?


How can I hack or write css only for IE 11? I have a website that looks bad in IE 11.I just search here and there but didnt find any solution yet.

Is there any css selector?


Solution

  • Use a combination of Microsoft specific CSS rules to filter IE11:

    <!doctype html>
    <html>
     <head>
      <title>IE10/11 Media Query Test</title>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <style>
        @media all and (-ms-high-contrast:none)
         {
         .foo { color: green } /* IE10 */
         *::-ms-backdrop, .foo { color: red } /* IE11 */
         }
      </style>
     </head>
     <body>
      <div class="foo">Hi There!!!</div>
     </body>
    </html>
    

    Filters such as this work because of the following:

    When a user agent cannot parse the selector (i.e., it is not valid CSS 2.1), it must ignore the selector and the following declaration block (if any) as well.

    <!doctype html>
    <html>
     <head>
      <title>IE10/11 Media Query Test</title>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <style>
        @media all and (-ms-high-contrast:none)
         {
         .foo { color: green } /* IE10 */
         *::-ms-backdrop, .foo { color: red } /* IE11 */
         }
      </style>
     </head>
     <body>
      <div class="foo">Hi There!!!</div>
     </body>
    </html>

    References