Web Мастерская»Блог

Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.

Манипуляция SVG с помощью JavaScript

Scalable Vector Graphics (SVG) — это формат векторной графики, широко используемый в веб-разработке. Одним из мощных инструментов для работы с SVG является JavaScript, который позволяет динамически изменять атрибуты, стили и поведение SVG-элементов.

В этой статье мы рассмотрим основные приемы манипуляции SVG с помощью JavaScript.

Доступ к SVG-элементам


Для того чтобы манипулировать SVG-элементами, нужно сначала получить доступ к ним с помощью JavaScript. Вот несколько способов:

Получение элемента по ID:
let svgCircle = document.getElementById('myCircle');

Получение элементов по классу:
let circles = document.getElementsByClassName('circle');

Получение всех элементов SVG:
let svgElements = document.querySelectorAll('svg *');

Изменение атрибутов SVG


Один из самых частых способов манипуляции SVG — это изменение атрибутов элементов. Вот несколько примеров:

Изменение цвета заливки и обводки:
let circle =
...

Простые и эффективные техники анимации SVG с GSAP

GreenSock Animation Platform (GSAP) — это мощная библиотека для создания качественной анимации в веб-пространстве. Вместе с SVG GSAP позволяет создавать потрясающе выглядящие и интерактивные элементы. В этой статье мы рассмотрим простые и эффективные техники, которые помогут оживить SVG с помощью GSAP.

Введение в GSAP и SVG



Что такое GSAP?
GSAP — это высокопроизводительная библиотека для анимации, позволяющая анимировать практически любые CSS-свойства и DOM-элементы. В отличие от CSS-анимации, GSAP предлагает больший контроль и лёгкость управления.

Как подключить GSAP?
Подключить GSAP можно через CDN:
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>

Простые техники анимации SVG с GSAP



Анимация движения (Motion Path)
GSAP позволяет анимировать путь (motion path) по траектории, заданной в SVG. Это особенно полезно для создания плавных перемещений объектов:
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
    <path d="M10,10
...

Практическое руководство по SVG в CSS

Scalable Vector Graphics (SVG) — это технология векторной графики, широко используемая в веб-дизайне для создания иконок, логотипов, диаграмм и анимации. SVG идеально интегрируются с CSS, что позволяет динамически манипулировать их формой, цветом и анимацией.

В этом руководстве мы рассмотрим, как использовать SVG в CSS, и поговорим о базовых приемах работы с SVG.

Основы SVG и CSS


Что такое SVG? SVG — это XML-формат, который описывает графику в виде вектора. В отличие от растровых изображений (JPEG, PNG), SVG можно масштабировать без потери качества, что делает его идеальным для веб-интерфейсов.

Интеграция SVG в HTML и CSS
SVG можно подключить тремя основными способами:

1. Прямо в HTML:
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
    <circle cx="50" cy="50" r="40" fill="blue" />
</svg>

2. Импорт через CSS:
.icon {
    background-image: url('icon.svg');
    width: 50px;
    height: 50px;
}

3. Вставка через <object> или <iframe>:
...

CSS Flexbox: Руководство для начинающих

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

В этой статье мы познакомимся с основами Flexbox и научимся решать типичные задачи с его помощью.

Часть 1: Основы Flexbox



Что такое Flexbox?
Flexbox — это модуль CSS, разработанный для облегчения создания гибких и адаптивных макетов. Он основан на концепции гибких контейнеров и элементов, которые могут динамически перераспределять пространство между собой.

Основные понятия Flexbox:
  • Flex Container: родительский элемент, который управляет расположением дочерних элементов.
  • Flex Items: дочерние элементы, которые располагаются внутри контейнера.

Как создать Flexbox?
Чтобы превратить элемент в Flexbox-контейнер, нужно добавить свойство:
.container {
    display: flex;
}

Теперь все дочерние элементы контейнера станут flex-элементами.

Часть 2: Основные свойства Flexbox



1. Направление и ось
  • flex-
...

CSS: Как заставить текст вписываться в одну строку

Иногда при оформлении текста на веб-странице возникает потребность в том, чтобы длинные строки не выходили за пределы блока, а текст отображался аккуратно и не ломал дизайн. Для этого можно использовать комбинацию трех CSS-свойств:
  • white-space: nowrap; — запрещает перенос текста на новую строку.
  • overflow: hidden; — скрывает текст, выходящий за пределы блока.
  • text-overflow: ellipsis; — добавляет многоточие () в конце текста, если он не помещается.

Эти свойства работают совместно, чтобы добиться желаемого эффекта.

Пример


.text-container {
    width: 200px; /* Ограничиваем ширину блока */
    white-space: nowrap; /* Запрещаем перенос текста */
    overflow: hidden; /* Скрываем текст, выходящий за пределы */
    text-overflow: ellipsis; /* Добавляем многоточие */
}

<div class="text-container">
    Очень длинный текст, который не поместится в одну строку и должен обрываться многоточием.
</div>

Как это работает


  • white-space: nowrap; — запрещает тексту переноситься
...