Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >svg的x和dx属性有什么区别?

svg的x和dx属性有什么区别?
EN

Stack Overflow用户
提问于 2013-10-01 22:25:50
回答 2查看 53.3K关注 0票数 115

svg的x和dx属性(或者y和dy)有什么区别?什么时候是使用轴移位属性(dx)与位置属性(x)的合适时机?

例如,我注意到很多d3示例都是这样做的

代码语言:javascript
运行
AI代码解释
复制
chart.append("text")
   .attr("x", 0)
   .attr("y", 0)
   .attr("dy", -3)
   .text("I am a label")

当下面的内容似乎做了相同的事情时,同时设置y和dy有什么好处或理由呢?

代码语言:javascript
运行
AI代码解释
复制
chart.append("text")
   .attr("x", 0)
   .attr("y", -3)
   .text("I am a label")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-01 22:52:06

xy是绝对坐标,dxdy是相对坐标(相对于指定的xy)。

根据我的经验,在<text>元素上使用dxdy并不常见(尽管它可能有助于方便编码,例如,如果您有一些代码用于定位文本,然后使用单独的代码对其进行调整)。

当使用嵌套在<text>元素中的<tspan>元素来建立更美观的多行文本布局时,dxdy最有用。

有关更多详细信息,请查看Text section of the SVG spec

票数 103
EN

Stack Overflow用户

发布于 2013-10-02 15:15:09

为了补充Scott的答案,与em (字体大小单位)一起使用的dy对于相对于绝对y坐标垂直对齐文本非常有用。MDN dy text element example中介绍了这一点。

使用dy=0.35em可以帮助将文本垂直居中,而不考虑字体大小。如果您想要围绕绝对坐标所描述的点旋转文本的中心,它也很有用。

代码语言:javascript
运行
AI代码解释
复制
<style>
text { fill: black; text-anchor: middle; }
line { stroke-width: 1; stroke: lightgray; }
</style>


<script>
dataset = d3.range(50,500,50);

svg = d3.select("body").append("svg");
svg.attr('width',500).attr('height', 500);

svg.append("line").attr('x1', 0).attr('x2', 500).attr('y1', 100).attr('y2', 100);
svg.append("line").attr('x1', 0).attr('x2', 500).attr('y1', 200).attr('y2', 200);

group = svg.selectAll("g")
    .data(dataset)
    .enter()
    .append("g");

// Without the dy=0.35em offset
group.append("text")
    .text("My text")
    .attr("x",function (d) {return d;})
    .attr("y",100)
    .attr("transform", function(d, i) {return "rotate("+45*i+","+d+",100)";});

// With the dy=0.35em offset
group.append("text")
    .text("My text")
    .attr("x",function (d) {return d;})
    .attr("y",200)
    .attr("dy","0.35em")
    .attr("transform", function(d, i) {return "rotate("+45*i+","+d+",200)";});
<script>

View it in Codepen

如果不包括"dy=0.35em",单词将围绕文本底部旋转,180后在旋转前的位置下方对齐。包含"dy=0.35em“将使它们围绕文本的中心旋转。

请注意,不能使用CSS设置dy。

票数 75
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19127035

复制
相关文章
前端面试 【HTML】— Svg 和Canvas有什么区别?
2. canvas绘图是基于像素点,是位图,如果进行放大或缩小会失真;svg基于图形,用html标签描绘形状,放大缩小不会失真;
越陌度阡
2021/11/10
1K0
SVG - 基本的SVG属性
SVG - 基本的SVG属性 HTML5学堂:在前一篇文章当中,我们讲解了SVG的基本知识,并且为大家介绍了如何在html文件当中书写SVG代码。今天我们具体讲解SVG的基本属性,如何使用SVG完成线、圆等图形的绘制。 line - 直线 拥有四中基本属性 x1 属性在 x 轴定义线条的开始 y1 属性在 y 轴定义线条的开始 x2 属性在 x 轴定义线条的结束 y2 属性在 y 轴定义线条的结束 demo <line x1 = "20" y1 = "20" x2 = "200" y2 = "180" st
HTML5学堂
2018/03/12
4.1K0
React篇(024)-状态和属性有什么区别?
state 和 props 都是普通的 JavaScript 对象。虽然它们都保存着影响渲染输出的信息,但它们在组件方面的功能不同。props 以类似于函数参数的方式传递给组件,而状态则类似于在函数内声明变量并对它进行管理。 States vs Props | Conditions | States | Props | | -------------------- | ------ | ----- | | 可从父组件接收初始值 | 是 | 是 | | 可在父组件中改变其值 | 否 | 是 | | 在组件内设置默认值 | 是 | 是 | | 在组件内可改变 | 是 | 否 | | 可作为子组件的初始值 | 是 | 是 |
齐丶先丶森
2022/05/12
4210
ANSI X12和UN/EDIFACT有什么区别?
开展业务和与交易伙伴进行数据交互都需要准备、发送、接收和处理大量的文件。 如今,在世界各地,几乎所有行业,从小型企业到大型企业,都在使用EDI(电子数据交换)与交易伙伴进行数据交互。
知行软件EDI
2021/05/17
1.3K0
ANSI X12和UN/EDIFACT有什么区别?
Canvas和SVG是什么?有什么区别?哪个性能好
<canvas>是H5新增的组件,就像一块幕布,可以使用脚本(通常为Javascript)在其中绘制图形的HTML元素,他可以用来制作各种图、表,或者一些动画。 Canvas 技术比较新,注重栅格图像处理。
玖柒的小窝
2021/09/18
1.2K0
IA32和X86有什么区别?
 特别鸣谢:木芯工作室 孔子学鼓琴师襄子,十日不进。师襄子曰:“可以益矣。”孔子曰:“丘已习其曲矣,未得其数也。”有间,曰:“已习其数,可以益矣。”孔子曰:“丘未得其志也。”有间,曰:“已习其志,可以益矣。”孔子曰:“丘未得其为人也。”有间,有所穆然深思焉,有所怡然高望而远志焉。曰:“丘得其为人,黯然而黑,几然而长,眼如望羊,如王四国,非文王其谁能为此也!”师襄子辟席再拜,曰:“师盖云文王操也。”
