我想要一些我正在處理的Web項目的那些漂亮的圓角。檢查-moz-border-radius支持的最佳方法
我想我會嘗試使用JavaScript而不是CSS來完成它,以儘量減少圖像文件的請求(是的,我知道可以將所有需要的圓角形狀組合到一個圖像中)而且我也希望能夠很快地改變背景顏色。
我已經使用jQuery,所以我看着優秀的rounded corners plugin,它在每個我試過的瀏覽器中都像一個魅力。作爲一名開發人員,我注意到有機會讓它更有效率。該腳本已經包含用於檢測當前瀏覽器是否支持webkit圓角(基於Safari瀏覽器)的代碼。如果是這樣,它使用原始的CSS而不是創建div的層。
我認爲這將是可怕的,如果可以執行相同類型的檢查來查看瀏覽器是否支持壁虎專用-moz-border-radius-*
屬性,並且如果使用它們。
對WebKit的支持支票看起來是這樣的:
var webkitAvailable = false;
try {
webkitAvailable = (document.defaultView.getComputedStyle(this[0], null)['-webkit-border-radius'] != undefined);
}
catch(err) {}
然而,這並沒有爲-moz-border-radius
工作,所以我開始檢查的替代品。
我的備用解決方案當然是使用瀏覽器檢測,但這遠非推薦的課程實踐。
我的最佳解決方案如下。
var mozborderAvailable = false;
try {
var o = jQuery('<div>').css('-moz-border-radius', '1px');
mozborderAvailable = $(o).css('-moz-border-radius-topleft') == '1px';
o = null;
} catch(err) {}
它是基於這樣的理論:壁虎 「擴展」 複合萬盎司,邊界半徑四個子屬性
-moz-border-radius-topleft
-moz-border-radius-topright
-moz-border-radius-bottomleft
-moz-border-radius-bottomright
有沒有更好的解決方案的任何JavaScript/CSS大師?
(此頁的功能要求是http://plugins.jquery.com/node/3619)
如果您嘗試將未定義的CSS屬性應用於元素,javascript是否會停止執行? – 2010-01-03 21:30:35
如何使用功能檢測來了解瀏覽器是否支持邊界半徑? http://stackoverflow.com/questions/5277288/how-to-use-feature-detection-to-know-if-browser-supports-border-radius-includin – Tom 2011-09-14 15:20:46