2016-11-18 6 views
0

Я создал SVG с текстом foreignObject и связал его на моей HTML-странице с помощью тега img.Содержание SVG - только ширина шкалы и полная высота

Проблема в том, что ширина svg масштабируется как устройство, но высота фиксируется около 153 пикселей. Я установил ширину и высоту svg на 100%.

Я не могу обеспечить фиксированную высоту для svg, потому что я хочу, чтобы текстовая часть реагировала и масштабировалась как устройство.

Так что текстовое содержимое foreignObject обрезается, так как изображение не показывает высоту в полном объеме.

Я пробовал viewBox и сохранялApectRatio безуспешно.

вот Jsfiddle example

<img src="http://treebliss.com/shipping.svg" style="width: 100%; height: 100%"/> 

скриншот от фактического использования screenshot

Я не могу использовать любой JS для любого решения в этой ситуации.

+0

Я думаю, вы пропустили добавление этого css в свой файл html, body {width: 100%; высота: 100%;}. Добавление этого позволит решить ваши проблемы. – Navnit

ответ

0

ВЭкран-процентная длина:

https://www.w3.org/TR/css3-values/#viewport-relative-lengths

окно просмотр-процентный длины по отношению к размеру начальных содержащему блок. Когда изменяется высота или ширина исходного блока , они соответственно масштабируются. Однако , когда значение переполнения на корневом элементе является авто, любая строка прокрутки считается, что она не существует. В качестве альтернативы настройки высоты обоих HTML/корпусного элемента до 100%, можно также использовать окно просмотра-процентного длины:

body { 
 
    height: 100vh; 
 
} 
 
img { 
 
    width: 100%; 
 
    height:100%; 
 
}
<img src="http://treebliss.com/shipping.svg" />

+0

Аналогичные проблемы с другим ответом: высота div слишком длинная, и если она окружена другими элементами, расположение элементов не может быть сохранено. В маленьком окне просмотра высота слишком мала для svg, и она снова отключается. –

0

Изображение должно быть в контейнере с высота 100% (В.Х.)

Я создал fiddle

div { 
text-align: center; 
height: 100vh; 
} 
img { 
border: thin dotted darkgrey; 
width: 100%; 
height: 100%; 
} 
+0

Два вопроса: высота div слишком длинная, и если она окружена другими элементами, расположение элементов не может быть сохранено. В маленьком окне просмотра высота слишком мала для svg, и она снова отключается. –

+0

Это зависит от остальной части вашего макета ... Но ответы верны для вашего вопроса. – Marinus

+0

На самом деле в моем вопросе упоминалось, что текстовая часть должна быть отзывчивой. Решение видового экрана не работает, если вы изменяете размер браузера или текст длиннее высоты. В любом случае, спасибо, я буду продолжать изучать это. –

Смежные вопросы