【问题标题】:Loading css stylesheets inside <noscript> tags with Flask使用 Flask 在 <noscript> 标记内加载 css 样式表
【发布时间】:2013-10-27 12:57:33
【问题描述】:

我正在尝试调整来自 http://html5up.net 的一些模板以与 Flask 一起使用。静态 HTML 页面可以很好地加载目录结构

/website
  /css
  /js
  /images
  index.html

但对于 Flask 它必须是

/website
    /templates
        index.html
    /static
        /css
        /js
        /images

在 javascript 和图像文件之前添加 /static 可以正常工作,并且它们会按预期显示。但是,css 文件的链接位于&lt;noscript&gt; 标签内,我无法在主 html 页面中找到它们。我尝试过绝对和相对寻址,并将样式表移动到目录结构中的不同位置,但没有运气。我只是得到一个没有 CSS 样式的丑陋页面。

如果我删除标签,那么它可以正常加载以供桌面使用,但是当使用平板电脑或手机查看时,页面将不再适应。

原始标题的摘录:

<head>
    <script src="js/jquery.min.js"></script>
    <script src="js/config.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>
    <!--[if lte IE 9]><link rel="stylesheet" href="css/ie9.css" /><![endif]-->
    <!--[if lte IE 8]><script src="js/html5shiv.js"></script><![endif]-->
</head>

以及我期望的工作,但没有

<head>
    <script src="/static/js/jquery.min.js"></script>
    <script src="/static/js/config.js"></script>
    <noscript>
        <link rel="stylesheet" href="css/skel-noscript.css" />
        <link rel="stylesheet" href="/static/css/style.css" />
        <link rel="stylesheet" href="/static/css/style-desktop.css" />
    </noscript>
    <!--[if lte IE 9]><link rel="stylesheet" href="/static/css/ie9.css" /><![endif]-->
    <!--[if lte IE 8]><script src="/static/js/html5shiv.js"></script><![endif]-->
</head>

-编辑-

config.js 的内容

window._skel_config = {
    preset: 'standard',
    prefix: 'css/style',
    resetCSS: true,
    breakpoints: {
        '1000px': {
            grid: {
                gutters: 25
            }
        }
    }
};

window._skel_panels_config = {
    preset: 'standard'
};

【问题讨论】:

  • noscript 标签只有在禁用 JS 时才会执行。听起来 javascript 包含 CSS 文件,并且 noscript 标记用于包含 CSS 文件,以防 JS 被禁用。检查 config.js 看看它是否对 CSS 做了任何事情。
  • 感谢您的评论 - 我已经添加了配置文件的内容。我没有看到任何会因为结构变化而损坏的东西。
  • 您可能需要在 config.js 中将 prefix: 'css/style' 更改为 prefix: '/static/css/style'
  • 完美 - 非常感谢。

标签: css html flask


【解决方案1】:
Try This:

<head>
        <script src="..\static/js/jquery.min.js"></script>
        <script src="..\static/js/config.js"></script>
        <noscript>
            <link rel="stylesheet" href="..\css/skel-noscript.css" />
            <link rel="stylesheet" href="..\static/css/style.css" />
            <link rel="stylesheet" href="..\static/css/style-desktop.css" />
        </noscript>
        <!--[if lte IE 9]><link rel="stylesheet" href="..\static/css/ie9.css" /><![endif]-->
        <!--[if lte IE 8]><script src="..\static/js/html5shiv.js"></script><![endif]-->
    </head>

【讨论】:

    【解决方案2】:

    我尝试用这个修改内容 config.js 文件:

    window._skel_config = {
        preset: 'standard',
        prefix: 'http://website/static/css/style',
        resetCSS: true
    };
    
    window._skel_panels_config = {
        preset: 'standard'
    };
    

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      • 2015-04-08
      • 1970-01-01
      • 2014-02-06
      相关资源
      最近更新 更多