«Это третий день моего участия в ноябрьском испытании обновлений. Подробную информацию об этом событии см.:Вызов последнего обновления 2021 г.".
[SVG] Для красоты главной страницы я решил изучить SVG
Описание блога
Информация, содержащаяся в статье, получена из Интернета и личного резюме, которое предназначено для обобщения личного обучения и опыта.Если есть какие-либо нарушения, пожалуйста, свяжитесь со мной, чтобы удалить ее, спасибо!
иллюстрировать
В процессе самостоятельного изучения раньше SVG всегда был очень глубоким и не осмелился его трогать, но если вы хотите его понять, вы все-таки придете к этому моменту. :blush: Как бы сложно это ни казалось, технология накапливается из простых точек знаний.
Что такое СВГ?
-
SVG означает масштабируемую векторную графику.
-
Он определяет изображения с использованием формата XML.
-
Изображения SVG можно увеличивать или изменять их размер без потери графического качества.
-
SVG — это стандарт консорциума World Wide Web.
-
SVG является неотъемлемой частью стандартов W3C, таких как DOM и XSL.
В общем, SVG — это файл, определяемый XML, поскольку это векторная графика, качество ее графики очень высокое.
Поскольку SVG представляет собой XML-файл, изображения SVG можно создавать в любом текстовом редакторе, но сложная графика по-прежнему требует инструментов редактирования графики.
Преимущества SVG
- SVG можно читать и изменять многими инструментами (например, Блокнотом).
- SVG меньше по размеру и более сжимаем, чем изображения JPEG и GIF.
- SVG масштабируется.
- Изображения SVG можно печатать с высоким качеством при любом разрешении.
- SVG можно масштабировать без потери качества изображения.
- Текст в изображениях SVG является необязательным и доступным для поиска (отлично подходит для карт).
- SVG — это открытый стандарт.
- Файлы SVG представляют собой чистый XML.
Основным конкурентом SVG является Flash. Самым большим преимуществом SVG перед Flash является совместимость с другими стандартами, такими как XSL и DOM. Flash, с другой стороны, является проприетарной технологией, исходный код которой закрыт.
небольшой пример
образец кода
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black"
stroke-width="2" fill="red" />
</svg>
Эффект
Разбор кода
-
<xml>
Первая строка содержит объявление XML. - Атрибут standalone указывает, является ли этот SVG-файл «автономным» или содержит ссылку на внешний файл, standalone="no" означает, что документ SVG ссылается на внешний файл — в данном случае на файл DTD.
-
<svg>和</svg>
это код SVG, эквивалентный открывающему и закрывающему тегам, который является корневым элементом. - Свойства ширины и высоты задают ширину и высоту этого документа SVG.
- Атрибут версии определяет используемую версию SVG.
- Атрибут xmlns определяет пространство имен SVG.
-
<circle>
Используется для создания круга. Свойства cx и cy определяют координаты x и y центра круга. Если эти два свойства опущены, точка будет установлена на (0, 0). Атрибут r определяет радиус круга. - Свойства штриха и ширины штриха управляют отображением контура фигуры. Мы устанавливаем контур круга шириной 2 пикселя с черной рамкой.
- Свойство fill задает цвет внутри фигуры. Цвет заливки устанавливаем красный.
- Что делает закрывающий тег, так это закрывает элемент SVG и сам документ.
Примечание. Все открытые теги должны иметь закрывающие теги!
Как использовать SVG в HTML?
Существует 5 способов встроить файл SVG в документ HTML:<img>
,<embed>
,<object>
,<iframe>
, встроенный непосредственно в HTML-код.
использовать<img>
Этикетка
Представлены в виде картинок, фонов
грамматика:
<img src="circle1.svg" alt=""/>
использовать<embed>
Этикетка
- Преимущества: поддерживается всеми основными браузерами и позволяет использовать скрипты.
- Минусы: не рекомендуется в HTML4 и XHTML (но разрешено в HTML5).
грамматика:
<embed src="circle1.svg" type="image/svg+xml" />
использовать<object>
Этикетка
- Преимущества: Поддерживается всеми основными браузерами и поддерживает стандарты HTML4, XHTML и HTML5.
- Минусы: скрипты не допускаются.
грамматика:
<object data="circle1.svg" type="image/svg+xml"></object>
использовать<iframe>
Этикетка
- Преимущества: поддерживается всеми основными браузерами и позволяет использовать скрипты.
- Минусы: не рекомендуется в HTML4 и XHTML (но разрешено в HTML5).
грамматика:
<iframe src="circle1.svg"></iframe>
Встраивайте код SVG прямо в HTML
- Преимущества: простота в эксплуатации, динамическая регулировка
- Недостатки: HTML-страницы слишком многословны и неудобны для кодирования.
грамматика:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>
Основные формы SVG
прямоугольник<rect>
Пример 1:
нормальный прямоугольник
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<rect width="300" height="100" style="fill:rgb(122,122,0);stroke-width:2;stroke:rgb(0,0,0)" />
</svg>
Эффект:
Анализ кода:
- Свойства ширины и высоты прямоугольного элемента определяют высоту и ширину прямоугольника.
- Атрибут стиля используется для определения свойств CSS.
- Свойство заполнения CSS определяет цвет заливки прямоугольника (значение RGB, имя цвета или шестнадцатеричное значение).
- Свойство CSS stroke-width определяет ширину границы прямоугольника.
- Свойство CSS Stroke определяет цвет границы прямоугольника.
Пример второй:
Прозрачность заливок и границ
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<rect x="50" y="20" width="150" height="150" style="fill:blue;stroke:red;stroke-width:5;fill-opacity:0.5;stroke-opacity:0.5" />
</svg>
Эффект:
Анализ кода:
- Атрибут x определяет левую позицию прямоугольника (например, x="0" определяет, что прямоугольник находится на расстоянии 0 пикселей от левой стороны окна браузера).
- Атрибут y определяет верхнюю позицию прямоугольника (например, y="0" определяет, что прямоугольник находится на расстоянии 0 пикселей от верхней части окна браузера).
- Свойство CSS fill-opacity определяет непрозрачность цвета заливки (допустимый диапазон: 0–1).
- Свойство CSS stroke-opacity определяет непрозрачность цвета контура (допустимый диапазон: 0–1).
Пример третий:
Прозрачность всего элемента
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="500px">
<rect x="50" y="20" width="150" height="150" style="fill:blue;stroke:pink;stroke-width:5;opacity:0.4" />
</svg>
Эффект:
Анализ кода:
- Свойство CSS opacity используется для определения значения прозрачности элемента (диапазон: от 0 до 1).
Пример четвертый:
Прямоугольник с закругленными углами
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="500px">
<rect x="50" y="20" rx="20" ry="20" width="150" height="160" style="fill:red;stroke:black;stroke-width:1;opacity:0.5" />
</svg>
Эффект:
Анализ кода:
- Свойства rx и ry делают прямоугольники закругленными.
круглый<circle>
Пример:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="red" stroke-width="2" fill="blue" />
</svg>
Эффект:
Анализ кода:
- Тег круга можно использовать для создания круга.
- Свойства cx и cy определяют координаты x и y точки. Если cx и cy опущены, центр окружности будет установлен в (0, 0)
- Атрибут r определяет радиус круга
овал<ellipse>
Пример:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500" height="500">
<ellipse cx="300" cy="80" rx="100" ry="50" style="fill:red;stroke:purple;stroke-width:2" />
</svg>
Эффект:
Анализ кода:
- Тег ellipse может использоваться для создания эллипса.
- Координата x центра эллипса, определяемая свойством CX.
- Y-координата центра эллипса, определенного атрибутом CY
- Горизонтальный радиус, определяемый свойством RX
- Вертикальный радиус, определяемый атрибутом RY
Нить <line>
Пример:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<line x1="0" y1="0" x2="200" y2="200" style="stroke:black;stroke-width:5" />
</svg>
Эффект:
Анализ кода:
- Тег линии можно использовать для создания прямой линии.
- Свойство x1 определяет начало линии на оси x.
- Атрибут y1 определяет начало линии по оси Y.
- Свойство x2 определяет конец линии на оси x.
- Атрибут y2 определяет конец линии по оси Y.
Полилиния <polyline>
Пример первый:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<polyline points="20,20 40,25 60,40 80,10 120,140 200,180" style="fill:none;stroke:black;stroke-width:3" />
</svg>
Эффект:
Анализ кода:
- полилиния используется для создания любой формы только с прямыми линиями
- точки - это набор точек
Пример второй:
нарисовать пентаграмму
<svg style="height:300px;width:300px;" xmlns="http://www.w3.org/2000/svg" version="1.1">
<polyline points="100 10,40 180,190 60,10 60,160 180" style="fill:blue;stroke:blue;stroke-width:1" />
</svg>
Эффект:
Анализ кода:
Заполнение пробела используется, потому что отрезок линии не замкнут
многоугольник <polygon>
Пример первый:
<svg height="210" width="500">
<polygon points="200,10 250,190 160,210"
style="fill:red;stroke:purple;stroke-width:1"/>
</svg>
Эффект:
Анализ кода:
- Тег многоугольника используется для создания графики как минимум с тремя сторонами.
- точки - это набор точек
Пример второй:
нарисовать пентаграмму
<svg style="height:300px;width:300px;" xmlns="http://www.w3.org/2000/svg" version="1.1">
<polygon points="100 10,40 180,190 60,10 60,160 180" style="fill:none;stroke:black;stroke-width:5"/>
</svg>
Эффект:
Анализ кода:
Последняя точка будет закрыта автоматически, что также является отличием от полилинии.
дорожка<path>
Данные пути:
- M = moveto
- L = lineto
- H = horizontal lineto
- V = vertical lineto
- C = curveto
- S = smooth curveto
- Q = quadratic Bézier curve
- T = smooth quadratic Bézier curveto
- A = elliptical Arc
- Z = closepath
Пример:
нарисовать треугольник
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<path d="M150 0 L75 200 L205 270 Z" />
</svg>
Эффект:
Анализ кода:
Определяется путь, который начинается в позиции 150 0, достигает позиции 75 200, затем начинается оттуда в 205 270 и, наконец, замыкает путь в позиции 150 0.
Суммировать
Основы SVG были введены, но использование путей только началось, позже я подробно расскажу о путях и, конечно, о некоторых «продвинутых» атрибутах SVG.
Фактически, проработав весь путь, я обнаружил, что работа SVG примерно аналогична принципу использования PS, AI и других инструментов рисования, что также помогает нам понять отрисовку такой графики.
Статьи по Теме
【SVG】Смертельное оружие SVG—путь
благодарный
универсальная сеть
и трудолюбивый сам,личный блог,GitHub-тест,GitHub
Официальный аккаунт - Guizimo, мини-программа - блог Xiaogui