簡體   English   中英

用於noscript標簽的正文樣式?

[英]Body styling for a noscript tag?

如果沒有啟用JavaScript,我希望我的身體有overflow:hidden (沒有滾動條)。

我怎么解決這個問題? 是否可以在<head>中使用noscript標簽並在其中設置特定樣式?

如果你的意思是HTML文檔的<body> ,我會為已禁用JS的用戶構建HTML。 例如,在CSS文件中有body { overflow:hidden } ,然后使用JavaScript設置頁面,因為它應該是啟用了JavaScript的用戶(即刪除overflow:hidden用JavaScript overflow:hidden )。

我相當確定

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

在你的<head>會做的工作。

但正如另一篇文章中所述,為此目的使用CSS可能更好,並為使用JavaScript的瀏覽器啟用溢出。

使用head部分內的<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>

這可能是一個超級矯枉過正,但僅限於一般知識:

Modernizr使用一種機制,它建議你將no-js類放在你的html標簽上。 如果modernizr運行,它將刪除no-js類。 使用modernizr會有點矯枉過正,但你可以自己做。 在你的CSS中你會有:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM