Спрячьте .gif, если он находится рядом с другим .gif
У меня есть служба, где люди могут загружать свои изображения, и я показываю их на своем веб-сайте. Я хочу автоматически скрыть .gif
, если он загружен рядом с другим .gif
.
Я не хочу, чтобы это создавало изображения, заканчивающиеся на .png
или .jpg
.. only .gifs
.
Вот пример изображения.
![enter image description here]()
Если в строке есть три .gifs
, отобразите только первый.
Я попытался выбрать его и спрятать, но это не работает вообще.
img > .gif{
display:none;
}
Нужно ли использовать JavaScript или jQuery для достижения этого?
Ответы
Ответ 1
Вы можете сделать это с помощью чистого CSS - нет необходимости в Javascript/jQuery!
Используйте комбинацию селектора атрибутов и прямого смежного комбинатора: +
1
Это установит display:none;
на любом gifs
сразу после a .gif
. Поэтому не более двух .gifs
будут появляться рядом друг с другом.
img[src$=".gif"] + img[src$=".gif"] {
display:none;
}
jsFiddle здесь!
1 Использование селектора атрибутов и прямого смежного комбинатора не поддерживается полностью по IE8 и вниз.
Ответ 2
Просто напишите:
.gif + .gif {
display: none;
}
Ответ 3
Вы можете использовать ответ @Tomzan для CSS Selector: Element + Element (я не могу комментировать из-за низкой репутации) [http://www.w3schools.com/cssref/sel_element_pluss.asp]:
.gif + .gif { display: none; }
ИЛИ без специального класса @yours CSS (http://www.w3schools.com/cssref/sel_attr_contain.asp):
img[src*=".gif"] + img[src*=".gif"] {display: none}
Из W3c для всех CSS-селекторов этого ответа:
Примечание. Для того, чтобы элемент element + работал в IE8 и ранее,! DOCTYPE > должен быть объявлен.
UPDATE
Первый, используя классы CSS, будет работать для IE7: http://msdn.microsoft.com/en-us/library/ie/aa358818(v=vs.85).aspx