如果未啓用JavaScript,我希望我的身體擁有overflow:hidden
(無滾動條)。noscript標籤的正文樣式?
我該如何解決這個問題?是否可以在< head>內使用noscript標籤,並在其中設置特定的樣式?
如果未啓用JavaScript,我希望我的身體擁有overflow:hidden
(無滾動條)。noscript標籤的正文樣式?
我該如何解決這個問題?是否可以在< head>內使用noscript標籤,並在其中設置特定的樣式?
我在你<head>
會做的工作非常肯定
<noscript>
<style type="text/css">
body {
overflow:hidden;
}
</style>
</noscript>
。
但正如另一篇文章所述,爲此目的使用CSS可能會更好,並且啓用JavaScript的瀏覽器溢出。
如果您的意思是HTML文檔的<body>
,我會爲禁用JS的用戶構建HTML。例如,在CSS文件中有body { overflow:hidden }
,然後使用JavaScript來設置頁面,因爲它應該適用於啓用了JavaScript的用戶(即使用JavaScript去除overflow:hidden
)。
這可能是一個超級矯枉過正,但只是一般知識:
Modernizr採用一種機制,它建議你把no-js
類在你的HTML標記。如果modernizr運行,它將刪除no-js
類。使用modernizr會是一種矯枉過正,但你可以自己做。在你的CSS你會:
html.no-js body {
overflow:hidden;
}
它使用的頭段內的<noscript>
標籤不是有效(只允許內部<body
>),所以你可以使用此解決方案,而不是(HTML5的例子)
<!doctype html>
<html lang="en">
<head>
<script>document.documentElement.className = 'js';</script>
<style>
body { overflow: hidden; }
html.js body { overflow: auto; }
</style>
</head>
好主意,尤其是現在不推薦使用noscript。 – 2010-11-23 09:59:19
+1!幫我一個忙,省略內聯樣式。這將使它完美:) – jwueller 2010-11-23 10:05:34
是的,我不會在現實生活中使用內聯樣式,但我認爲它會比較緊湊。我將編輯答案:) – JJJ 2010-11-23 10:08:15