#css #user-interface #css-selectors
#css #пользовательский интерфейс #css-селекторы
Вопрос:
У меня есть этот селектор:
.ui-widget-overlay
{
background: #262b33;
opacity: .70;
filter: Alpha(Opacity=70);
}
Я хочу иметь возможность делать что-то подобное:
.ui-widget-overlay
{
background: #262b33;
opacity: .70;
filter: Alpha(Opacity=70);
.container:
{
-webkit-filter: blur(5px);
}
}
Что означает, что если этот селектор активен, добавьте этот атрибут в контейнер .
Возможно ли это? Или я должен использовать способ JS?
Комментарии:
1. является ли контейнер родительским?
2. Да, это родительский div
3. Я бы использовал jquery для этого. Насколько я знаю, нет способа выбрать родительский элемент впоследствии? w3schools.com/cssref/css_selectors.asp
Ответ №1:
Вы можете использовать селектор атрибутов, например
div[class="ui-widget-overlay"] .container {....}
html /* например */
<div class="ui-widget-overlay">Test
<div class="container">Container</div>
</div>
css
.ui-widget-overlay {
background: #262b33;
opacity: .70;
filter: Alpha(Opacity=70);
}
div[class="ui-widget-overlay"] .container {
-webkit-filter: blur(5px);
color: red; /* added to see a visible change */
}
Комментарии:
1. Моя ситуация такова: jsfiddle.net/6ssD3/4 — Мне нужно применить размытие к контейнеру.
2. вы хотите применить
-webkit-filter: blur(5px);
к контейнеру или тесту?3. к контейнеру, если применяется наложение пользовательского интерфейса-виджета.
4. В css пока нет родительского селектора, для этого вам нужно использовать jquery.
Ответ №2:
Вы можете сделать что-то вроде этого. http://jsfiddle.net/3p3j9/4 /
.test1
{
background:yellow;
font-family:Arial;
}
.test1 > .test2
{
background:cyan;
}
Контейнер будет применять дизайн, только если он находится внутри основного контейнера.
<div class='test1'>
test12345
<div class='test2'>
test123
</div>
</div>
<div class='test2'>
test1234567
</div>
Ответ №3:
Добавьте еще один класс и установите для него оба .container
и .ui-widget-overlay
—
.ui-widget-overlay.nowActive {
background: #262b33;
opacity: .70;
filter: Alpha(Opacity=70);
}
.container.nowActive {
-webkit-filter: blur(5px);
}
с помощью JS / jQuery добавляйте / удаляйте .nowActice
, когда это требуется.
В jQuery это — .addClass()