Вношу правки в верстку сайта на Laravel
, весь CSS
код билдится из SCSS
.
Код добавления SVG картинки выглядит так:
<object type="image/svg+xml" data="images/heart.svg" class="red heart-icon"></object>
Почему то не срабатывает
.red {
fill: #ff0000;
}
До этого верстал только на голом HTML + CSS сейчас пытаюсь постигнуть новые фишки, сразу видны пробелы в знаниях. Можете подсказать что я делаю не так? Я так понял беда в том, что сначала картинка подтягивается на сайт в своем исходном, а затем я пытаюсь его изменить обычным CSS. Обязательно прибегать к помощи JS?
Если бы автор вопроса привел код иконки svg, то ответ был бы более предметный и короткий.
Но наверное полезно дать ответ и на более широкий круг вопросов стилизации иконок.
Есть очень полезная статья Styling SVG Content with CSS перевод,- оригинал
Для решения вашей задачи, полезен раздел статьи - Каскадирование стилей
Из этого раздела можно сделать вывод, что наивысшим приоритетом обладает внутренние стили svg.
<path style="fill:red; stroke:blue;" d="M100,100 ... />"
Чтобы устранить доминирование приоритета внутренних стилей svg необходимо:
Удалить в коде иконки все атрибуты стилизации у патчей, полигонов и т.д все инлайновые стили - fill
, stroke
Добавить во внешней таблице стилей path{ fill:inherit; stroke:inherit; }
В шапку файлов *.svg иконок добавить строчку, указывающую на внешнюю таблицу стилей
<?xml-stylesheet type="text/css" href="style.css"?>
Файл таблицы стилей и файлы SVG лучше разместить в одной папке, так как браузеры чувствительны к этому, больше других chrome
Для быстрого решения проблем со стилизацией иконок.
Данная техника подойдет, если нужно быстро добавить иконки в свой проект, которые можно раскрасить в любой цвет из внешнего файла CSS
.
Причём иконки высокого качества, практически полный набор на все случаи.
Иконки адаптивны и не теряют качества при масштабировании, так как это иконки SVG из которых состоит символьный шрифт - Google Material Icons
Подключение шрифта:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
Выбирать иконки по названиям можно здесь
Выбираем нужную иконку с именем - favorite
Подключение иконки к HTML странице:
<i class="material-icons red">favorite</i>
, где
material-icons
- общий класс для всех иконок
red
- дополнительный класс, задающий цвет окраски иконки
Ниже пример с тремя одинаковыми иконками, которые раскрашены в разные цвета
Добавлена анимация увеличения иконок при hover
.
.material-icons {
transform: scale(2);
}
i {
margin: 100px 50px 50px 80px;
transition: transform 1s ease-in-out;
}
i:hover {
transform: scale(10);
}
.red{color:red}
.green{color:yellowgreen}
.blue{color: dodgerblue}
<link href="https://fonts.googleapis.com/icon?family=Material+Icons"
rel="stylesheet">
<i class="material-icons red">favorite</i>
<i class="material-icons green">favorite</i>
<i class="material-icons blue">favorite</i>
Размер иконок также можно менять, здесь удвоенный исходный размер:
.material-icons {
transform: scale(2);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Подскажите пожалуйста, как спрятать абзац текста на главной странице в Wordpress? Я хочу что бы в коде абзац с текстом был, а вот на самой странице...
Каким селектором можно обратиться к выпадающему меню тега <datalist>? datalist > option:hover или input[list] > option:hover не работают
Запросом подвесил серверЗадача такая: Есть некие товары, которые имею связи по категории и по городу
Проблема в следующем SELECT * FROM rigs INNER JOIN configs - отправляю такой запрос и получаю ответ записи из таблицы rigs, но мне надо получить как то и связанные...