如果没有启用JavaScript,我希望我的身体有overflow:hidden
(没有滚动条)。
我该如何解决这个问题?是否可以在< head>内使用noscript标签并在其中设置特定的样式?
答案 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;
}