当前位置: 首页 > 面试题库 >

仅使用HTML和/或CSS的曲线

施彦
2023-03-14
问题内容

我需要添加连接HTML中图表节点的曲线。我只想使用 HTML和/或CSS
创建它们。即使不是所有的浏览器都支持我需要的功能,我对CSS3还是可以的(特别是对IE8及以下版本不太在意)。这是我可以针对其使用的解决方案:

  • canvas或svg- 不喜欢它,因为当我有好几千个(也许成千上万个)这些对象在我的漂亮节点之间浮动时,我不得不处理浏览器差异并且不确定性能
  • 图像 -我需要大量图像来处理所有可能的曲线,并且放大和缩小图像时根本无法很好地缩放
  • 带有CSS边框半径的div和另一个div覆盖了我们不需要的部分线 -不担心IE8,并且下面不支持此功能,但这是一个丑陋的方法,我无法在上面得到弯曲的线背景或其他线条重叠的任何东西。我可以吗?

我缺少什么选择?是否可以有一个带有仅在1个角处可见的边框半径的div(并且可以在除IE8及以下版本的所有浏览器上使用)?


问题答案:

您可能应该使用canvas,因为canvas是为绘画而设计的。使用的性能canvas应比使用DOM元素更好,尤其是使用GPU加速进行绘制的较新版本。

无论如何,您始终可以通过仅显示元素边框的一侧,同时隐藏所有其他元素,来border-radius结合使用border-widthborder- color来创建曲线:

#curves.width div {
    border-color: transparent transparent transparent #999;
}

#curves.color div {
    border-width: 0 0 0 1px;
}

结合使用的不同组合border-radius,您将获得一些曲线。

您甚至可以将其与CSS3transform旋转和转换结合使用,以获得更大的灵活性。但是,与使用相比,它仍然更具限制性canvas,并且也更加难以控制。



 类似资料:
  • 问题内容: 是否可以仅使用CSS而不使用JavaScript创建选项卡式界面?我的意思是能够使用css / html切换选项卡,而无需使用javascript。也许使用CSS 3.0? 标记将类似于: 问题答案: 对于大多数现代浏览器,使用html和css可以使用该属性(Internet Explorer 8及以下版本不支持)。 的CSS html 要支持Internet Explorer,您可以

  • 请忽略圆圈/圆环。

  • 问题内容: 我要做成这样的桌子 CSS对角线罢工 可以在表格中添加倾斜的对角线边框吗? 问题答案: 基于CSS3线性梯度解决方案,但角度不是硬编码的:

  • PyCharm Editor很好地支持HTML和CSS。 PyCharm Editor包含一个特殊的简写,并为HTML提供标签完成。 Emmet Emmet是PyCharm编辑器中使用的简写。 它包括各种功能,如缩写预览,自动URL识别和编辑点,用于HTML和CSS文件。设置部分的用户界面显示在下面给出的屏幕截图中 - 创建HTML和CSS文件 PyCharm包含一个用于创建HTML和CSS文件的

  • 问题内容: 使用条件注释,可以使用特定于浏览器的CSS规则轻松定位Internet Explorer: 有时,行为不当的是Gecko引擎(Firefox)。 什么是将CSS规则仅定位到Firefox而不是其他浏览器的最佳方式? 也就是说,Internet Explorer不仅应该忽略仅Firefox的规则,而且WebKit和Opera也应该忽略它们。 注意: 我正在寻找一种“干净”的解决方案。在我

  • 问题内容: 是否有可能在纯CSS中(即无需添加其他html标签)使像这样的换行符?我想在元素之后而不是之前换行: 的HTML 的CSS 我发现了许多这样的问题,但是总是有 “ use display:block;”之 类的答案 。 ,但必须保持在同一行时,我无法这样做。 问题答案: 它是这样的: