MyW*_*cks 14 html css svg alignment vertical-alignment
我有内联SVG对齐的问题.我创建了一个带有一些文本和SVG的按钮.当SVG高度小于文本时,当SVG至少与文本一样大时,对齐正常工作.
我创建了一个带有双色背景按钮的测试用例,以指示中间的确切位置.您可以看到,如果您仔细观察第二种情况并未完全对齐,因为SVG的高度小于文本中的高度.
有没有什么办法解决这一问题?做其他方式(请不要js)?
测试用例:https://goo.gl/KYDKGH
Le_*_*___ 32
jsfiddle 1 - 您可以position:relative在容器和position: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;
Run Code Online (Sandbox Code Playgroud)
该top: 50%拾取对象作为参考(而不是它的中心)的顶部将对象移动到所述容器的垂直中心,所以transform: translateY它的它的大小的50%的距离向上让它恰好在所述容器的中间移动(由对象中央).
PS:在text-align:center; left:0; right: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;
Run Code Online (Sandbox Code Playgroud)
ps:justify content用于水平对齐.
| 归档时间: |
|
| 查看次数: |
27027 次 |
| 最近记录: |