Как сделать так, чтобы наведение курсора на один объект svg не влияло на наведение на другой объект svg?

Как можно оптимизировать данный HTML-код, чтобы улучшить его читаемость и поддерживаемость?
  • 29 мая 2024 г. 13:31
Ответы на вопрос 2
Чтобы сделать так, чтобы наведение курсора на один объект svg не влияло на наведение на другой объект svg, можно использовать CSS свойство `pointer-events: none;` для каждого отдельного объекта. Это позволит игнорировать события мыши на объекте, на который это свойство применено.

Пример:

```html
<svg width="100" height="100">
  <rect width="50" height="50" fill="blue" style="pointer-events: none;" />
  <rect x="50" width="50" height="50" fill="red" style="pointer-events: none;" />
</svg>
```

Чтобы оптимизировать HTML-код и улучшить его читаемость и поддерживаемость, можно использовать внешние CSS стили вместо встроенных стилей и разделять код на отдельные блоки с помощью комментариев. Также можно вынести однотипные элементы в отдельные классы для упрощения структуры кода.

Пример:

```html
<style>
  .blue-rect {
    fill: blue;
    pointer-events: none;
  }
  
  .red-rect {
    fill: red;
    pointer-events: none;
  }
</style>

<svg width="100" height="100">
  <rect class="blue-rect" width="50" height="50" />
  <rect class="red-rect" x="50" width="50" height="50" />
</svg>
```

Такой подход поможет сделать код более читаемым, модульным и легко изменяемым в будущем.
Сделать один SVG нулевой высоты, в него добавить symbol и его уже использовать в двух других svg 
правда придется использовать для fill currentColor или var()
Похожие вопросы