ЦЕЛЬ:
Я пытаюсь получить элемент INLINE SVG
, чтобы заполнить всю доступную ширину родительского элемента. Я легко могу добиться такого же эффекта, используя тег img
и object
, чтобы ссылаться на файл svg, но я хочу использовать INLINE SVG
, потому что я анимирую внутренние элементы svg с помощью javascript.
Проблема:
Я могу добиться этого в Firefox и с некоторыми настройками также в Chrome, но сафари и IE9 и IE10 не будут играть в мяч.
- Внутреннее содержимое svg не всегда заполняет элемент svg во всех ширинах экрана.
- webkit добавляет таинственное дополнение/высоту (в этом примере прокладка находится внутри элемента svg) Высота элемента SVG должна быть автоматической и обертывать внутренний контент svg.
ГЛАВНЫЙ ВОПРОС:
Есть ли кросс-браузерное решение для чувствительного INLINE SVG: Просмотрите пример в IE9 и 10 и -webkit-Safari и обратите внимание на необработанную дополнительную высоту в элементе 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>