20岁爱吃必胜客
2022/11/13
2.1K0
WPF 编译为 AnyCPU 和 x86 有什么区别
本文告诉大家,编译为 AnyCpu 和 AnyCPU(Prefer 32-bit)和 x86 有什么区别
林德熙
2018/09/19
2.2K0
WPF 编译为 AnyCPU 和 x86 有什么区别
WPF 编译为 AnyCPU 和 x86 有什么区别
本文告诉大家,编译为 AnyCpu 和 AnyCPU(Prefer 32-bit)和 x86 有什么区别
林德熙
2022/08/04
6430
X86架构和X64架构有什么区别?
X86指的是支持32位的指令集架构处理器,最初由英特尔在1978年发布的 intel 8086,这个系统主要为X86结尾所以简称X86,而X86有16位和32位,现今大多数用的是32位处理器。
逍遥壮士
2022/12/01
1.8K0
SpringBoot 2.X 有什么新特性? 与 1.X 有什么区别?
Spring Boot 2.0 需要 Java 8 作为最低版本。许多现有的 API 已经更新,以利用 Java 8 的功能, 例如: 接口上的默认方法, 功能回调和新的 API, 如javax.time 如果您当前使用的是 Java 7 或更早版本, 那么在开发 Spring Boot2.0 应用程序之前, 您需要升级 JDK,Spring Boot 2.0 也运行良好, 并且已经过 JDK 9 的测试。 我们所有的jar 都在模块系统兼容性的清单中附带自动模块名称条目
用户9006224
2022/12/21
4310
【Android Gradle 插件】DexOptions 配置 ② ( additionalParameters 属性配置 | dx 工具 | dx 附加参数 )
BaseExtension 文档位置 : android-gradle-dsl/2.3/com.android.build.gradle.BaseExtension.html
韩曙亮
2023/03/30
7330
【Android Gradle 插件】DexOptions 配置 ② ( additionalParameters 属性配置 | dx 工具 | dx 附加参数 )
Closeable和AutoCloseable有什么区别?
导读:我们知道,在java中jvm虚拟机会自动去调用gc(垃圾回收器)去回收堆中没有被引用的对象,至于什么时候回收,是不确定的,同时有些是用到其他资源,jvm也不会进行回收,类似Io流中的FileInputStream使用到了硬盘资源,垃圾回收器是不会去回收的,因此,必须手动关闭掉。我们进行手动的编写close()方法进行关闭,然而,每次这些写会造成代码冗余不优雅,JDK中对于释放资源有Closeable和AutoCloseable可以使用,以下为详解。
码农架构
2021/04/22
3.2K0
Closeable和AutoCloseable有什么区别?
蓝牙和WiFi有什么区别?
如果您拥有手机、笔记本电脑、计算机或任何其他现代电子设备,知道蓝牙和 WiFi 。
网络技术联盟站
2021/11/05
2.2K0
蓝牙和WiFi有什么区别?
OracleJDK和OpenJDK有什么区别?
Oracle JDK与OpenJDK里的JVM都是HotSpot VM。从源码层面说,两者基本上是同一个东西。
码农架构
2021/09/18
1.9K0
OracleJDK和OpenJDK有什么区别?
kubernetes和docker有什么区别
本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。
码农编程进阶笔记
2023/03/23
2K0
kubernetes和docker有什么区别
int和Integer有什么区别?
Java虽然号称是面向对象的语言,但是原始数据类型仍然是重要的组成元素,所以在面试中,经常考察原始数据类型和包装类等Java语言特性。
灬沙师弟
2022/10/07
4.1K1
Exception和Error有什么区别?
世界上存在永远不会出错的程序吗?也许这只会出现在程序员的梦中。随着编程语言和软件的诞生,异常情况就如影随形地纠缠着我们,只有正确处理好意外情况,才能保证程序的
灬沙师弟
2022/09/06
1.5K0
列表和元组有什么区别
如果有了解过python中的列表和元组,你可能会知道相对于列表,元组是不可变的,也就是说元组中的数据不能随意更改。除了列表是用中括号表示而元组是用小括号表示之外,这两种数据类型好像并没有什么不同,都是用来存放一系列的数据,事实真是如此吗? TypeError Traceback (most recent call last) in() 4 5 # 现在改变b中数据的值 — 6 b[2] = 4 TypeError: ‘tuple’ obje
企鹅号小编
2018/02/26
2K0
列表和元组有什么区别
Jsp和Servlet有什么区别?
Web容器加载Servlet并将其实例化后,Servlet生命周期开始,容器运行其init()方法进行Servlet的初始化;请求到达时调用Servlet的service()方法,service()方法会根据需要调用与请求对应的doGet或doPost等方法;当服务器关闭或项目被卸载时服务器会将Servlet实例销毁,此时会调用Servlet的destroy()方法。
李红
2019/08/28
2.5K0
Jsp和Servlet有什么区别?
点击加载更多

相似问题

svg的x和dx属性有什么区别?

22

Force.com和Salesforce DX有什么区别?

12

“x”和"+“有什么区别?

15

'*(<type> *) &x‘和'x’有什么区别?

35

x++和++x有什么区别?

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文