<style type="text/css">
.b1,.b2,.b3,.b4,.b1b,.b2b,.b3b,.b4b,.b{}{display:block;overflow:hidden;}
.b1,.b2,.b3,.b1b,.b2b,.b3b{}{height:1px;}
.b2,.b3,.b4,.b2b,.b3b,.b4b,.b{}{border-left:1px solid #999;border-right:1px solid #999;}
.b1,.b1b{}{margin:0 5px;background:#999;}
.b2,.b2b{}{margin:0 3px;border-width:2px;}
.b3,.b3b{}{margin:0 2px;}
.b4,.b4b{}{height:2px;margin:0 1px;}
.d1{}{background:#F7F8F9;}
.k {}{height:300px;}
</style>
</head>
<body>
<div>
<b class="b1"></b><b class="b2 d1"></b><b class="b3 d1"></b><b class="b4 d1"></b>
<div class="b d1 k">
<font style="font-size:26px;color:red; margin:0px 10px;">簡潔型css圓角矩形</font>
</div>
<b class="b4b d1"></b><b class="b3b d1"></b><b class="b2b d1"></b><b class="b1b"></b>
</div>
3D圓角矩形:
<style type="text/css">
.raised{}{background:transparent;width:40%;}
.raised h1,.raised p{}{margin:0 10px;}
.raised h1{}{font-size:2em;color:#fff;}
.raised p{}{padding-bottom:0.5em;}
.raised .b1,.raised .b2,.raised .b3,.raised .b4,.raised .b1b,.raised .b2b,.raised .b3b,.raised .b4b{}{display:block;overflow:hidden;font-size:1px;}
.raised .b1,.raised .b2,.raised .b3,.raised .b1b,.raised .b2b,.raised .b3b{}{height:1px;}
.raised .b2{}{background:#ccc;border-left:1px solid #fff;border-right:1px solid #eee;}
.raised .b3{}{background:#ccc;border-left:1px solid #fff;border-right:1px solid #ddd;}
.raised .b4{}{background:#ccc;border-left:1px solid #fff;border-right:1px solid #aaa;}
.raised .b4b{}{background:#ccc;border-left:1px solid #eee;border-right:1px solid #999;}
.raised .b3b{}{background:#ccc;border-left:1px solid #ddd;border-right:1px solid #999;}
.raised .b2b{}{background:#ccc;border-left:1px solid #aaa;border-right:1px solid #999;}
.raised .b1{}{margin:0 5px;background:#fff;}
.raised .b2, .raised .b2b{}{margin:0 3px;border-width:0 2px;}
.raised .b3, .raised .b3b{}{margin:0 2px;}
.raised .b4, .raised .b4b{}{height:2px; margin:0 1px;}
.raised .b1b{}{margin:0 5px; background:#999;}
.raised .boxcontent{}{display:block;background:#ccc;border-left:1px solid #fff;border-right:1px solid #999;}
</style>
</head>
<body>
<div class="raised">
<b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b4"></b>
<div class="boxcontent">
<h1>3D圓角矩形</h1>
</div>
<b class="b4b"></b><b class="b3b"></b><b class="b2b"></b><b class="b1b"></b>
</div>
CSS3實現圓角
<div style="background-color: blue; height: 50px; width: 100px; border-width: 5px; border-style: solid; border-radius: 15px">Firefox 和 Safari 實現圓角</div>
1.CSS3是樣式表(style sheet)語言的最新版本,它的一大優點就是支援圓角
1)CSS3圓角的優點
傳統的圓角產生方案,必須使用多張圖片作為背景圖案。CSS3的出現,使得我們再也不必浪費時間去製作這些圖片了,而且還有其他多個優點:
* 減少維護的工作量。圖片檔案的產生、更新、編寫網頁代碼,這些工作都不再需要了。
* 提高網頁效能。由於不必再發出多餘的HTTP請求,網頁的載入速度將變快。
* 增加視覺可靠性。某些情況下(網路擁堵、伺服器出錯、網速過慢等等),背景圖片會下載失敗,導致視覺效果不佳。CSS3就不會發生這種情況。
2)border-radius屬性
CSS3圓角只需設定一個屬性:border-radius(含義是"邊框半徑")。你為這個屬性提供一個值,就能同時設定四個圓角的半徑。所有合法的CSS度量值都可以使用:em、ex、pt、px、百分比等等。
CSS3圓角只需設定一個屬性:border-radius(含義是"邊框半徑")。你為這個屬性提供一個值,就能同時設定四個圓角的半徑。所有合法的CSS度量值都可以使用:em、ex、pt、px、百分比等等。
比如,下面是一個div方框:
現在設定它的圓角半徑為15px:
border-radius: 15px;
這條語句同時將每個圓角的"水平半徑"(horizontal radius)和"垂直半徑"(vertical radius)都設定為15px。
border-radius可以同時設定1到4個值。如果設定1個值,表示4個圓角都使用這個值。如果設定兩個值,表示左上方和右下角使用第一個值,右上方和左下角使用第二個值。如果設定三個值,表示左上方使用第一個值,右上方和左下角使用第二個值,右下角使用第三個值。如果設定四個值,則依次對應左上方、右上方、右下角、左下角(順時針順序)。
border-radius: 15px 5px;
border-radius: 15px 5px 25px;
border-radius: 15px 5px 25px 0px;
(左下角的半徑為0,就變成直角了。)
border-radius還可以用斜杠設定第二組值。這時,第一組值表示水平半徑,第二組值表示垂直半徑。第二組值也可以同時設定1到4個值,應用規則與第一組值相同。
border-radius: 15px 5px / 3px;
border-radius: 15px 5px 25px / 3px 5px;
border-radius: 15px 5px 25px 5px / 3px 5px 10px 15px;
三、單個圓角的設定
除了同時設定四個圓角以外,還可以單獨對每個角進行設定。對應四個角,CSS3提供四個單獨的屬性:
* border-top-left-radius
* border-top-right-radius
* border-bottom-right-radius
* border-bottom-left-radius
這四個屬性都可以同時設定1到2個值。如果設定1個值,表示水平半徑與垂直半徑相等。如果設定2個值,第一個值表示水平半徑,第二個值表示垂直半徑。
border-top-left-radius: 15px;
border-top-left-radius: 15px 5px;
四、瀏覽器支援
IE 9、Opera 10.5、Safari 5、Chrome 4和Firefox 4,都支援上述的border-radius屬性。早期版本的Safari和Chrome,支援-webkit-border-radius屬性,早期版本的Firefox支援-moz-border-radius屬性。
目前來看,為了保證相容性,只需同時設定-moz-border-radius和border-radius即可。
-moz-border-radius: 15px;
border-radius: 15px;
(注意:border-radius必須放在最後聲明,否則可能會失效。)
另外,早期版本Firefox的單個圓角的語句,與標準文法略有不同。
* -moz-border-radius-topleft(標準文法:border-top-left-radius)
* -moz-border-radius-topright(標準文法:border-top-right-radius)
* -moz-border-radius-bottomleft(標準文法:border-bottom-left-radius)
* -moz-border-radius-bottomright(標準文法:border-bottom-right-radius)
五、注意事項
雖然各大瀏覽器都支援border-radius,但是在某些細節上,實現都不一樣。當四個角的顏色、寬度、風格(實線框、虛線框等)、單位都相同時,所有瀏覽器的渲染結果基本一致;一旦四個角的設定不相同,就會出現很大的差異。比如,下面這段代碼在不同的瀏覽器中,渲染結果就相差很大。
border-color: black;
border-style: solid dashed;
border-width: 1px 2px 3px;
border-top-color: red;
border-radius: 5%;
另外,並非所有瀏覽器,都支援將圓角半徑設為一個百分比值。
因此,目前最安全的做法,就是將每個圓角邊框的風格和寬度,都設為一樣的值,並且避免使用百分比值