Html :元素错位之前

Html :元素错位之前,html,css,cross-browser,cross-platform,Html,Css,Cross Browser,Cross Platform,我不明白为什么它在IE9和IE10上不起作用。它适用于其他浏览器,但不适用于那些浏览器。我的问题是: (来源:) 我还在主页上使用这种技术来装饰字幕。除此之外: (来源:) 使用此代码: .special-title { font-size: 24px; color: #a4a19e; line-height: 1.2; position: relative; padding: 8px 0 8px 38px; border-top: 1px s

我不明白为什么它在IE9和IE10上不起作用。它适用于其他浏览器,但不适用于那些浏览器。我的问题是:


(来源:)

我还在主页上使用这种技术来装饰字幕。除此之外:


(来源:)

使用此代码:

.special-title {
    font-size: 24px;
    color: #a4a19e;
    line-height: 1.2;
    position: relative;
    padding: 8px 0 8px 38px;
    border-top: 1px solid #e2dbcf;
    border-bottom: 1px solid #e2dbcf;
    margin-top: 49px;
    margin-bottom: 25px;
}

.special-title:before {
    content: url('../img/general-title-decoration.svg?1369571463');
    position: absolute;
    width: 28px;
    height: 28px;
    left: 0;
    top: 10px;
}
我试着看一下它们的区别,但我不明白

另外,在IE上我的控制台上没有出现伪元素,所以测试起来有点困难(尤其是使用browserstack)

有什么想法吗?我被困在那里了


非常感谢。:)

您是否尝试过在元素
绝对
之前不定位
?
只要不定义
display:block,没有它的位置应该很好


另外,这两种情况之间的区别在于您设置了
display:block在第一种情况下。

我无法测试这一点,但尝试使用
::before
,这在CSS3中显然是新的。

它是svg,其代码中的大小设置为100%,因此如果我不设置display:block,它将占用整个容器。是的,我注意到了!我要试着不用。谢谢:)哎呀,我没看到是SVG。祝你好运,让我知道结果。好吧,我试图删除显示:块,没有任何改变。我不明白问题从何而来。如果定义高度会发生什么?您可以尝试通过JSFIDLE重新创建场景吗?通过这种方式,你可以隔离问题,让其他人更容易测试,因为IE中的开发工具不太好…顺便说一句,我看到你在找实习,我的公司(布鲁塞尔)经常接受实习生:www.mccann.be;-)@巴特杜德,stackoverflow的舞台表演?不确定这是展示我技能的最好地方啊哈,但是谢谢!我来看看:)寻求帮助并不是一种弱点,特别是当问题问得好的时候。我更关心的是那些假装自己从学校就知道一切的人,或者他们自己无法表现出任何反思的迹象。@Bartdude好吧,你完全正确。非常感谢您的提醒!
.special-title {
    font-size: 24px;
    color: #a4a19e;
    line-height: 1.2;
    position: relative;
    padding: 8px 0 8px 38px;
    border-top: 1px solid #e2dbcf;
    border-bottom: 1px solid #e2dbcf;
    margin-top: 49px;
    margin-bottom: 25px;
}

.special-title:before {
    content: url('../img/general-title-decoration.svg?1369571463');
    position: absolute;
    width: 28px;
    height: 28px;
    left: 0;
    top: 10px;
}