Tumblr:如何使用post标记来控制CSS(UPDATE:没有JQuery的工作方法!)
看过这个之前,我很好奇它是如何完成的。 示例可以在http://wordographic.info/找到
例如,如果我将post标记为蓝色,则post的bg颜色变为蓝色等。
谁知道这是怎么做到的?
谢谢。
找到了一种只使用HTML / CSS执行此操作的方法。 非常简单,只需将{Tag}块添加到包含post区域的任何div类,但要确保它在{block:Posts}和{block:Text}等之间。现在无论你标记什么post现在都变成了一个新类。
{block:Posts} {block:Text} {block:Title}{Title}
{/block:Title} {Body}
{/block:Text} {/block:Posts}
注意第三行。 在{Tag}之后添加空格很重要,否则它们将不会在HTML中分隔。
CSS看起来像这样:
.post { /* default style */ background: #ccc; float: left; margin: 10px; position: relative; } .blue { /* when tagged blue, use this style */ background: blue !important; }
作品! 很简单,不需要jquery!
谢谢Blender,如果我没有阅读你的jquery方法,就不会因为某种原因想到这个:)
使用jQuery,一切皆有可能! 这不会马上工作,所以调整它为您的主题:
$('.post-class .tag-container .tag').each(function() { $(this).closest('.post-class').addClass($(this).text()); });
它与JS无关,这些事情都是在服务器端完成的。 取决于标签将一些属性设置为post,然后在将它们呈现为HTML时将其考虑在内。
您希望将post的标签作为类名称,以便您可以使用CSS设置post样式,并且可以使用一个变量来实现此目的。 在您的模板中,只需使用{TagsAsClasses}
。 这将呈现HTML友好的类名。
post标签的HTML类属性友好列表。 示例:“幽默办公室new_york_city”
有关详细说明,请参阅Tumblr文档中的Post章节 。