2011-01-14 84 views
3

我已經嘗試了幾個解決方案,以獲得一個fancybox iframe在IE中的圓角沒有運氣。fancybox iframe IE圓角

DD_roundies和PIE.htc似乎沒有辦法。

有沒有人找到可行的解決方案?

這裏是我的代碼:

$("a.fancyboxGeneral").fancybox({ 
     'width': 521, 
     'height': '75%', 
     'autoDimensions': true, 
     'autoScale': true, 
     'type': 'iframe', 
      'onComplete': function() { 
       DD_roundies.addRule('#fancybox-title', '5px', true); 
       DD_roundies.addRule('#fancybox-outer', '10px', true); 
       DD_roundies.addRule('#fancybox-wrap', '10px', true); 
      } 
    }); 

#fancybox-wrap { 
    position: absolute; 
    top: 0; 
    left: 0; 
    padding: 20px; 
    z-index: 1101; 
    outline: none; 
    display: none; 
    -moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px; 
    behavior: url(PIE-1.0beta3/PIE.htc); 
} 

#fancybox-outer { 
    position: relative; 
    width: 100%; 
    height: 100%; 
    background: #fff; 
    -moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px; 
    behavior: url(PIE-1.0beta3/PIE.htc); 
} 

感謝

+0

你如何實現這些,你可以請你發佈你的代碼。 – Lazarus 2011-01-14 11:56:51

回答

0

我絕對可以知道你爲什麼會與舍入在IE的iFrame的角落麻煩,沒有CSS的幫助。我懷疑任何知名的黑客都可以處理它(儘管你可能想在CSS3Pie論壇上提及它)。

我的第一個建議是在IE中使用方角。我知道這可能不是你正在尋找的答案,但它可能是最實用的方法。它看起來有多糟糕?如果您花費大量精力來做出正確的決定,您的用戶實際上會關心多少?

如果你肯定想要四角,我會建議使用包裝<div>,並在其上四捨五入。

你可以嘗試將它放置在iFrame之外,但我有一個鬼鬼祟祟的懷疑可能不太好;我認爲iFrame的邊角會在容器div的圓角上流血,除非你給包含一些填充來彌補。這當然會在一定程度上改變你的頁面佈局,但我認爲這將是你最可行的解決方案。

另一種選擇是將圓角放入iframe中 - 即在具有圓角的iframe內製作一個元素,並將其餘的iframe內容放入其中。這個解決方案當然會對你如何填充iframe有很大的影響。根據你的內容是什麼樣以及它來自哪裏,這可能並不容易實現。

+0

感謝您的答案。這一定是以前發生過的,所以必須有一段代碼可以重用。 – user441365 2011-01-14 13:01:59

0

只是想讓你(和其他人可能正在研究這個)Fancybox2在.fancybox-skin和.fancybox-title-float-wrap .child屬性中包含邊界半徑,並且它在IE9(版本我在我的電腦上運行)。