Задать вопрос

Как подтянуть изображение из tv-поля в css свойство?

Можно ли как то сделать так, чтобы при заполнении tv-поля( изоб.1 и изоб.2), при наведении на элемент в css указывался путь до файла через tv-поле, по типу [[+image]]. Хочу сделать через :hover.
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Stepik
    Основы HTML и CSS
    2 недели
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Решения вопроса 1
delphinpro
@delphinpro Куратор тега CSS
frontend developer
<div class="my-div" style="--image:url([+image+]); --image-hover:url([+image_hover+])">
</div>


.my-div {
  /* по умолчанию, если не задано в разметке */
  --image: none;
  --image-hover: none;

  background-image: var(--image);
}
.my-div:hover {
  background-image: var(--image-hover);
}


Имейте ввиду, что модх вставляет пути без начального слэша. А значит путь будет рассчитываться относительно css файла, даже если значение для кастомного свойства задано в разметке. Поэтому лучше будет явно указать начальный слэш, или адрес сайта

<!-- так -->
<div class="my-div" style="--image:url(/[+image+])"></div>
<!-- или так -->
<div class="my-div" style="--image:url([(site_url)][+image+])"></div>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы