我创建了一个带有双色背景按钮的测试用例,以指示中间的确切位置.您可以看到,如果您仔细观察第二种情况未完全对齐,因为SVG的高度小于文本中的高度.
有没有什么办法解决这一问题?做其他方式(请不要Js)?
测试用例:https://goo.gl/KYDKGH
解决方法 jsfiddle 1 – 您可以在容器上使用position:relative,并在对象上使用absolute:absolute,如下所示:position: absolute; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); left: 0; right: 0; margin: auto; text-align: center;
顶部:50%将对象移动到容器的垂直中心,选择对象的顶部作为参考(而不是其中心),因此变换:translateY将其向上移动50%的距离,使其完全位于中间容器(由物体中心).
ps:text-align:center;左:0;右:0;和margin:auto用于水平对齐.
jsfiddle 2 – 或者使用display:flex在容器上使用align-items来垂直对齐内容,如下所示:
display: -webkit-flex; /* Safari */ display: flex; -webkit-align-items: center; /* Safari 7.0+ */ align-items: center; -webkit-justify-content: center; justify-content: center;
ps:对齐内容用于水平对齐.
总结以上是内存溢出为你收集整理的html – CSS中SVG的垂直对齐全部内容,希望文章能够帮你解决html – CSS中SVG的垂直对齐所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)