Как добиться с помощью стилей, чтобы он был прозрачный, а его дочернии элементы нет?
В связи с тем, что я делаю анимированный стиль, я обнаружил, что opacity его ::before не может быть больше его собственного. А мне позарез нужно, что бы сам элемент проявлялся, а его ::before бы изначально видимым. Есть какие-то решения? Или все-таки придется 2мя элементами делать?
уточните задачу, если background интересует, то цвет через rgba (255,255,255,0.5) где 0.5 прозрачность. Какие элементы внутри и что надо сделать прозрачным
abyrkov: я могу смоделировать с таким описанием кучу вариантов.
Есть блок, он должен быть прозрачным - прозрачность можно сделать через задник, как писал выше, можно задать внутри этого блока дополнительно opacity его элементов обращаясь к ним:
.div-opacity img{opacity:0.5;}
.div-opacity{background: rgba(255,255,255,0.5);}
Можно по идее и обратится к тексту в before:
.div-opacity:before p{opacity:1;}
если так не получается, то можно сменить верстку, если нельзя\не хотите, то можно проследить наследование.
Короче - нужно говорить предметно, можно код в студию (html + css)? Или хотябы описание структуры, что в них и т.п.
abyrkov: так, начну с двух докопок - первое, сначала указывается сам .lol, потом его hover, before дальше указывается, потом hover:before. Собственно, тут есть .lol и .progress - это разные классы, наверное описались, везде поставил .lol , работает появление текста и выезжание скобочки влево.
abyrkov: разобрался кажется в твоем вопросе. Вообще before и after идут внутри блока, скрывая блок - скрываешь и все внутри него, поэтому и предлагал с самого первого сообщения присваивать opacity отдельным элементам, есть альтернатива для задников и текста - цвет rgba.
Вот в этом примере, если ты хотел чтобы была [ при наведении на нее появлялся текст, делаешь не opacity, а color: rgba(0,0,0,0) и в hover, before, :hover:before color:rgba(0,0,0,1), вуаля текст появляется и скобка ездит, всегда видна.