如何更改帖子中图像的样式?

时间:2016-04-27 作者:Reagankm

我正在为一个旅游博客设计一个主题,作者喜欢在他们的帖子中插入一些小图片(an example is here).

我希望图像交替向左或向右浮动(因此第一个图像向左浮动,然后下一个图像向右浮动,等等)。我知道,有了CSS,你可以使用像nth of type这样的伪类将样式应用到每个其他项目,但在这种情况下似乎不起作用,因为它们不是一堆相邻的img项目,而是隐藏在文章段落中的img项目。

在这种情况下,如何将交替样式应用于帖子中的图像?

2 个回复
最合适的回答,由SO网友:mread1208 整理而成

Florian\'s 答案可能是你最好的选择,因为它让作者能够最大程度地控制图像的对齐方式,所以这将是我的第一个答案。

然而,如果你不相信你的作者会自己对齐图像,那么我们就不得不走另一条路。不幸的是,出于上述原因,我们似乎不能使用:nth子CSS,因为它们都嵌套在<p> 标签。

因此,我们必须使用一点jQuery来实现这一点:

$( document ).ready(function() {
    var imgCount = 0;
    $(\'.post-text img\').each(function(){
        // remove our alignnone class for good measure
        $(this).removeClass(\'alignnone\');
        // If the count is even, alignright, else align left
        if(imgCount%2 == 0){
            $(this).addClass(\'alignright\');
        } else {
            $(this).addClass(\'alignleft\');
        }
        imgCount++;
  });
});
这假设您使用的是jQuery,并且在CSS中设置了alignright和alignleft类。我有一个工作版本jsfiddle.

**注意:这将抓取您的post-text 类,因此如果使用post-text 如果您在站点上的任何其他位置加载此JS,它将影响站点的其余部分。我建议在博客帖子循环中添加一个新类,或者只在单个帖子上加载这个JS。php页面,这样只会影响你的博客帖子页面,而不会影响你网站上的其他内容。

SO网友:Florian

让编写器使用WordPress文本编辑器内置的左/右对齐功能。编辑器添加alignleftalignright 类到对齐的图像。Way more info can be found in the WordPress codex.