代码之家  ›  专栏  ›  技术社区  ›  Milan BabuÅ¡kov

类似JavaScript警告和w3c HTML验证的堆栈溢出

  •  0
  • Milan BabuÅ¡kov  · 技术社区  · 14 年前

    我有一个严重依赖JavaScript的网站。虽然大多数东西都很好地降级了,但功能上确实是二级的。所以,我想提醒用户,如果禁用了JS,他们应该打开它。为此,我使用NOSCRIPT显示一个div,并在页面顶部发出警报,类似于堆栈溢出的方式。

    这个div覆盖了页面内容的顶部,所以我必须向下移动文档体。因为JS不可用,所以必须使用CSS,我使用如下内容: margin-top: 8px . 完整的HTML如下所示:

    <noscript>
    <style type="text/css">body { margin-top:8em; }</style>
    <div class="warn">WARNING<br>Turn on JavaScript for best experience</div>
    </noscript>
    

    问题是:我该把代码放在哪里?

    我在HEAD部分、BODY部分、BODY之后进行了尝试,但是不管它放在哪里,W3C HTML标记验证器都会抱怨 文档类型此处不允许元素“样式”

    我甚至尝试将CSS和DIV分成两部分,并为每个部分找到一个合适的位置,但是得到了相同的错误。

    2 回复  |  直到 10 年前
        1
  •  2
  •   alex    14 年前

    你可能只需要把它吸起来,接受你的页面不会生效。

    ……或者 position: static

    ……或者 ,为了让你的 body margin-top: 8em . 然后在JavaScript中的DOM ready(或window load)上,将其设为0。

    CSS

    body {
       margin-top: 8em;
    }
    
    body.javascript {
       margin-top: 0;
    }
    

    JavaScript

    window.onload = function() {
       document.getElementsByTagName('body')[0].className += ' javascript';
    };
    
        2
  •  -1
  •   naton    14 年前