html - 用 tex-anchor : end 包装文本

标签 html css svg

所以我有这个 HTML/CSS 片段:

HTML:

<svg class="container">
  <g>
    <svg class="amount-container">
      <text class="amount" >500</text>
     </svg>
  </g>
</svg>

CSS:

.amount {
  writing-mode: tb;
  text-anchor: end;
}

.amount-container {
  overflow: visible;
}

.container {
  background: white;
  margin: 200px;
  overflow: visible;
}

Demo in Jsfiddle

问题是我希望容器 svg ('.container') 增加其高度以包裹文本 ('.amount')。任何想法如何解决它?我无法分配固定的 padding-top,因为事先不知道文本的长度。

最佳答案

您不能自动执行此操作。 SVG 没有像 HTML 那样的自动布局。你必须设置它的宽度和高度,类似于 <canvas>元素。

您唯一的选择是使用 Javascript 检测文本的大小(通过在文本元素上调用 getBBox())并更改 SVG 的大小以匹配。

关于html - 用 tex-anchor : end 包装文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36860887/

相关文章:

php - 为什么我的 HTML 单选按钮会检查最后一个选项,而不管选择了什么选项?

css - Content-Language 的响应头支持

javascript - webkit 浏览器中 svg 文本的奇怪行为

javascript - 对 Internet Explorer 8 及以下版本的 SVG 支持

html - FCKeditor 用 <p> 标签包装某些 HTML5 元素 - 导致旧浏览器出现问题

jquery - 使用 JQuery 解析包含 html 的字符串

css - 是否可以在使用共享 mixins 的同时使用 sass/compass 在单独的 css 文件中使用变量?

javascript - 用图像替换普通文件上传输入

javascript - 无法使用 svg.draw.js 绘制路径

html - 如何创建一个具有 100% 宽度和左右边距的 div?