POST TIME:2020-04-02 17:16
解決CSS3圓角兼容所有瀏覽器的方法。本文提到了一種很不錯的實現(xiàn)跨瀏覽器圓角的解決方案,但是說的不夠全面,我們將整理更多更全面的資源給大家,敬請期待。
譯 :前一段時間,我經(jīng)常收到一個關(guān)于如何在IE瀏覽器中使用CSS3的border-radius屬性實現(xiàn)圓角HTML元素的問題。你或許知道CSS3的border-radius 屬性被Safari、Firefox和Chrome等瀏覽器原生支持,但是由于某些原因IE并不支持它。
那么要想在IE中實現(xiàn)圓角,你不得不使用一些技巧,比如使用帶有背景圖片的CSS類。
而我知道的在各個瀏覽器中實現(xiàn)圓角的較簡單快速的方案是結(jié)合CSS3和JavaScript。CurvyCorners是一個為HTML元素創(chuàng)建漂亮的圓角的免費JavaScript庫。效果如下:
該腳本的最大優(yōu)勢是可以在Safari/Chrome/Firefox中使用原生的CSS3屬性(通過-webkit-border-radius和-moz-border-radius私有屬性分別支持)而在IE和Opera中使用JavaScript。
你所需要做的就是在頁面中引入curvycorners.js:
<script type="text/javascript" src="curvycorners.js"></script> |
然后定義以下樣式:
.roundedCorners{ width: 220px; padding: 10px; background-color: #DDEEF6; border:1px solid #DDEEF6; /* Do rounding (native in Safari, Firefox and Chrome) */ -webkit-border-radius: 6px; -moz-border-radius: 6px; } |
然后在上面的樣式后面定義以下代碼:
<script type="text/JavaScript"> addEvent(window, 'load', initCorners); function initCorners() { var setting = { tl: { radius: 6 }, tr: { radius: 6 }, bl: { radius: 6 }, br: { radius: 6 }, antiAlias: true } curvyCorners(setting, ".roundedCorners"); } </script> |
tl, tr, bl, br分別是:左上角(top-left)、右上角(top-right)、左下角(bottom-left)、右下角(bottom-right)。
如果你有不同的CSS類(例如roundedCorners、roundedCorners_1、roundedCorners_2等)你可以像這樣在前面的代碼中定義:
... curvyCorners(setting, ".roundedCorners"); curvyCorners(setting, ".roundedCorners_1"); curvyCorners(setting, ".roundedCorners_2"); ... |
HTML代碼如下:
<div class="roundedCorners"></div> |
在各個瀏覽器中的效果