Неточный рендеринг SVG в FireFox

Мое изображение SVG идеально подходит для пикселей, и все браузеры отображают его нормально, кроме FireFox.

Пример 1 (разметка Bootstrap):

https://codepen.io/anon/pen/gdVxJo

В столбцах Bootstrap всего два прямоугольника. Все прямоугольники имеют границы, выровненные по пикселям, и ширину границы = 2 пикселя, но FireFox добавляет сглаживание.

Думаю, это зависит от высоты помещения, но не знаю почему. Есть пример с одним прямоугольником без CSS.

Пример 2 (чистый HTML):

https://codepen.io/anon/pen/OoKxEd

<body>
  <svg xmlns = "http://www.w3.org/2000/svg" width = "396" height = "100">
    <rect x = "0" y = "0" width = "396" height = "100" fill = "none" stroke = "#000" stroke-width = "2"></rect>
  </svg>
</body>

Возможно, вам потребуется изменить высоту области рендеринга на CodePen, чтобы воспроизвести ошибку.


Кто-нибудь знает, можно ли заставить FireFox правильно рисовать линии?

если вам не нужно сглаживание, отключите его с помощью shape-rendering: crispEdges, но посмотрите cairographics.org/FAQ/#sharp_lines, чтобы узнать, почему вы вообще получаете сглаживание.

Robert Longson 26.09.2018 13:35

Может просто FireFox правильно рисует линии. Добавьте svg {overflow: visible} и проверьте еще раз.

enxaneta 26.09.2018 15:07

@RobertLongson, я попробовал <svg shape-rendering = "crispEdges" ... и похоже, что это работает! Большое спасибо!

Dan Spirit 26.09.2018 16:01

... но мой коллега заметил, что это ломает плавные линии, такие как углы скругленных прямоугольников. Постараюсь сделать другой образец.

Dan Spirit 26.09.2018 16:09

В этом случае вам необходимо прочитать FAQ по Каиру.

Robert Longson 26.09.2018 16:10
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
5
118
0

Другие вопросы по теме