Я хочу манипулировать SVG с помощью CSS, и я только что узнал, что могу добавить идентификатор к элементу SVG и сделать это, но размещение SVG в HTML действительно беспорядочно. Мой вопрос: если я загружу SVG с тегом изображения и добавлю идентификатор в код файла SVG, будет ли ID работать одинаково?Могу ли я добавить идентификаторы элементов SVG в SVG-файл так же, как и встроенный код?
ответ
Как вы могли и не могли реализовать, CSS не работает через границы документов. Поэтому, если ваш SVG находится в отдельном файле, вы не можете стилизовать его с помощью CSS в своем HTML. Является ли это <img>
или <object>
.
Если вы хотите стилизовать SVG с помощью CSS, у вас есть два варианта:
(1), вставит SVG в HTML или
(2) добавить CSS стилей в самой SVG-файла , Вы можете использовать <style>
элемент, или вы можете ссылаться на внешнюю таблицу стилей от SVG:
<?xml-stylesheet type="text/css" href="my_svg_styles.css" ?>
Однако внешние ссылки, как это не будет работать, если вы встраивание SVG с <img>
или background-image
. Существуют специальные правила конфиденциальности, запрещающие это. Все файлы изображений, на которые ссылается <img>
, должны быть автономными.
Или (3) внедрить CSS во время выполнения в SVG с помощью javascript. –
- 1. SVG d3 | Могу ли я добавить встроенный стиль динамически?
- 2. Могу ли я упростить этот код? И если так, как
- 3. Могу ли я добавить этот код в том же плагине
- 4. добавить дополнительные идентификаторы DOM элементов
- 5. Любой способ добавить класс в встроенный SVG?
- 6. Могу ли я запустить как встроенный скрипт, так и сохраненный скрипт в одном запросе в ES?
- 7. Как я могу назначить идентификаторы элементам svg? (До raphaeljs бруски)
- 8. Как я могу определить, работает ли «встроенный»?
- 9. Могу ли я использовать идентификаторы в CSS3?
- 10. Как добавить то же atributes для всех элементов SVG
- 11. Как я могу получить код 1, чтобы действовать так же, как и код 2?
- 12. Как я могу добавить эффект, так что зависание над элементом SVG делает его больше?
- 13. Могу ли я переопределить встроенный!
- 14. Как я могу собрать все идентификаторы скрытых элементов?
- 15. Как я могу добавить массив объектов элементов в listView так же, как я добавляю их в listBox?
- 16. Как повернуть встроенный svg?
- 17. Как масштабировать встроенный SVG
- 18. Могу ли я использовать cStringIO так же, как StringIO?
- 19. Добавить идентификаторы в HTML-код таблицы Строка
- 20. Как я могу сопоставить идентификаторы?
- 21. Могу ли я переопределить сгенерированные идентификаторы?
- 22. Styling SVG, встроенный в объект
- 23. Как совместить идентификаторы элементов svg с ключами json
- 24. Могу ли я упаковать как поплавки, так и ints в один и тот же буфер массива?
- 25. Как я могу добавить код в Python
- 26. Могу ли я использовать векторный рисунок так же, как я использовал 9 патчей?
- 27. Как я могу динамически добавить образ шаблона в svg?
- 28. Могу ли я смешивать градиенты в svg?
- 29. ObjectDataSource и встроенный код
- 30. Как я могу добавить в foreignObject к SVG изображения
Интересный вопрос: я только недавно начал использовать CSS с встроенным SVG (через d3.js), и это отличный способ сохранить цветовые схемы согласованными и гибкими. Я пробовал несколько тестов с внешними файлами после прочтения вашего вопроса, без успеха. Согласно [этому вопросу] (http://stackoverflow.com/questions/18434094/how-to-style-svg-with-external-css), это, вероятно, невозможно, если вы не добавите CSS в файл SVG. –
Я сделал дальнейшие исследования и нашел, что это можно сделать! Нужно встраивать svg через тег 'object' - см. Этот урок: https://css-tricks.com/using-svg/ - Я хочу дать кому-то еще шанс ответить на это, если они уже могут работать над ним , –