Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript CSS旋转文本方向_Javascript_Css - Fatal编程技术网

JavaScript CSS旋转文本方向

JavaScript CSS旋转文本方向,javascript,css,Javascript,Css,这听起来可能很简单,但相信我,我已经到处找了,没有结果 我用JavaScript创建了动态文本,如下所示: context.fillText('name', 10, 10, 20); 我现在需要让这段文字处于垂直方向。 注意:此文本出现在画布中,其中包含我不打算旋转的其他对象,因此旋转画布不是我要寻找的解决方案 我会很高兴有一个使用css的解决方案,原因是我可能想将这个角度和颜色属性应用到画布上的几个文本。我不熟悉使用css,所以我不知道如何创建它,识别这个文本以将其应用到JavaSc

这听起来可能很简单,但相信我,我已经到处找了,没有结果

我用JavaScript创建了动态文本,如下所示:

    context.fillText('name', 10, 10, 20);
我现在需要让这段文字处于垂直方向。 注意:此文本出现在画布中,其中包含我不打算旋转的其他对象,因此旋转画布不是我要寻找的解决方案

我会很高兴有一个使用css的解决方案,原因是我可能想将这个角度和颜色属性应用到画布上的几个文本。我不熟悉使用css,所以我不知道如何创建它,识别这个文本以将其应用到JavaScript中的内联代码中

类似这样的内容:,但是这个示例的文本是html格式的,因此它使用命名标记来引用文本。我的文本没有名字标签(或者我可以加上它吗?),所以我有点困在那里。

怎么样:

.fillText {
     -moz-transform: rotate(7.5deg);  
       -o-transform: rotate(7.5deg);  
  -webkit-transform: rotate(7.5deg);  
             filter:  progid:DXImageTransform.Microsoft.BasicImage(rotation=0.083); 
         -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0.083)";
}
那么:

.fillText {
     -moz-transform: rotate(7.5deg);  
       -o-transform: rotate(7.5deg);  
  -webkit-transform: rotate(7.5deg);  
             filter:  progid:DXImageTransform.Microsoft.BasicImage(rotation=0.083); 
         -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0.083)";
}
您可以使用
save()
restore()
将转换限制为文本:

c = canvas.getContext("2d");
c.save(); // save the current styles and transformations
c.translate(20, 50); // move origin to (20, 50)
c.rotate(-Math.PI / 2); // rotate 90 degrees anticlockwise about origin
c.fillText("name", 0, 0); // draw the text vertically
c.restore(); // restore previous styles and transformations
演示:

您可以使用
save()
restore()
将转换限制为文本:

c = canvas.getContext("2d");
c.save(); // save the current styles and transformations
c.translate(20, 50); // move origin to (20, 50)
c.rotate(-Math.PI / 2); // rotate 90 degrees anticlockwise about origin
c.fillText("name", 0, 0); // draw the text vertically
c.restore(); // restore previous styles and transformations

演示:

您是否考虑过使用
save()
restore()
?您不能将CSS应用于画布中呈现的文本,gilly3。你们的建议是在保持其他对象(线、图像等)方向的同时实现所需文本对象的垂直方向?汤姆,我并不像我的问题所暗示的那个样复杂,但我想我已经读过一点了。让我再挖一点;但如果你能给我指一些工作样品,我会很高兴的。谢谢我觉得这就是我需要采取的方向。你考虑过使用
save()
restore()
?你不能将CSS应用于画布中呈现的文本,gilly3。你们的建议是在保持其他对象(线、图像等)方向的同时实现所需文本对象的垂直方向?汤姆,我并不像我的问题所暗示的那个样复杂,但我想我已经读过一点了。让我再挖一点;但如果你能给我指一些工作样品,我会很高兴的。谢谢我有一种感觉,那就是我需要走的方向。迈克尔,我一直在思考这些问题,但似乎不起作用。您的示例在文本位于html部分并且具有该fillText id时有效(我尝试了几个)。我的文本是在函数中用JavaScript代码创建的,因此我不知道如何将css应用于它。也许上面的gilly3是对的?Michael,我一直在思考这些问题,但似乎不起作用。您的示例在文本位于html部分并且具有该fillText id时有效(我尝试了几个)。我的文本是在函数中用JavaScript代码创建的,因此我不知道如何将css应用于它。也许上面的gilly3是对的?虽然我发现我可以用document.write过程替换fillText,但它也有它自己的问题(尽管我尽了最大努力保持间距,但还是把文本弄乱了)。这(tom的回答)正是我从一开始就打算这么做的,所以我很高兴你能分享它。虽然我发现我可以用document.write过程代替fillText,但它也有自己的问题(尽管我尽了最大努力保持间距,但还是把文本弄乱了)。这(汤姆的回答)正是我从一开始就想要的,所以我很高兴你能分享。