这是我的小提琴:
http://jsfiddle.net/schmudde/VeA6B/
我无法删除字体真棒图标两侧的顶部和底部填充:
span {
border: 1px solid red;
line-height: 40%;
}
i {
border: 1px solid green;
padding: 0px;
margin: 0px;
display: inline-block;
width: auto;
height: auto;
line-height: inherit;
vertical-align: baseline;
background-color: red;
}
<span><i class="icon-check icon-3x"></i></span>
我尝试了特定的行高和继承行高。这里有一些基本的东西,我显然不理解。
答案 0 :(得分:6)
使用span { line-height: 100%; }
,这样就可以填补阻止。
答案 1 :(得分:6)
在line-height
标记上的图标添加到伪类:before
时,跨度上的<i />
不会对您有所帮助。这个伪类会创建一个隐藏的元素,如果你可以调用它。
所以如果你想覆盖css:
.icon-check:before { font-size: 2rem; }
删除图标的填充可能很棘手。如果您将span
设置为display: inline-block
,则可以将height
,width
与overflow: hidden
结合使用。
span {
border: 1px solid #FF0000;
display: inline-block;
height: 38px;
overflow: hidden;
position: relative;
width: 45px;
}
i.icon-check:before {
left: 0;
position: absolute;
top: -4px;
}
答案 2 :(得分:0)
您在span
中设置了边框,并在i
中继承了行高,这就是问题所在。
只需向i
添加边框:
span {
line-height: 40%;
}
i {
border: 1px solid red;
border: 1px solid green;
padding: 0px;
margin: 0px;
display: inline-block;
width: auto;
height: auto;
line-height: inherit;
vertical-align: baseline;
background-color: red;
}
<span><i class="icon-check icon-3x"></i></span>