Можно ли задать условие в CSS?

Наподобие, как в PHP. Например:
Если в коде сайта в header присутствует ссылка:
<table class="header">
    <a href="index.php">
        <img src=""src="http://сайт.ру/forum/images/logos/day.jpg">
    </a>
</table>

то оформить определённую кнопку белым фоном, а если так:
<table class="header">
    <a href="index.php">
        <img src=""src="http://сайт.ру/forum/images/logos/night.jpg">
    </a>
</table>

то тёмным фоном.
  • Вопрос задан
  • 13661 просмотр
Пригласить эксперта
Ответы на вопрос 4
Mordraug
@Mordraug
frontend разработчик
В css вы можете зацепиться за атрибут src изображения с помощью селектора атрибутов так:

header a > img[src$="day.jpg"] {...}
header a > img[src$="night.jpg"] {...}

Но вот выбрать рекурсивно родительский элемент, который хотите оформить в зависимости от значения атрибута src картинки — не получится. Выбрать родителя по селектору дочернего элемента на текущий момент используя только CSS нельзя.

Выше Zhainar дал ссылку на пример манипулирования элементом img в зависимости от определённых условий в родительском элементе. Скорее всего, это вам поможет.
Ответ написан
@zhainar
Гуглю за вас
Ответ написан
Комментировать
@xuxubla
Еще можно дождаться CSS4.
Ответ написан
Комментировать
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Как вариант, если надо именно на клиенте, то надо немного переделать верстку, сделать 2 класса типа .day и .night, и скриптом применять один из классов блоку в зависимости от условия...

А так предыдущий камент вполне раскрывает суть.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы