2012-11-12 16 views
5

IE9'da, DXIImageTransform matrisini kullanarak döndürülen metni pikselleştireceğini fark ettim. IE8 veya 7'de bu sorun yok. Normalde IE9'daki css3 seçeneklerini kullanıyorum ama denetimimin dışındaki nedenlerden dolayı, sayfa, quirks modunda çalışıyor (doctype içermeyen 3. taraf sayfasındaki geçerli html5 iframe)DXIMageTransform.Microsoft.Matrix bulanıklığı

Bu kullanıyorum kodudur: IE8

<!--Looks like crap but is my only option in quirks mode--> 
<span style="position:absolute; 
    filter:progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', 
    M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);"> 
    Does this make my butt look pixelated?  
</span> 

, sonuç metni düzgün olduğunu, ancak IE9 çok pikselli var döndürülmüş. Ben metin döndürebilirsiniz nasıl IE9 http://jsfiddle.net/U4CCD/3/

sorum,

<!-- looks great but doesn't work in quirks mode--> 
<span style="position:absolute; top:150px; -ms-transform: rotate(-45deg);"> 
    Does this make my butt look pixelated? 
</span> 

eylem olarak görmek için (tuhaflıklar modunda çalışmaz olan) bu keman kontrol Buna karşılaştırın IE9'da, quirks modunda, tüm pikselli ve bulanık görünmüyor. Matris dönüşümü neden IE9'da emilmeye başladı?

IE9 çalıştırmayacak kadar şanslıysanız, gördüğüm şey budur. Daha net örnek IE8'de nasıl göründüğü ve css3 dönüşümlerini nasıl göründüğü.

IE9 sucks

cevap

4

Sonuçta bu sadece benim geçerli yapılandırma ile yapılabilir mümkün olmadığını söyledi. Bununla birlikte, geçerli html5 sayfamı iframe'e gömülmüş bir nesneye yerleştirerek etrafta çalışabildim. IE 9'da bu, sayfamın iframe'de standart modda işlenmesine izin veriyor gibi görünüyordu ve temiz görünen SVG dönüşümlerini kullanıyordu. Aşağıdaki sarmalayıcı aspx komut dosyasını oluşturdum:

<%@ Page Language="C#" %> 

<% 
    string url = "app/path"; 
    if(!String.IsNullOrEmpty(Request.QueryString["path"])) 
     url = HttpUtility.UrlDecode(Request.QueryString["path"]); 

    url += "?i=1"; 
    if(!String.IsNullOrEmpty(Request.QueryString["id"])) 
     url += "&id=" + Request.QueryString["id"]; 

    if(Request.Browser.Browser!="IE"||Request.Browser.MajorVersion!=9) { 
     Response.Redirect(url); 
    } 
    url += "&quirky=1"; 
%> 
<html> 
<head><title></title> 
</head> 
<body style="width:100%; height:100%; margin:0; padding:0; overflow:hidden;"> 
<object type="text/html" data="<% =url %>" style="overflow:hidden; width:100%; height:100%"></object> 
</body> 
</html> 
İlgili konular