#javascript #html #css
#javascript #HTML #css — код
Вопрос:
Есть ли какой-нибудь способ, которым я мог бы передать элемент стилю, но не использовать его сам?
Пример:
<div class="one">
<div class="two">
<div class="three">
</div>
</div>
</div>
.one {
background: url(image);
}
.two {
background: inherit;
!!! I want it to be passed down but not displayed here
}
.three {
background: inherit;
}
Комментарии:
1. кажется немного странным, что вы хотели бы этого. Какого эффекта вы добиваетесь?
2.
background: bypass;
В CSS такого нет3. Пожалуйста, не задавайте лишних вопросов .
4. Лучше просто использовать дополнительный класс для one и three.
Ответ №1:
Да, это возможно, но не так. Вы можете ввести переменную:
CSS:
:root {
--onebg: url(image);
}
.one {
background: var(--onebg);
}
.two {
background: <someOtherValue>;
}
.three {
background: var(--onebg);
}
HTML:
<div class="one">
<div class="two">
<div class="three">
...
</div>
</div>
</div>
Таким образом, вы можете создать three
фон inherit one
, и вы можете изменить фон обоих, изменив значение переменной.
Комментарии:
1. Это не было бы наследованием, не так ли? Это то же самое, что просто снова установить фон в .three верно?
2. Да, но таким образом вы можете изменить фон обоих, просто установив значение для
onebg
. Это почти то же самое, что и наследование: вы устанавливаете фонone
, и этот же фон используется внутриthree
.
Ответ №2:
Сделайте размер равным 0
.one {
background: url(https://picsum.photos/id/1/200/300);
}
.two {
background: inherit;
background-size: 0 0;
}
.three {
background: inherit;
background-size: initial;/* update the size here like you want */
}
div {
padding: 50px;
height: 50px;
border:1px solid red;
}
<div class="one">
<div class="two">
<div class="three">
</div>
</div>
</div>
Комментарии:
1. Это работает в некоторых случаях, но не дает прямого ответа на вопрос. Фоновый пример может не включать в себя фактический вариант использования.
2. @isherwood Фоновый пример может не включать фактический вариант использования -> у нас нет информации о фоновом использовании, поэтому это отвечает на вопрос, как указано, поскольку второй элемент не показывает ничего похожего на ожидаемый