用于noscript标签的正文样式?

时间:2010-11-23 09:53:01

标签: javascript css noscript

如果没有启用JavaScript,我希望我的身体有overflow:hidden(没有滚动条)。

我该如何解决这个问题?是否可以在< head>内使用noscript标签并在其中设置特定的样式?

4 个答案:

答案 0 :(得分:5)

如果您指的是HTML文档的<body>,我会为已禁用JS的用户构建HTML。例如,在CSS文件中有body { overflow:hidden },然后使用JavaScript来设置启用JavaScript的用户应该使用的页面(例如,使用JavaScript删除overflow:hidden)。

答案 1 :(得分:2)

我很确定

<noscript>
    <style type="text/css">
        body {
            overflow:hidden;
        }
    </style>
</noscript>
<head>中的

可以胜任。

但正如另一篇文章所述,为此目的使用CSS可能更好,并为使用JavaScript的浏览器启用溢出。

答案 2 :(得分:2)

使用head部分内的<noscript>标记无效(仅允许在<body&gt;内),因此您可以使用此变通方法(HTML5示例)

 <!doctype html>
 <html lang="en">
     <head>
         <script>document.documentElement.className = 'js';</script>
         <style>
             body { overflow: hidden; }
             html.js body { overflow: auto; }
         </style>
     </head>

答案 3 :(得分:1)

这可能是超级矫枉过正,但仅限于一般知识:

Modernizr使用一种机制,建议您将no-js类放在html标记上。如果modernizr运行,则会删除no-js类。使用modernizr会有点矫枉过正,但你可以自己做。在你的CSS中你会有:

html.no-js body {
    overflow:hidden;
}