HTML/CSS - 使用 SVG 创建仪表板的优点和缺点



我将使用 HTML 和 CSS 创建一个仪表板布局。稍后将显示一个大屏幕。有人说我不应该使用div 等,而是使用 SVG 标签,例如

<svg><rect><text>

我的目的是使用 CSS 网格 (8x8( 来组织仪表板的元素(网格项(。这些元素可以具有不同的大小(1x1、2x2、2x1、1x2(,并且可以包含动态内容(文本、图表、表格(。图将由库生成 - 我更喜欢 Plotly JS - 所以图已经具有 svg 格式。

网格项(卡片(可能如下所示:

Timestamp (optional)
Title
Description (multiline)

我的问题是;在我的网格项目中使用 SVG 标签而不是div 有什么优点和缺点?到目前为止,在我看来,使用 SVG 更加困难,因为没有简单的方法可以实现浮动文本。此外,文本定位(多行(似乎更难实现。

为什么使用"标准"HMTL/CSS代码来创建网格项的基本样式不应该是合法的?

SVG 非常适合替换 png,例如图标和其他图形,因为它是基于矢量的,因此也可以完美缩放。正如您所说,它也非常适合绘制图形和其他东西,这就是为什么大多数图形库使用 SVG 来绘制图形的原因。

至于构建实际的页面,这正是HTML/CSS的目的 - 所以我建议你坚持下去。你会得到更容易的响应能力,更容易的放置,是的 - 文本定位在SVG中有点复杂,而在HTML/CSS中超级容易。

结论:如果你有一个复杂的设计,必须在仪表板中缩放,请使用SVG构建它,其余部分坚持使用HTML/CSS。如果没有,则对除图形以外的所有内容使用 HTML/CSS。

那些告诉你使用SVG的人有没有给你任何论据,为什么会更好?如果他们没有,那可能是因为没有论据

最新更新