我将使用 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的人有没有给你任何论据,为什么会更好?如果他们没有,那可能是因为没有论据
。