兼容所有瀏覽器的CSS3圓角效果


  解決CSS3圓角兼容所有瀏覽器的方法。本文提到了一種很不錯的實現跨瀏覽器圓角的解決方案。

       前一段時間,我經常收到一個關於如何在IE瀏覽器中使用CSS3的border-radius屬性實現圓角HTML元素的問題。你或許知道CSS3的border-radius 屬性被Safari、Firefox和Chrome等瀏覽器原生支持,但是由於某些原因IE並不支持它。

 

        那么要想在IE中實現圓角,你不得不使用一些技巧,比如使用帶有背景圖片的CSS類。

      

        而我知道的在各個瀏覽器中實現圓角的較簡單快速的方案是結合CSS3和JavaScript。CurvyCorners是一個為HTML元素創建漂亮的圓角的免費JavaScript庫。效果如下:

        該腳本的最大優勢是可以在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>

 
在各個瀏覽器中的效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM