javascript - 为什么 margin-top 不适用于 <i> 元素?

标签 javascript jquery html css

这是我的代码:

.fa-caret-down{
    margin-top: 3px;
    padding-top:3px;
    line-height: 3;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"/>

<div><span>something</span> <i class="fa fa-caret-down" aria-hidden="true"></i></div>

如您所见,padding 都没有或marginline-height达不到我预期的效果。这是预期结果:

enter image description here

我怎样才能得到它?

注意:根据我的真实代码,我不应该使用 position: absolute;为此<i>元素。

最佳答案

margin/padding/line-height 正常工作,您只需添加 vertical-align:topspan

 span{
   vertical-align:top;
 }
.fa-caret-down{
    margin-top: 3px;
    padding-top:3px;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"/>

<div><span>something</span> <i class="fa fa-caret-down" aria-hidden="true"></i></div>

关于javascript - 为什么 margin-top 不适用于 <i> 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39050429/

相关文章:

javascript - jquery $ selector 在 querySelector 不可用之前是如何定义的?

c# - Web 浏览器控件 : How to capture document events?

javascript - 如何使用 jsPDF 导出 Canvas 图像?

javascript - 在 Google map 中标记多个位置

html - 如何将dialogflow与网站集成?

Css 'div overflow ' - 当我运行滚动时,div 跟随运动

javascript - 修复了上面的 Div 滚动过去时的标题

javascript - jQuery 精简版/AngularJS : How to add a class to a single child of an element?

javascript - jQuery getScript。如何在加载后执行函数

javascript - 控制 JQuery 动画函数