text-shadow
不足しているプロパティを補うために、jQuery と IE フィルターを使用して IE<=9 でドロップ シャドウを作成しました。これは、このサイトのページの上部のh2
見出しで確認できます。これは、text-shadow プロパティ (によって検出される) をサポートしていないブラウザーで jQuery を使用して、要素内のテキストを複製します...modernizr
h2
jQuery(".no-textshadow h1, .no-textshadow h2").each(function(){
var text_shadow_markup = jQuery(this).html();
jQuery(this).append("<span class='shadow'>"+text_shadow_markup+"</span>");
});
...この CSS でスタイル設定されている場所 (このIE ドロップ シャドウ手法の礼儀):
@media only screen and (min-width: 768px) {
h2 {
text-shadow: #000000 0px 5px 5px;
position: relative;
zoom: 1;
z-index: 1;
}
h2 span.shadow {
color: #000000;
position: absolute;
left: -7px;
top: -2px;
z-index: -1;
zoom: 1;
filter: progid:DXImageTransform.Microsoft.Glow(Color=#000000,Strength=2) progid:DXImageTransform.Microsoft.blur(pixelradius=5,enabled='true');
-ms-filter: "progid:DXImageTransform.Microsoft.Glow(Color=#000000,Strength=2) progid:DXImageTransform.Microsoft.blur(pixelradius=5,enabled='true')";
}
}
問題:影は、その背後にあるテキストとは無関係に流れます。IE8 と IE9 では、影の 1 つがテキストから消えるまでウィンドウの幅をゆっくりと変更することで、常にこれを確認できます。
影が要素span
の収容ボックスに絶対に配置されている場合、これがどのように発生するかわかりません。h2
それでも、彼らはあたかも執着していないかのように流れることができます。これはブラウザのバグである可能性があることを認識しているため、IE8 と IE9 をサポートする回避策があれば幸いです。誰かが上記の私のアプリケーションの問題を指摘してくれれば幸いです。
ps、CSS Sandpaper text-shadowが同様の手法を実装しており、それが上記の問題に対処するためのベスト プラクティスとして受け入れられている場合は、誰かの支持を受け入れると聞いています。