2017-03-28 19 views
0

IEとEdgeの<hr>タグの周りに表示するアイコンがになるのは困惑します。 hrに適用するクラスを作成しましたが、これはFirefoxとChromeでうまく表示されますが、IEを動作させる方法がわかりません。:Microsoft EdgeとIEのHRの前と後:

表示方法:Normal (Firefox and Chrome)

しかし、IEとEdgeでは、アイコンは表示されません。私は彼らがまったく表示されていないと思ったが、:before:afterに長いコンテンツを追加すると、その内容が<hr>の後ろに隠れているのがわかりました。

私はoverflow: visibleを試しましたが、同じままで、paddingを追加すると、hr以下のアイコンが押されました。どのような助けが大いに感謝!

CSS:

hr.fancy { 
    border: 0; 
    width: 50%; 
    border-top: 1px solid #E67E48; 
    margin: 0 auto; 
} 

hr.fancy:after, 
hr.fancy:before { 
    content: '◆ test'; 
    position: relative; 
    top: -11px; 
    color: #111; 
    font-size: 14px; 
    color: #E67E48; 
} 

hr.fancy:before { 
    float: left; 
    right: 20px; 
} 

hr.fancy:after { 
    float: right; 
    left: 20px; 
} 

JS Fiddle

+0

私は驚いていますそれはクロム&ファイアフォックスのすべてで動作します... - :後:と:前に子供の擬似要素があります...彼らは親を必要とします -


は内容のない短縮された要素なので、子供の擬似要素をそれらに適用してはいけません。 –

答えて

0

私は私はそれはIEで<hr/>要素で動作します...間違っていたと推測し、エッジ

hr.fancy { 
 
    position: relative; 
 
    width: 50%; 
 
    margin: 0 auto; 
 
    display: block; 
 
    border-top: 1px solid #E67E48; 
 
    clear: both; 
 
    overflow:visible; 
 
} 
 

 
hr.fancy:after, 
 
hr.fancy:before { 
 
    position: absolute; 
 
    left: -20px; 
 
    color: #E67E48; 
 
    line-height: 0; 
 
    font-size: 14px; 
 
    content: '◆'; 
 
} 
 

 
hr.fancy:after { 
 
    left: auto; 
 
    right: -20px; 
 
}
<br> 
 
<hr class="fancy" />

+0

ああ、ありがとう!私もそれが可能だったことに驚いたが[このスレッド](http://stackoverflow.com/questions/26633229/to-what-self-closing-elements-can-before-and-after-pseudo-elements-be-applie )私は試してみました。私がやったことをきれいにしてくれてありがとう、それは今より良く見える。 – Crista

+0

@Cristaあなたは大歓迎です...あなたのコードは機能しましたが(ポジショニングは最善の方法では解決されませんでした)、何らかの理由でIEだけが明示的にオーバーフロー表示する必要がありました。 –

関連する問題