Javascript 如何在不使用画布的情况下使用HTML5制作旋转单词和旋转线条?
我正在做一个项目,我想画一条角线,在这条线的末尾我必须画一个角字符。但我不想使用canvas,因为需求是用户可以通过点击它来选择其中的任何一行。这可能无法通过画布实现。给我一些建议 事实上,我想画下面的图像,也可以选择一个或多个线在它可用。Javascript 如何在不使用画布的情况下使用HTML5制作旋转单词和旋转线条?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在做一个项目,我想画一条角线,在这条线的末尾我必须画一个角字符。但我不想使用canvas,因为需求是用户可以通过点击它来选择其中的任何一行。这可能无法通过画布实现。给我一些建议 事实上,我想画下面的图像,也可以选择一个或多个线在它可用。 这在画布上很容易实现,但我建议使用SVG。您可以在这里找到一个非常好的SVG库,也可以使用画布库 要使用画布自己完成此操作,只需在mousemove事件中跟踪画布上的鼠标坐标,然后在单击事件中计算鼠标相对于您的线的位置,如果鼠标单击在您的线内,则可以单击该线
这在画布上很容易实现,但我建议使用SVG。您可以在这里找到一个非常好的SVG库,也可以使用画布库 要使用画布自己完成此操作,只需在
mousemove事件中跟踪画布上的鼠标坐标
,然后在单击
事件中计算鼠标相对于您的线的位置,如果鼠标单击在您的线内,则可以单击该线
如果不提供任何代码或您迄今为止尝试过的任何内容,我将无法深入了解更多细节,因为这是一个非常广泛和通用的问题,实际上与任何一件事都不相关。请尝试css
transform
属性:我建议您使用库。它将允许您将每条线作为单独的层进行操作,您还可以非常轻松地将鼠标和触摸事件附加到这些层。它非常容易学习和理解,因为它基于jQuery,语法几乎与jQuery相似。看看animate CSS3功能:
div
{
宽度:100px;
高度:100px;
背景:红色;
位置:相对位置;
动画名称:mymove;
动画持续时间:5s;
/*狩猎与铬*/
-webkit动画名称:mymove;
-webkit动画持续时间:5s;
}
@关键帧mymove
{
从{变换:旋转(0度);}
到{变换:旋转(-90度);}
}
@-webkit关键帧mymove/*Safari和Chrome*/
{
从{-webkit变换:旋转(0度);}
到{-webkit变换:旋转(-90度);}
}
注意:Internet Explorer 9和早期版本不支持动画名称属性
注意:始终指定动画持续时间属性。否则,持续时间为0,将不播放动画
我附上了带问题的图片。
<!DOCTYPE html>
<html>
<head>
<style>
div
{
width:100px;
height:100px;
background:red;
position:relative;
animation-name:mymove;
animation-duration:5s;
/* Safari and Chrome */
-webkit-animation-name:mymove;
-webkit-animation-duration:5s;
}
@keyframes mymove
{
from {transform: rotate(0deg);}
to {transform: rotate(-90deg); }
}
@-webkit-keyframes mymove /* Safari and Chrome */
{
from {-webkit-transform: rotate(0deg);}
to {-webkit-transform: rotate(-90deg); }
}
</style>
</head>
<body>
<p><strong>Note:</strong> The animation-name property is not supported in Internet Explorer 9 and earlier versions.</p>
<div></div>
<p><b>Note:</b> Always specify the animation-duration property. Otherwise the duration is 0, and the animation will not be played.</p>
</body>
</html>