如果它位于另一个.gif旁边,则隐藏.gif

16 html javascript css css-selectors css3

我有一个服务,人们可以上传他们的图像,我在我的网站上显示..gif如果它被上传到另一个旁边,我想自动隐藏它.gif.

我不希望这影响结束图像.png.jpg..只.gifs.

这是一个图像示例..

在此输入图像描述

如果.gifs连续三个,则只显示第一个.

我试过选择它并隐藏它,但这根本不起作用.

img > .gif{
    display:none;
}
Run Code Online (Sandbox Code Playgroud)

我需要使用JavaScript或jQuery来实现这一目标吗?

Jos*_*ier 32

你可以使用纯CSS来做到这一点- 不需要Javascript/jQuery!

使用属性选择器直接相邻组合子的组合:+1

这将设置display:none;任何gifs紧跟在.gif.因此,不会有两个以上.gifs彼此出现.

img[src$=".gif"] + img[src$=".gif"] { 
    display:none;
}
Run Code Online (Sandbox Code Playgroud)

这里有jsFiddle演示!


1个属性选择器和直接相邻的组合子的使用是不完全支持由IE8和向下.

  • 好用"属性结束"选择器,但这不会隐藏除了第一个gif之外的所有内容吗?我认为OP需要澄清. (2认同)
  • 这是根据提供的图像. (2认同)
  • +1,催眠器生成的化身.请注意,您无法编写一个动态选择器,该选择器将在具有相同属性值的另一个元素之后选择具有该属性值的元素 - 如果您需要将此应用于所有图像格式,则需要为每种格式重复选择器. (2认同)

Tom*_*zan 10

写吧:

.gif + .gif {
    display: none;
} 
Run Code Online (Sandbox Code Playgroud)

  • 对 - 它肯定会工作,但是这将需要一个不需要的类. (2认同)