圓角邊框
一、border-radius屬性簡介
為元素添加圓角邊框,可以對元素的四個角進行圓角設定(屬性不具有繼承性)
二、border-radius定義方法
border-radius屬性有兩種定義方法:border-radius可以一次性對四個角設定相同的值(簡寫屬性),也可對4個角分别設定圓角樣式(單獨屬設性置)。
(一)單獨屬性設定
border-radius:同時設定四個邊框的圓角樣式;
- border-top-left-radius:設定左上角邊框的圓角樣式;
- border-top-right-radius:設定右上角邊框的圓角樣式;
- border-bottom-left-radius:設定左下角邊框的圓角樣式;
- border-bottom-right-radius:設定右下角邊框的圓角樣式;
注意【邊框的順序不能打亂,比如border-top-left-radius就不可以寫成border-left-top-radius 屬性是固定的。】

通過實際操作可以看出二者表達效果是相同的。
(二)簡寫屬性
為border-radius設定四個參數,要注意順序關系
1、為屬性隻設定一個值,四個邊框的圓角都采用相同的值
border-radius:20px //四個邊框圓角為20px
2、為屬性設定兩個值,第一個值設定左上角和右下角,第二個值設定右上角和左下角
border-radius: 20px 50px //左上角和右下角20px,右上角和左下角50px
3、為屬性設定三個值,第一個值設定給左上角,第二個值設定給右上角和左下角,第三個值設定給右下角
border-radius: 20px 50px 5px //左上角20px,右上角和左下角50px,右下角5px
4、為屬性設定四個值,第一個值設定給左上角,第二個值設定給右上角,第三個值右下角,第四個值左下角(按照順時針方向)
border-radius: 20px 50px 5px 100px //左上角20px,右下角50px,右下角5px ,左下角100px
三、分别設定水準半徑和垂直半徑
border-radius的文法
border-radius: {1-4} length /% / {1-4} length /%;
border-radius: 20px 10px 40px / 25px 30px
length 定義圓角的形狀;% 以百分比定義圓角的形狀;{1-4} border-radius的參數個數範圍為1~4個
注釋【按此順序設定每個 radii(半徑)的四個值。如果省略 bottom-left,則與 top-right 相同。如果省略 bottom-right,則與 top-left 相同。如果省略 top-right,則與 top-left 相同。
border-radius的參數個數範圍為1~4個,這裡要注意水準半徑和垂直半徑的分别使用時:在border-radius中先設定4個邊角的水準半徑再設定4個邊角的垂直半徑。】
執行個體:
div{border-radius: 20px 5px 100px/15px 30px;}
等價于
div{ border-top-left-radius: 20px 15px;
border-top-right-radius: 5px 30px;
border-bottom-right-radius: 100px 15px;
border-bottom-left-radius: 5px 30px;}
表達效果
css3圓角邊框
四、應用
使用border-radius建立圓形
輸入border-radius:r,這裡的r元素的半徑大小(有長度機關),要建立圓形應設定r的值為元素高度和寬度的一半。
當元素的高度和寬度相等時,這種取值方法就是圓形。
代碼
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>css3圓角邊框</title>
6 <style>
7 #box1{
8 width: 200px;
9 height: 200px;
10 background-color: #567;
11 border:5px solid red;
12 border-radius: 50%;
13 margin: auto;
14 box-shadow:10px 10px 5px #a2a2a3 ;}
15
16 </style>
17 </head>
18 <body>
19 <div class="box2">
20 <div id="box1"></div>
21 </div>
22 </body>
23 </html>
表現效果
css3圓角邊框
當我們設定元素的寬和高不再相等,改成 width:200px;height:100px 時,表現出來的則是橢圓形。
css3圓角邊框
border-radius實作圓形和半圓效果
border-radius中有這樣一個特性:
給任何正方形設定一個足夠大的border-radius,就可以把它變成一個圓形。
注意:當任意兩個相鄰的圓角的半徑之和超過 borderbox 的尺寸之後,使用者代理必須按照比例縮小各個邊框半徑所示用的值,直到它們不會互相重疊為止。
為什麼叫border-radius ?
可能有些人會奇怪,border-radius到底由何得名。這個屬性并不需要邊框來參與工作,似乎叫做内容圓角更合适一些。
實際原因是 border-radius 是對元素borderbox 進行切圓角處理的。當元素沒有邊框時,可能還看不出差異;當它有邊框時,則以邊框外側的拐角作為切圓角的基準。邊框内側的圓角會稍小一些(嚴格來說内角半徑将是 max(0,border-radius-border-width))。
執行個體:
(一)、border-radius畫圓形
div{
width:200px;
height:200px;
border-radius:50%;
background: #f775a9;
}
表現效果:
- 要想實作一個圓形,首先要設定出一個正方形。
- 給border-radius設定任何大于或等于50%的百分數,都可以實作圓形效果。
例如:設定border-radius:70%,同樣可以得到一個圓形。
(二)、border-radius實作四個方向的半圓
圓角相當是邊框對内容的切割,圓角值設定的越大相當對元素切割越圓。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>border-radius</title>
<style type="text/css">
.box1{
width:200px;height:100px;
border-radius:400px 400px 0 0;
background: #f775a9;
float:left;
}
.box2{
width:100px;height:200px;
border-radius:300px 0 0 300px;
background: #fabab8;
float:left;
}
.box3{
width:200px;
height:100px;
border-radius:0 0 200px 200px ;
background: #aadfe6;
float:left;
}
.box4{
width:100px;height:200px;
border-radius:0 100px 100px 0;
background: #79e0c3;
float:left;
}
.box5{
width:100px;height:200px;
border-radius:0 50px 50px 0;
background: #acbfea;
float:left;
}
</style>
</head>
<body>
<div class="box1">1</div>
<div class="box2">2</div>
<div class="box3">3</div>
<div class="box4">4</div>
<div class="box5">5</div>
</body>
</html>