Mam klasę CSS, Modal
która jest pozycjonowana absolutnie, indeksowana z-indeksem nad jej rodzicem i ładnie pozycjonowana za pomocą JQuery. Chcę dodać obraz karetki (^) na górze pola modalnego i patrzyłem na użycie :before
pseudo selektora CSS, aby zrobić to czysto.
Obraz musi być pozycjonowany absolutnie i indeksowany z-indeksem powyżej modalu, ale nie znalazłem sposobu, aby dodać odpowiednią klasę do obrazu w content
atrybucie:
.Modal:before{
content:url('blackCarrot.png') /* with class ModalCarrot ??*/
}
.ModalCarrot{
position:absolute;
left:50%;
margin-left:-8px;
top:-16px;
}
Druga najlepsza opcja - czy mogę dodać style bezpośrednio do atrybutu content?
Powinieneś użyć atrybutu background, aby nadać obraz temu elementowi, a ja użyłbym :: after zamiast before, w ten sposób powinien być już narysowany na twoim elemencie.
źródło
1. to moja odpowiedź na twój problem.
źródło
background-size: 33px 16px; background-repeat: no-repeat;
aby przeskalować obraz!Treść i wcześniejsze wersje są wysoce zawodne w różnych przeglądarkach. Sugerowałbym pozostanie przy jQuery, aby to osiągnąć. Nie jestem pewien, co robisz, aby dowiedzieć się, czy ta marchewka musi zostać dodana, czy nie, ale powinieneś mieć ogólny pomysł:
źródło
Content
iafter/before
są bardzo niezawodne we wszystkich głównych przeglądarkach, działają od ie8, co najmniej FF3.5, co najmniej Chrome 9, co najmniej Opera 10.6, co najmniej Safari 3.2, każdej wersji iOS Safari, każdej wersji Opery mini, każdej wersji Opera Mobile i zawsze wersja przeglądarki Android. jeśli chcesz wiedzieć, czy coś jest obsługiwane w różnych przeglądarkach, sprawdź: caniuse.com/#search=:afterCSS
nadJavaScript
na ten jeden. Bez względu na to, jak zaawansowana jest przeglądarka, użytkownik nadal może jąJavaScript
wyłączyć ... Na szczęście w tym przypadku selektory:before
i:after
są szeroko obsługiwane; quirksmode.org/css/selectors