Я играю с псевдоселекторами и пытаюсь выяснить, что происходит.Правильный способ использования css псевдоселектора?
Это общий вид элемента я пытаюсь работать на:
<div class=simpleGallery>
<a href="...">
<img data-attachment-id="some_number" ........>
</a>
</div>
Я пытаюсь получить текст, чтобы показать на картинке с определенным атрибутом (данные привязанностей-ид, например) , Мне удалось получить его, ища href, который заканчивается уникальным способом. Как это ...
.simpleGallery a[href$="GP120094-1.jpg"]:before{
content:'Hokus Pokus';
position:absolute;
bottom:25%;
opacity:0;
width:100%;
text-align:center;
color:#fff;
box-sizing:border-box;
-moz-box-sizing:border-box;
-moz-transition: all 1.2s ease;
-webkit-transition: all 1.2s ease;
transition: all 1.2s ease;
}
И тогда я получаю текст, чтобы показать с:
.simpleGallery a:hover:before{
opacity:1;
z-index:1;
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
transform: scale(1.1);
}
Это все работает, но мне было интересно, почему он не будет работать с чем-то вроде этого:
.simpleGallery a:before img[data-attachment-id="some_number"]
Как это сделать с помощью идентификатора изображения-изображения вместо href в теге <a>
?
И почему?
Это потому, что: before может только пойти после последнего элемента, который я ищу?
Пожалуйста, обратите внимание, что реальная проблема с этой ситуацией здесь является то, что это невозможно добавить текст к IMG, так как IMG является _replaced element_, и любое содержание в нем не отображается. Поэтому ... вы не можете использовать ':: before' или' :: after' в самом img (это не сработает), и вам нужно будет делать дополнительный контент, используя ':: before' или' :: after 'на окружающих его элементах. –