Define css if javascript is not enabled

前端 未结 8 1647
无人共我
无人共我 2020-12-10 14:58

I want to define .exampleclass img {height:250px} if javascript is not enabled. Is their anyway to undo this in javascript / jquery?

相关标签:
8条回答
  • 2020-12-10 15:28

    You could probably use HTML's noscript tag.

    <noscript>
        <style type="text/css">
            .exampleclass img {height:250px}
        </style>
    </noscript>
    

    EDIT: I'm going to actually side with Stephen's answer as being the best. While the above might work, it might not be valid/following best practices.

    Stephen answered:

    put a "no-js" class on your body element, and then remove it with JS at load, and use .no-js in the selector for your CSS

    The class could also be placed on your html element and then all styling that should appear when JavaScript is not available can be prefixed with html.no-js before what the selector would be otherwise. This is what HTML5 Boiler Plate does, for example.

    0 讨论(0)
  • 2020-12-10 15:28

    One day we may have this

    Not currently active in Chrome 83 Win10

    https://developer.mozilla.org/en-US/docs/Web/CSS/@media/scripting

    p {
      color: lightgray;
    }
    
    @media (scripting: none) {
      .script-none {
        color: red;
      }
    }
    
    @media (scripting: initial-only) {
      .script-initial-only {
        color: red;
      }
    }
    
    @media (scripting: enabled) {
      .script-enabled {
        color: red;
      }
    }
    <p class="script-none">You do not have scripting available. :-(</p>
    <p class="script-initial-only">Your scripting is only enabled during the initial page load. Weird.</p>
    <p class="script-enabled">You have scripting enabled! :-)</p>

    0 讨论(0)
提交回复
热议问题