【问题标题】:stylesheet in other directory with noscript带有 noscript 的其他目录中的样式表
【发布时间】:2014-06-23 14:54:18
【问题描述】:

我正在用 html 创建一个网站,但遇到了一个问题。

我有一个 css 文件夹,我希望能够从每个目录访问它

根:

/css  
   - /skel-noscript.css"    
   - /skel-noscript.css"

/js
   - init.js
   - skel.min.js
   - skel-panel.min.js
   - html5shiv.js

/Downloads
   -/Download.html

/Downloads.html

/index.html

...

现在当我尝试访问 Downloads/Download.html 中的样式表时遇到问题

我的<head> 代码:

<head>
    <title>TITLE</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="description" content="" />
    <meta name="keywords" content="" />
    <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700,800' rel='stylesheet' type='text/css'>
    <!--[if lte IE 8]><script src="../js/html5shiv.js"></script><![endif]-->
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script src="../js/skel.min.js"></script>
    <script src="../js/skel-panels.min.js"></script>
    <script src="../js/init.js"></script>
    <noscript>
        <link rel="stylesheet" href="../css/skel-noscript.css" />
        <link rel="stylesheet" href="../css/style.css" />
        <link rel="stylesheet" href="../css/style-desktop.css" />
    </noscript>
</head>

当我使用此代码时,样式表不起作用。 当我删除样式表链接周围的&lt;noscript&gt; 时,它们确实有效,但我的网站完全一团糟。

发生了什么? 当我在根目录中使用此代码时,它工作正常

【问题讨论】:

  • 为了执行 noscript 标记,应发生以下情况之一:页面上的脚本类型不受支持或浏览器当前已关闭脚本。
  • @Melvinr 当我这样做时,没有任何改变。

标签: html css noscript


【解决方案1】:

在这种情况下,不会从标签中添加 css 文件,适用于不支持 js 或 js 已关闭的浏览器。 转到您的 js 文件夹中的“init.js”文件(您在标签之前附加的那个)并检查它...正在从它们添加 css,因此从那里更改 css 的目录路径。 问候

【讨论】:

  • 是的,我无法真正检查它,因为它是我下载的模板,并且全部被缩小了。我不再使用它了......但我确实通过删除这些 js 文件并包含没有 noscript 标签的 css 来修复它。还是谢谢!
【解决方案2】:

您在测试时是否关闭了 javascript? &lt;noscript&gt; 仅在访问者未启用脚本时激活。如果您希望能够始终链接 css 文件,则必须摆脱标签。

【讨论】:

  • 我开始调试,样式表不起作用。我关闭了 javascript,并且样式表再次不起作用。当我重新打开 javascript 时,该网站就像图片上一样乱七八糟。如果我重新加载页面,这将从头开始。奇怪???
【解决方案3】:

我建议您创建一个类似于 header.phtml 的文件并调用渲染模板所需的所有文件。

<head>
    <title>TITLE</title>
    <noscript>
        <link href"<?= $this->getCssPath(); ?>" rel="stylesheet" type=text/css />
    </noscript>
</head>

并创建一个文件,您可以在其中创建类似的类

<?php class MyTemplate {

public function getCssPath() {

return 'css/skel-noscript.css';
       }

}

【讨论】:

  • 我对 html 很陌生。我不明白我怎么能做到这一点。有文件吗?
  • 如果我理解正确,这将是 .phtml 文件?顺便说一句,我做了一个测试,并将 /css 和 /js 文件夹移动到 /downloads 下。它工作得很好。所以我猜这与文件的位置有关。也许我无法使用以下方法进入根目录:../css/style.css
  • 那么如何解决呢?这个解决方案能解决吗?
猜你喜欢
  • 2023-03-29
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-17
  • 1970-01-01
相关资源
最近更新 更多