#svg #svg.js
#svg #svg.js
Вопрос:
У меня есть вертикальный прямоугольник, и я хочу поместить в него текст.
let draw = SVG('drawing').size('100%', '100%');
let rect;
let text;
rect = draw.rect(50, '100%').attr({
fill: color,
stroke: '#d9d9d9',
'stroke-width': 1,
});
rect.move(50, 0);
text = draw.text('Some important text').font({ fill: '#ffffff' });
text.move(50, 0);
Я пытался использовать .rotate(90)
, но это не сработало. Кто-нибудь может мне помочь?
Ответ №1:
Установите стиль ориентации текста на вертикальный, а стиль режима записи на вертикальный-lr, чтобы получить вертикальный текст.
В версии 3 svg.js вместо этого метод .style становится .css
let draw = SVG('drawing').size('100%', '100%');
let rect;
let text;
rect = draw.rect(50, '100%').attr({
fill: 'red',
stroke: '#d9d9d9',
'stroke-width': 1,
});
rect.move(50, 0);
text = draw.text('Some important text').font({ fill: '#ffffff' });
text.move(70, 0);
text.style({'text-orientation': 'upright', 'writing-mode': 'vertical-lr'})
html, body, div {
width: 100%;
height: 100%;
}
<script src=" https://cdnjs.cloudflare.com/ajax/libs/svg.js/2.7.1/svg.min.js"></script>
<div id="drawing"></div>
Комментарии:
1. Это потрясающе, Роберт! Большое спасибо.
2. В моем случае мне нужно только
'writing-mode': 'vertical-lr'
. Я полагаю, что это может быть альтернативой тому, чтобы мое право начиналось снизу и поднималось вверх, а не вверх и вниз по вертикали справа? Я погуглю это. Спасибо, чувак.