D3js text文本位置为什么很奇怪?都超出svg了,怎样将它放置于rect正中间位置?

新手上路,请多包涵

image.png

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title></title>
        <style type="text/css">
            *{
                margin:0;
                padding:0
            }
            html,body{
                width:100%;
                height:100%;
                overflow-y: hidden;
            }
            #k{
                width:100%;
                height:100%;
                background:lightblue
            }
        </style>
        <script src="https://d3js.org/d3.v5.min.js"></script>
    </head>
    <body>
        <svg id="k"></svg>
    </body>
</html>

<script type="text/javascript">
    var svgs =d3.select("svg")
    svgs.append("text").text("123456").attr("font-size",40).attr("y",20)
    svgs.append("rect").attr("x",40).attr("y",20).attr("width",200).attr("height",100).attr("fill","blue")
</script>

阅读 3.6k
1 个回答
✓ 已被采纳新手上路,请多包涵

给text加上属性.attr("dominant-baseline","Hanging")

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题