ЦЕЛЬ:Отзывчивый INLINE SVG - содержание SVG необходимо заполнить без родителя Ширина
Я пытаюсь получить INLINE SVG
элемент, чтобы заполнить всю доступную ширину родительского элемента. Я могу добиться такого же эффекта, используя тегии object
, чтобы ссылаться на файл svg, но я хочу использовать inline svg
, потому что я анимирую внутренние элементы svg с помощью javascript.
ПРОБЛЕМА:
я могу добиться этого в Firefox и с некоторыми ухищрений также в Chrome, но сафари и IE9 & IE10 не будет играть в мяч.
- Внутреннее содержание SVG не всегда заполнить элемент SVG во всех ширинах экрана
- WebKit добавляет таинственную обивку/высоту (в данном примере прокладка находится в пределах элемента SVG) Высотой SVG элемента должны быть автоматическим и обернуть внутренний контент SVG.
ГЛАВНЫЙ ВОПРОС:
Есть кросс браузера для решения отзывчивого INLINE SVG: Посмотреть пример в IE9 & 10 и -webkit-сафари и обратите внимание на Ненужную дополнительную высоту в пределах SVG элемента (голубой цвет).
http://jsfiddle.net/David_Knowles/9tUAd/
<div class="block">stuff</div>
<div class="wrap">
<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 550 350" xml:space="preserve" preserveAspectRatio="xMinYMin meet">
<rect x="0" y="0" width="550" height="350"/>
<polyline points="0,0 0,350 550,350"/>
<text x="0" y="50%" fill="#ffffff" stroke="none" width="100%">The text</text>
</svg>
</div>
<div class="block">stuff</div>
Попробуйте адаптировать даже окно просмотра. В моем проекте у меня была аналогичная проблема, и я решил адаптировать размер изображения и его viewbox с помощью JS –