Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Tumblr:如何通过后期标记控制CSS(更新:没有JQuery的工作方法!)_Javascript_Jquery_Css_Tumblr - Fatal编程技术网

Javascript Tumblr:如何通过后期标记控制CSS(更新:没有JQuery的工作方法!)

Javascript Tumblr:如何通过后期标记控制CSS(更新:没有JQuery的工作方法!),javascript,jquery,css,tumblr,Javascript,Jquery,Css,Tumblr,看到这件事以前做过,我很好奇它是怎么做的。示例可在上找到 例如,如果我将一篇文章标记为蓝色,那么文章的背景颜色将变为蓝色,等等 有人知道这是怎么做到的吗 谢谢。使用jQuery,一切皆有可能!这不会马上起作用,因此请根据您的主题进行调整: $('.post-class .tag-container .tag').each(function() { $(this).closest('.post-class').addClass($(this).text()); }); 这与JS无关,这些事情

看到这件事以前做过,我很好奇它是怎么做的。示例可在上找到

例如,如果我将一篇文章标记为蓝色,那么文章的背景颜色将变为蓝色,等等

有人知道这是怎么做到的吗


谢谢。

使用jQuery,一切皆有可能!这不会马上起作用,因此请根据您的主题进行调整:

$('.post-class .tag-container .tag').each(function() {
  $(this).closest('.post-class').addClass($(this).text());
});

这与JS无关,这些事情都是在服务器端完成的。取决于标记一些属性被设置为POST,然后在将它们呈现为HTML时考虑它们。

找到了一种仅使用HTML/CSS的方法。非常简单,只需将{Tag}块添加到任何包装post区域的div类中,但要确保它位于{block:Posts}和{block:Text}等之间。现在,标记post的任何内容都将成为一个新类

{block:Posts}
  {block:Text}
    <div class="post {block:HasTags}{block:Tags}{Tag} {/block:Tags}{/block:HasTags}">
      {block:Title}<h2>{Title}</h2>{/block:Title}
      <p>{Body}</p>
    </div>
  {/block:Text}
{/block:Posts}
工作!非常简单,不需要jquery


感谢Blender,如果我没有阅读你的jquery方法,我可能不会出于某种原因想到这一点:)

你想把帖子的标签作为类名,这样你就可以用CSS来设计帖子的样式,并且有一个变量可以用于此目的。在模板中,只需使用
{TagsAsClasses}
。这将呈现HTML友好的类名

一个HTML类属性友好的帖子标签列表。 示例:“纽约市幽默办公室”


有关详细说明,请参阅Tumblr文档。

谢谢您的帮助。我在想,也许可以用纯CSS来实现这一点,想法是将Tumblr的{Tags}块放在一个div类中,类似于,如果它呈现,标记“blue”将呈现“blue”作为一个类。我想我没有太多使用Tumblr。很好的解决方案(我会将其作为答案发布并接受)!哈哈,谢谢,我做到了,我也测试过了,效果非常好。
(只是空间的重新排列)效果稍微好一点,因为它最后不会产生额外的空间。
.post { /* default style */
    background: #ccc;
    float: left;
    margin: 10px;
    position: relative;
    }
.blue { /* when tagged blue, use this style */
    background: blue !important; 
    }