[英]Align icon-font span with text span in line
I want to align an icon-font <span>
tag with an text <span>
in row. 我想将图标字体<span>
标记与文本<span>
对齐。 It seems if the two <span>
are in line but the icon is somehow "floating" over the div. 似乎两个<span>
对齐,但图标以某种方式“浮动”在div上。
.navigation { padding-left: 50px; padding-top: 50px; padding-bottom: 50px; } .navigation .counter { background: red; vertical-align: middle; font-size: 13px; } .navigation span { background: green; padding-bottom: 0px; } .navigation .material-icons { font-size: 21px; }
<head> <meta charset="utf-8" /> <script> document.write('<base href="' + document.location + '" />'); </script> <link href="style.css" rel="stylesheet" /> <script data-semver="1.3.20" src="https://code.angularjs.org/1.3.20/angular.js" data-require="angular.js@1.3.x"></script> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> </head> <div class="navigation"> <span><i class="material-icons">arrow_drop_down</i></span> <span><i class="material-icons">arrow_drop_up</i></span> <span class="counter">select floor</span> </div>
So how can I align the icon and the text so that the text is in the vertical center of the icon ? 那么,如何对齐图标和文本,使文本位于图标的垂直中心?
The line-height
of the text needs to be the same as the font-size
of the icon's. 文本的line-height
必须与图标的font-size
相同。 Using vertical-align:middle;
使用vertical-align:middle;
in this way is not necessary. 这样就没有必要了。
.navigation { padding-left: 50px; padding-top: 50px; padding-bottom: 50px; } .navigation .counter { background: red; font-size: 13px; line-height:21px; vertical-align:top; } .navigation span { background: green; padding-bottom: 0px; display: inline-block; } .navigation .material-icons { font-size: 21px; vertical-align:top; }
<head> <meta charset="utf-8" /> <script> document.write('<base href="' + document.location + '" />'); </script> <link href="style.css" rel="stylesheet" /> <script data-semver="1.3.20" src="https://code.angularjs.org/1.3.20/angular.js" data-require="angular.js@1.3.x"></script> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> </head> <div class="navigation"> <span><i class="material-icons">arrow_drop_down</i></span> <span><i class="material-icons">arrow_drop_up</i></span> <span class="counter">select floor</span> </div>
Please update the following classes with vertical-align
and display
Properties: 请使用vertical-align
更新以下类并display
属性”:
CSS 的CSS
.navigation {
padding-left: 50px;
padding-top: 50px;
padding-bottom: 50px;
display: inline-block;
}
navigation .material-icons {
font-size: 21px;
vertical-align: middle;
}
Just adding verical-align: middle to .navigation .material-icons will solve the issue. 只需在.navigation .material-icons中添加verical-align:中即可解决该问题。
.navigation { padding-left: 50px; padding-top: 50px; padding-bottom: 50px; } .navigation .counter { background: red; vertical-align: middle; font-size: 13px; } .navigation span { background: green; padding-bottom: 0px; } .navigation .material-icons { font-size: 21px; vertical-align: middle; }
<head> <meta charset="utf-8" /> <script> document.write('<base href="' + document.location + '" />'); </script> <link href="style.css" rel="stylesheet" /> <script data-semver="1.3.20" src="https://code.angularjs.org/1.3.20/angular.js" data-require="angular.js@1.3.x"></script> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> </head> <div class="navigation"> <span><i class="material-icons">arrow_drop_down</i></span> <span><i class="material-icons">arrow_drop_up</i></span> <span class="counter">select floor</span> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.