# CSS3如何實現邊框的圓角和陰影
## 前言
在現代網頁設計中,視覺效果對用戶體驗至關重要。CSS3作為最新的CSS標準,引入了眾多強大的樣式特性,其中邊框圓角(border-radius)和陰影(box-shadow)是最常用的兩種視覺效果。本文將深入探討如何使用CSS3實現這兩種效果,包括基礎語法、高級技巧以及實際應用場景。
---
## 一、邊框圓角(border-radius)
### 1.1 基礎語法
`border-radius`屬性用于為元素添加圓角效果,基本語法如下:
```css
selector {
border-radius: [水平半徑] [垂直半徑];
}
.box {
border-radius: 10px; /* 四個角均為10px圓角 */
}
CSS3允許通過以下屬性單獨控制四個角的圓角:
border-top-left-radiusborder-top-right-radiusborder-bottom-right-radiusborder-bottom-left-radius.box {
border-radius: 10px 20px 30px 40px; /* 順時針方向:左上、右上、右下、左下 */
}
通過斜杠(/)分隔水平半徑和垂直半徑,可以創建橢圓角:
.box {
border-radius: 50px / 25px; /* 水平半徑50px,垂直半徑25px */
}
.avatar {
width: 100px;
height: 100px;
border-radius: 50%; /* 關鍵代碼 */
}
.button {
border-radius: 9999px; /* 足夠大的值實現膠囊效果 */
}
box-shadow屬性語法包含多個參數:
selector {
box-shadow: [水平偏移] [垂直偏移] [模糊半徑] [擴展半徑] [顏色] [inset];
}
.box {
box-shadow: 5px 5px 10px rgba(0,0,0,0.3);
}
.box {
box-shadow: inset 0 0 20px #000;
}
CSS3支持為一個元素添加多個陰影,用逗號分隔:
.box {
box-shadow:
0 0 10px red,
0 0 20px blue;
}
.neon {
box-shadow:
0 0 5px #fff,
0 0 10px #fff,
0 0 15px #0073e6,
0 0 20px #0073e6;
}
.card {
box-shadow:
0 1px 3px rgba(0,0,0,0.12),
0 1px 2px rgba(0,0,0,0.24);
transition: box-shadow 0.3s;
}
.card:hover {
box-shadow:
0 14px 28px rgba(0,0,0,0.25),
0 10px 10px rgba(0,0,0,0.22);
}
.button {
border-radius: 8px;
box-shadow:
0 4px 0 #1a5fb4,
0 5px 10px rgba(0,0,0,0.2);
transition: all 0.1s;
}
.button:active {
transform: translateY(4px);
box-shadow: 0 0 0 #1a5fb4;
}
.panel {
border-radius: 12px;
box-shadow:
0 2px 4px rgba(0,0,0,0.1),
0 8px 16px rgba(0,0,0,0.1);
}
.photo {
border-radius: 4px;
box-shadow:
0 0 0 8px white,
0 0 0 10px #ddd,
0 4px 20px rgba(0,0,0,0.3);
}
雖然現代瀏覽器已普遍支持這些特性,但考慮兼容性可以添加前綴:
.box {
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
-webkit-box-shadow: 0 0 10px #000;
-moz-box-shadow: 0 0 10px #000;
box-shadow: 0 0 10px #000;
}
transform代替box-shadow變化will-change: box-shadow優化渲染CSS3的邊框圓角和陰影為網頁設計帶來了革命性的改變:
通過本文的學習,您應該已經掌握了這些屬性的核心用法。建議在實際項目中多加練習,探索更多創意可能性。
text-shadow - 文字陰影效果filter: drop-shadow() - 更靈活的陰影效果clip-path - 創建復雜形狀”`
注:本文總字數約1950字(含代碼示例)。實際使用時可根據需要調整代碼示例的數量和詳細程度。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。