2008/12/10
技巧 | 用css作出不同的圓角效果

這是剛剛找資料的時候發現的css圓角5種效果
這5種完全沒有用到圖片,純粹是用css,配合1px的像素堆疊達成效果
我把這五種代碼貼回家,並且把效果釋放出來給大家觀賞,有興趣的人可以繼續往下看。
@ 文章出處 / 用CSS實現圓角框框
我也把代碼貼到自己的網誌,有需要的人,可以從我這邊拷貝回家,也可以從那篇文章拷貝代碼。
簡潔型css圓角矩形:
- <style>
- .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;}
- </style>
- <div>
- <b class="b1"></b><b class="b2 d1"></b><b class="b3 d1"></b><b class="b4 d1"></b>
- <div class="b d1">
- <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>
- .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>
- <div>
- <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>
- </div>
略帶菱形的css圓角矩形:
- <style>
- .curved {
- background:transparent;
- width:40%;
- }
- .curved h1, .curved p {
- margin:0 10px;
- }
- .curved h1 {
- font-size:2em;
- color:#fff;
- }
- .curved p {
- padding-bottom:0.5em;
- }
- .curved .b1, .curved .b2, .curved .b3, .curved .b4 {
- display:block;
- overflow:hidden;
- height:1px;
- font-size:1px;
- }
- .curved .b2, .curved .b3, .curved .b4 {
- background:#e0cea3;
- border-left:1px solid #fff;
- border-right:1px solid #fff;
- }
- .curved .b1 {
- margin:0 4px;
- background:#fff;
- }
- .curved .b2 {
- margin:0 4px;
- height:2px;
- }
- .curved .b3 {
- margin:0 3px;
- }
- .curved .b4 {
- margin:0;
- height:1px;
- border-width:0 3px 0 3px;
- }
- .curved .boxcontent {
- display:block;
- background:#e0cea3;
- border:0 solid #fff;
- border-width:0 1px;
- }
- </style>
- <div>
- <div class="curved">
- <b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b4"></b>
- <div class="boxcontent">
- <h1>略帶菱形的css圓角矩形</h1>
- </div>
- <b class="b4"></b><b class="b3"></b><b class="b2"></b><b class="b1"></b>
- </div>
- </div>
特殊css圓角矩形:
- <style>
- .pillar {
- background:transparent;
- width:40%;
- }
- .pillar h1, .pillar p {
- margin:0 10px;
- }
- .pillar h1 {
- font-size:2em;
- color:#fff;
- }
- .pillar p {
- padding-bottom:0.5em;
- }
- .pillar .b1, .pillar .b2, .pillar .b3, .pillar .b4 {
- display:block;
- overflow:hidden;
- font-size:1px;
- }
- .pillar .b1, .pillar .b2, .pillar .b4 {
- height:1px;
- }
- .pillar .b2, .pillar .b3 {
- background:#d66;
- border-left:1px solid #fff;
- border-right:1px solid #fff;
- }
- .pillar .b4 {
- background:#d66;
- border-left:4px solid #fff;
- border-right:4px solid #fff;
- }
- .pillar .b1 {
- margin:0 2px;
- background:#fff;
- }
- .pillar .b2 {
- margin:0 1px;
- border-width:0 1px;
- }
- .pillar .b3 {
- height:2px;
- margin:0;
- }
- .pillar .b4 {
- margin:0 2px;
- }
- .pillar .boxcontent {
- display:block;
- background:#d66;
- border-left:1px solid #fff;
- border-right:1px solid #fff;
- margin:0 5px;
- }</style>
- <div>
- <div class="pillar">
- <b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b2"></b><b class="b4"></b>
- <div class="boxcontent">
- <h1>特殊css圓角矩形</h1>
- </div>
- <b class="b4"></b><b class="b2"></b><b class="b3"></b><b class="b2"></b><b class="b1"></b>
- </div>
- </div>
反向css圓角矩形:
- <style>
- .serif {
- background: transparent; width:40%;
- }
- .serif h1, .serif p {
- margin:0 10px;
- }
- .serif h1 {
- font-size:2em; color:#fff;
- }
- .serif p {
- padding-bottom:0.5em;
- }
- .serif .b1, .serif .b2, .serif .b3, .serif .b4 {
- display:block;
- overflow:hidden;
- font-size:1px;
- }
- .serif .b1, .serif .b2, .serif .b3 {
- height:1px;
- }
- .serif .b2, .serif .b3 {
- background:#fc0;
- border-left:1px solid #fff;
- border-right:1px solid #fff;
- }
- .serif .b4 {
- background:#fc0;
- border-left:1px solid #fff;
- border-right:1px solid #fff;
- }
- .serif .b1 {
- margin:0; background:#fff;
- }
- .serif .b2 {
- margin:0 1px;
- border-width:0 2px;
- }
- .serif .b3 {
- margin:0 3px;
- }
- .serif .b4 {
- height:2px;
- margin:0 4px;
- }
- .serif .boxcontent {
- display:block;
- background:#fc0;
- border-left:1px solid #fff;
- border-right:1px solid #fff;
- margin:0 5px;
- }
- </style>
- <div>
- <div class="serif">
- <b class="b1"></b><b class="b2"></b><b class="b3"></b><b class="b4"></b>
- <div class="boxcontent">
- <h1>反向css圓角矩形</h1>
- </div>
- <b class="b4"></b><b class="b3"></b><b class="b2"></b><b class="b1"></b>
- </div>
- </div>
等明天好好研究他到底怎麼寫
分類:css語法.筆記
人氣:2,769



這個技巧就是用 HTML 加上 CSS 去畫圓角出來,好處是跨瀏覽器,壞處是 HTML 會多很多不必要的內容。
還有一些是用 JavaScript 去加入那些 HTML Code,這樣比較乾淨些。
CSS 3 則是有新方法讓 background-image 可以上下左右分別指定,這樣做圓角效果只要不同的圖片放在四個角落即可,Firefox 有支援歐!
特殊跟那個反向css圓角,不知道為什麼我看了覺得好好笑...
的確..不必要的html會多出很多。
我也是因為這個原因遲遲沒有用!!!
倒是有看過別人用成java script,不過裝了一堆java script好像也會拖速度???
CSS3唷,ie有支援嗎(汗
囧"...
笑夠再回來XD?
CSS 3 不僅提供background-image,還提供border-radius,不過IE要吃,大概要等很久很久了....
Java 跟 JavaScript 不一樣歐!XD
至於 CSS 3 咪…IE7 看來只有部份支援,等 IE8?噗~
IE8出來之後,不知道會不會跟著支援css 3..
如果他再獨斷一點,真的就要被撻伐了啦><
@ Kirin+Lin
喔喔..
我筆誤打錯了 冏(等等馬上做更改
你噗一聲是對ie 8沒信心嗎XD?
好東西,剛好需要這個!