在外部托管的 CSS 中使用 Tumblr 的块元素

发布于 2024-12-24 20:51:23 字数 940 浏览 1 评论 0原文

我在使用 Tumblr 的自定义变量功能和外部托管的 CSS 时遇到问题。

背景
Tumblr 主题被编写为单个 html 页面,所有 CSS 都存储在文档中的

Tumblr 允许存储用户定义的数据在您的命名变量中,用花括号括起来。然后可以将它们应用到 CSS 中。一个示例可能是附加到 {color:BackgroundColour} 的颜色十六进制代码,然后可以使用它来代替 CSS 中的 #value。 (更多信息

当浏览器呈现页面时,存储在 < code>{color:BackgroundColor} 作为十六进制代码返回,一切正常。

问题
为了使主题开发更容易,我在外部托管 CSS 并在
中链接 当页面呈现时,我的自定义变量将按 CSS 中写入的形式返回,而不是提取附加值。

因此页面呈现:

#header{
width: 600px;
margin: 0;
padding: 0;
border: 0;
background-color:{color:BackgroundColor};  
}

而不是:

#header{
width: 600px;
margin: 0;
padding: 0;
border: 0;
background-color: #dedede;  
}

仅当 CSS 从外部托管链接时才会发生这种情况。他们是我可以解决这个问题的方法吗?

I'm having problems using Tumblr's custom variables functionality with externally hosted CSS.

Background
Tumblr themes are written as a single page of html with all CSS stored in <style> tags in the document <head>

Tumblr allows user-defined data to be stored in variable of your naming, wrapped in curly braces. These can then be applied in the CSS. An example might be a color hex code being attached to {color:BackgroundColour} which can then be used in place of a #value in the CSS. (More info)

When a browser renders the page the data stored in {color:BackgroundColor} is returned as the hex code and everything is ok.

Problem
To make theme development easier I am hosting my CSS externally and linking in the <head>
When the page renders, my custom variables are returned as the as they are written in the CSS, rather than pulling the attached value.

So the page renders:

#header{
width: 600px;
margin: 0;
padding: 0;
border: 0;
background-color:{color:BackgroundColor};  
}

Instead of:

#header{
width: 600px;
margin: 0;
padding: 0;
border: 0;
background-color: #dedede;  
}

This only happens when the CSS is linked from external hosting. Is their a way that I can get around this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

沙沙粒小 2024-12-31 20:51:23

根据我对 tumblr 模板引擎的有限了解,我不相信远程托管的 css 文件可以实现这一点。所有变量声明都在服务器端呈现,并以正确的语法提供给客户端。无论您如何注入外部托管的 css 文件,它都会为时已晚,因为服务器已经渲染了内容。

我能看到的唯一可行的妥协是将你的 css 文件拆分为需要变量和不需要变量的选择器。

例子:
tumblr 页面中包含的样式块。

<style type="text/css">
    #header{
        background-color:{color:BackgroundColor};  
    }
</style>

外部托管文件:

#header{
    width: 600px;
    margin: 0;
    padding: 0;
    border: 0;
}

这样您就可以满足外部托管 css 文件的要求,同时还可以利用 tumblr 引擎。

From my limited understanding of the tumblr templating engine I do not believe this is possible with a remotely hosted css file. All of the variables declarations are rendered server side and served up to the client with the correct syntax. No matter how you inject your externally hosted css file it will be to late as the server already rendered the content.

The only compramise I could see working would be to split up your css file to selectors that require the variables and ones that do not.

Example:
style block contained in the tumblr page.

<style type="text/css">
    #header{
        background-color:{color:BackgroundColor};  
    }
</style>

Externally hosted file:

#header{
    width: 600px;
    margin: 0;
    padding: 0;
    border: 0;
}

That way you can fulfill your requirement of an externally hosted css file but also utilize the tumblr engine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文