如果启用了javascript,如何链接外部样式表

lin*_*dhe 2 html javascript css noscript

我有一个页面,我希望根据是否启用javascript来设置不同的样式.

码:

<link rel="stylesheet" href="./css/main.css" type="text/css" />

<noscript>
    <link rel="stylesheet" href="./css/noscript.css" type="text/css" />
</noscript>
Run Code Online (Sandbox Code Playgroud)

我的问题是noscript.css只覆盖了一些属性,而不是全部.因此,由于main.css在其中具有更多样式,所以它也适用.只有被覆盖的样式看起来很好.如果我删除指向main.css的链接,页面看起来就像我想要的那样.

有没有办法将所有以前的样式"重置"为默认值,或禁用noscript上main.css的链接?

谢谢!

Poi*_*nty 6

你可以这样做:

<script>
  document.write('<link rel="stylesheet" href="./css/main.css" type="text/css" />');
</script>
<noscript>
    <link rel="stylesheet" href="./css/noscript.css" type="text/css" />
</noscript>
Run Code Online (Sandbox Code Playgroud)

我通常不是一个忠实的粉丝document.write(),但这是最简单的事情.你当然可以创建<link>标签,<head>如果它太令人反感,可以将它附加到其他任何地方.