Автор: Stasyuk Eugene 70 Метки: , 29.04.2022

Графика в формате svg — довольно удобный и широкоиспользуемый формат изображения. Например в svg с помощью стилей css мы можем менять его цвет. И как мы знаем — данную процедуру мы можем проделать только если на странице присутствует разметка svg. А что делать если такое изображение подключено к странице с помощью тега img. В таком случае нам на помощь придет следующий код:

(function($ = jQuery) {
		$('img.svg').each(function() {
			let img = jQuery(this);
			let imgID = img.attr('id');
			let imgClass = img.attr('class');
			let imgURL = img.attr('src');

			jQuery.get(imgURL, function(data) {
				// Get the SVG tag, ignore the rest
				let svg = jQuery(data).find('svg');

				// Add replaced image's ID to the new SVG
				if (typeof imgID !== 'undefined') {
					svg = svg.attr('id', imgID);
				}
				// Add replaced image's classes to the new SVG
				if (typeof imgClass !== 'undefined') {
					svg = svg.attr('class', imgClass + ' replaced-svg');
				}

				// Remove any invalid XML tags as per http://validator.w3.org
				svg = svg.removeAttr('xmlns:a');

				// Check if the viewport is set, if the viewport is not set the SVG wont't scale.
				if (!svg.attr('viewBox') && svg.attr('height') && svg.attr('width')) {
					svg.attr('viewBox', '0 0 ' + svg.attr('height') + ' ' + svg.attr('width'))
				}

				// Replace image with new SVG
				img.replaceWith(svg);

			}, 'xml');

		});
	})();

 

  1. Берем его и помещаем в файл со скриптами. (Обращаю внимание, что данный код будет работать только при условии подключенного jquery.)
  2. Затем на нужной нам странице находим тег img изображение которого хотим развернуть и добавляем к нему класс «svg»

Другие статьи

Как перевести тему WordPress на другой язык перевод

Как перевести тему WordPress на другой язык

Как перевести тему WordPress на другой язык

Работая над созданием темы на WordPress мы довольно часто сталкиваемся с такими надписями как «загрузить еще, автор, метки» и т.д. Например как в моем блоге: Хорошо когда сайт на одном языке. Тогда с ними то особо делать ничего и не нужно. Но что делать когда сайт мультиязычный. Если заказчику в перспективе нет необходимости в будущем […]

Якорные ссылки и фиксированный header

Якорные ссылки и фиксированный header

Якорные ссылки и фиксированный header

В последнее время я уже давно не встречал сайты, которые не имеют фиксированный header. Такой подход уже стал обычной практикой. Как минимум очень удобно когда навигация по сайту всегда находится под рукой. Но есть один момент, который может доставить дискомфорт при таком подходе — это якорные ссылки. Обычно при клике на такую ссылку, секция с […]