Подтвердить что ты не робот

Изменение размера изображения svg в качестве фона в браузере Chrome

Я использую svg-изображение в качестве фона, и я растягиваю SVG-изображение с помощью фонового размера. Я хочу, чтобы он был шириной только шириной. Он отлично работает в firefox, IE9 +, но хром. Пожалуйста, предложите мне, как я могу это достичь.

.homecallouts ul li {
background-image: url('blue_arow_callout.svg');
background-size: 100% 100%;
width: 21%;
height: 42px;

см. код jsbin http://jsbin.com/uvijuc/4/

когда я изменяю размер в Firefox только ширину растяжения, но в хроме и ширине и высоте растягиваются. Я хочу, чтобы ширина была растянута.

4b9b3361

Ответ 1

Может быть, добавление preserveAspectRatio = "none" для открытия тега в SVG файле может помочь?

<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     width="282.05px" height="61.974px" viewBox="286.287 26.514 282.05 61.974" enable-background="new 286.287 26.514 282.05 61.974"
     xml:space="preserve" preserveAspectRatio="none">
<polygon fill="#0063AF" points="538.337,26.514 286.287,26.514 316.287,57.5 286.287,88.488 538.337,88.488 568.337,57.5 "/>
</svg>

Пример JSBin

Ответ 2

У меня недостаточно репутации для продвижения или комментариев, поэтому только ответ на него снова будет работать. Я решил аналогичный случай, просто добавив preserveAspectRatio = "none".

<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="591.42859"
height="250.24918"
id="svg2"
version="1.1"
preserveAspectRatio="none"
inkscape:version="0.48.2 r9819"
sodipodi:docname="background.svg">

Ответ 3

Не используйте размер фона. Что вам нужно сделать, это иметь следующие значения для ширины, высоты и сохраненияAspectRatio в вашем файле SVG.

<svg width="100%" height="100%" preserveAspectRatio="xMidYMid slice" viewBox="..." />

Обратите внимание, что для того, чтобы это сработало, ваш SVG должен также иметь действительный viewBox. Кажется, что это делает.

Ответ 5

Я считаю, что технически хром является правильным в этом вопросе, вам нужно скорректировать значения фонового размера в соответствии с тем, что вы на самом деле хотите. Сохранение их на 100% вынуждает соотношение сторон оставаться постоянным.