Html 在SVG的textPath元素中翻转文本

Html 在SVG的textPath元素中翻转文本,html,css,svg,Html,Css,Svg,我在这里遇到了一个大问题。svg元素的textPath标记中有一些文本需要翻转180度。我已经使用了所有可以与css一起工作的方法,但绝对没有任何效果。有人能帮我翻转元素中的文本吗 函数Init(){ 设w=wrap.clientWidth; 设h=wrap.clientHeight; setAttributeNS(null,“viewBox”`0${w}${h}`); 设d=`M${w/10},${h/2}A${4*w/10},${4*h/10}0${9* w/ 10} ${5*h/10}A

我在这里遇到了一个大问题。svg元素的textPath标记中有一些文本需要翻转180度。我已经使用了所有可以与css一起工作的方法,但绝对没有任何效果。有人能帮我翻转元素中的文本吗

函数Init(){
设w=wrap.clientWidth;
设h=wrap.clientHeight;
setAttributeNS(null,“viewBox”`0${w}${h}`);
设d=`M${w/10},${h/2}A${4*w/10},${4*h/10}0${9*
w/
10} ${5*h/10}A${4*w/10},${4*h/10}0${w/10}${5*
h/
10} A${4*w/10},${4*h/10}0${9*w/10}${5*h/10}A${4*
w/
10} ,${4*h/10}0${w/10}${5*h/10}`;
路径setAttributeNS(null,“d”,d);
让path_length=path.getTotalLength();
//从比需要大的尺寸开始
让font_size=100;
ellipse.style.fontSize=字体大小+“px”;
//而文本长度大于半路径长度
while(tp.getComputedTextLength()>路径长度/2){
//减小字体大小
字体大小-=.25;
//重置字体大小
ellipse.style.fontSize=字体大小+“px”;
}
}
setTimeout(函数(){
Init();
addEventListener(“resize”,Init,false);
}, 15);
设so=0;
函数选框(){
requestAnimationFrame(选框);
tp.setAttributeNS(null,“startOffset”,so+“%”);
如果(so>=50){
so=0;
}
so+=0.02;
}
选框()
html,正文{
保证金:0;
身高:100%;
宽度:100%;
}
身体{
字体系列:“Arimo”,无衬线;
}
#包裹{
宽度:100%;
身高:100%;
位置:固定;
排名:0;
左:0;
}
正文{
文本转换:大写;
字体重量:较轻;
}

快来•快来•快来•快来•快来•快来•快来•快来•快来•

正如我所评论的,您需要改变路径。由于路径由脚本控制,因此需要在函数Init中更改d变量的值

函数Init(){
设w=wrap.clientWidth;
设h=wrap.clientHeight;
setAttributeNS(null,“viewBox”`0${w}${h}`);
设d=`M${9*w/10},${h/2}
A${4*w/10},${4*h/10}0 0 1${w/10}${5*h/10}
A${4*w/10},${4*h/10}0 0 1${9*w/10}${5*h/10}
A${4*w/10},${4*h/10}0 0 1${w/10}${5*h/10}
A${4*w/10},${4*h/10}01${9*w/10}${5*h/10}`;
路径setAttributeNS(null,“d”,d);
让path_length=path.getTotalLength();
//从比需要大的尺寸开始
让font_size=100;
ellipse.style.fontSize=字体大小+“px”;
//而文本长度大于半路径长度
while(tp.getComputedTextLength()>路径长度/2){
//减小字体大小
字体大小-=.25;
//重置字体大小
ellipse.style.fontSize=字体大小+“px”;
}
}
setTimeout(函数(){
Init();
addEventListener(“resize”,Init,false);
}, 15);
设so=0;
函数选框(){
requestAnimationFrame(选框);
tp.setAttributeNS(null,“startOffset”,so+“%”);
如果(so>=50){
so=0;
}
so+=0.02;
}
选框()
html,正文{
保证金:0;
身高:100%;
宽度:100%;
}
身体{
字体系列:“Arimo”,无衬线;
}
#包裹{
宽度:100%;
身高:100%;
位置:固定;
排名:0;
左:0;
}
正文{
文本转换:大写;
字体重量:较轻;
}

快来•快来•快来•快来•快来•快来•快来•快来•快来•

请编辑您的问题并添加您的代码。可能你需要反转路径,但需要查看代码好的,我会在这里给你发代码笔:问题是,我需要文本的方向与它的方向相同(逆时针)请将代码添加到问题中的代码段。此外,CSS转换应该可以工作,但请记住,SVG elemts还需要其转换框和转换原点集,否则所有转换都将与视口对齐,而不是与元素对齐。非常感谢您的帮助。但是,有没有办法使svg逆时针旋转呢?您链接到的codepen中的演示是逆时针旋转的是。当我添加新的代码行时,它开始顺时针旋转