css - 如何从多边形中心而不是底部制作 SVG 级别?

标签 css reactjs svg

我有一个相当简单的 svg 下拉按钮图标。我想将它与下拉按钮中的文本对齐,以便文本的中心与 svg 多边形的中心对齐。

到目前为止,它与多边形的底部齐平。

SVG:

<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='#FFFFF'>
    <polygon
            opacity="0.5"
            points='0,0 100,0 50,50'
    />
</svg>

它是为按钮元素实现的(React 样式):

background: `url(${require("./assets/icons/select_downarrow.svg")}) no-repeat`,
backgroundSize: "10px",
backgroundPosition: "calc(100% - 15px) center",

它将与 SVG 箭头的最底部“对齐”。我希望它与多边形的中心齐平,这可以从 SVG 元素本身来完成,还是必须通过样式来完成?

最佳答案

一种简单的方法是将文本的 line-height 设置为与图像相同的高度。只要您的文本不需要换行,这就很好用。

button {
  background-color: #eeeeff;
}

svg {
  display: block;
  float: left;
  background-color: #ffffee;
}

span {
  line-height: 100px;
}
<button>

  <svg width="100" height="100" fill="#FFFFF">
    <polygon opacity="0.5" points="0,0 100,0 50,50" />
  </svg>
  
  <span>Some text here</span>

</button>

关于css - 如何从多边形中心而不是底部制作 SVG 级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47072325/

相关文章:

javascript - 使用 css 或在背景中使用等距柱状 map 投影将 map 设置为背景

css - 如何在网络浏览器中切换主题

html - CSS类不继承

reactjs - FullCalendar (React) - 获取当前周/月的日期

reactjs - 使用 Webpack 编译的应用程序的插件系统

jquery - 使用 CSS 为 SVG 路径元素的填充设置动画

html - 按钮问题

html - CSS:最小高度最小内容不适用于高度 vh-100

javascript - react : How to open a newly added accordion item?

javascript - 获取元素相对于封闭 svg 的坐标