<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>CSS3 边框</title> <style> body, ul, li, dl, dt, dd, h1, h2, h3, h4, h5 { margin: 0; padding: 0; } body { background-color: #F7F7F7; } .wrapper { width: 1000px; margin: 0 auto; padding: 20px; box-sizing: border-box; } header { padding: 20px 0; margin-bottom: 20px; text-align: center; } header h3 { line-height: 1; font-weight: normal; font-size: 28px; } .main { /*overflow: hidden;*/ } .main:after { content: ''; clear: both; display: block; } .main .item { width: 210px; height: 210px; margin: 0 30px 30px 0; display: flex; position: relative; background-color: #FFF; float: left; box-shadow: 2px 2px 5px #CCC; } .main .item:after { content: attr(data-brief); display: block; width: 100%; height: 100%; text-align: center; line-height: 210px; position: absolute; top: 0; left: 0; color: #FFF; font-family: '微软雅黑'; font-size: 18px; background-color: rgba(170, 170, 170, 0); z-index: -1; transition: all 0.3s ease-in; } .main .item:hover:after { background-color: rgba(170, 170, 170, 0.6); z-index: 100; } .main .item:nth-child(4n) { margin-right: 0; } /*.main .item:nth-last-child(-n+5) { margin-bottom: 0; }*/ /* 以上是骨架样式 */ /* 1、2、3、4 顺时针 */ .border-radius { width: 180px; height: 180px; margin: auto; border: 1px solid red; /*border-radius: 50% 30% 20%;*/ } .square { border-radius: 0; } /*拱形*/ .item:nth-child(1) .border-radius { border-radius: 90px; } /*拱形*/ .item:nth-child(2) .border-radius { border-radius: 90px 90px 0 0; } /*半圆*/ .item:nth-child(3) .border-radius { height: 90px; border-radius: 90px 90px 0 0; } /*左上角*/ .item:nth-child(4) .border-radius { /*height: 90px;*/ border-radius: 90px 0 0 0; } /*四分之一圆*/ .item:nth-child(5) .border-radius { width: 90px; height: 90px; border-radius: 90px 0 0 0; } /*横着的椭圆*/ .item:nth-child(6) .border-radius { height: 90px; /*border-radius: 50%;*/ border-radius: 90px 90px 90px 90px / 45px 45px 45px 45px; /*border-radius: 45px / 90px;*/ } /*竖着的椭圆*/ .item:nth-child(7) .border-radius { width: 90px; border-radius: 45px 45px 45px 45px / 90px 90px 90px 90px; } /*半个横着的椭圆*/ .item:nth-child(8) .border-radius { height: 45px; border-radius: 90px 90px 0 0 / 45px 45px 0 0; } /*半个竖着的椭圆*/ .item:nth-child(9) .border-radius { width: 45px; border-radius: 45px 0 0 45px / 90px 0 0 90px; } /*四分之一竖着的椭圆*/ .item:nth-child(10) .border-radius { width: 45px; height: 90px; border-radius: 45px 0 0 0 / 90px 0 0 0; } /*饼环*/ .item:nth-child(11) .border-radius { width: 40px; height: 40px; border: 70px solid red; border-radius: 90px; } /*圆饼*/ .item:nth-child(12) .border-radius { width: 40px; height: 40px; border: 70px solid red; border-radius: 60px; } /*左上角圆饼*/ .item:nth-child(13) .border-radius { width: 60px; height: 60px; border: 60px solid red; border-radius: 90px 0 0 0; } /*对角圆饼*/ .item:nth-child(14) .border-radius { width: 60px; height: 60px; border: 60px solid red; border-radius: 90px 0 90px 0; } /*四边不同色*/ .item:nth-child(15) .border-radius { width: 0px; height: 0px; border-width: 90px; border-style: solid; border-color: red green yellow blue; } /*右透明色*/ .item:nth-child(16) .border-radius { width: 0px; height: 0px; border-width: 90px; border-style: solid; border-color: red green yellow blue; border-right-color: transparent; } /*圆右透明色*/ .item:nth-child(17) .border-radius { width: 0px; height: 0px; border-width: 90px; border-style: solid; border-color: red; border-right-color: transparent; border-radius: 90px; } /*圆右红透明色*/ .item:nth-child(18) .border-radius { width: 0px; height: 0px; border-width: 90px; border-style: solid; border-color: transparent; border-right-color: red; border-radius: 90px; } /*阴阳图前世*/ .item:nth-child(19) .border-radius { width: 180px; height: 0px; border-top-width: 90px; border-bottom-width: 90px; border-style: solid; border-top-color: red; border-bottom-color: green; /*border-right-color: red;*/ border-radius: 90px; } /*阴阳图前世2*/ .item:nth-child(20) .border-radius { width: 180px; height: 90px; border-bottom-width: 90px; border-style: solid; border-bottom-color: green; background-color: red; /*border-right-color: red;*/ border-radius: 90px; } /*阴阳图今生*/ .item:nth-child(21) .border-radius { width: 180px; height: 90px; border-bottom-width: 90px; border-style: solid; border-bottom-color: green; background-color: red; border-radius: 90px; position: relative; } .item:nth-child(21) .border-radius::after, .item:nth-child(21) .border-radius::before { content: ''; position: absolute; top: 50%; width: 20px; height: 20px; /*margin: -10px 0 0 0;*/ border-width: 35px; border-style: solid; border-radius: 45px; } /*左阴阳*/ .item:nth-child(21) .border-radius::after { background-color: red; border-color: green; } /*右阴阳*/ .item:nth-child(21) .border-radius::before { background-color: green; border-color: red; right: 0; } /*右阴阳*/ .item:nth-child(22) .border-radius { width: 180px; height: 90px; border-bottom-width: 90px; border-bottom-color: green; border-bottom-style: solid; background-color: red; border-radius: 90px; position: relative; } .item:nth-child(22) .border-radius::after, .item:nth-child(22) .border-radius::before { content: ''; position: absolute; top: 50%; width: 20px; height: 20px; border-width: 35px; border-style: solid; border-radius: 45px; } .item:nth-child(22) .border-radius::before { border-color: green; background-color: red; } .item:nth-child(22) .border-radius::after { right: 0; border-color: red; background-color: green; } /*消息框*/ .item:nth-child(23) .border-radius { width: 160px; height: 80px; background-color: red; border-radius: 6px; position: relative; } .item:nth-child(23) .border-radius::after { content: ''; width: 0; height: 0; border-width: 10px; border-style: solid; border-color: transparent; border-right-color: red; position: absolute; top: 16px; left: -20px; } /*奇怪的图形*/ .item:nth-child(24) .border-radius { width: 40px; height: 40px; border-width: 45px 0 45px 70px; border-style: solid; border-radius: 0 0 60px 0; border-color: red; } /*奇怪的图形2*/ .item:nth-child(25) .border-radius { width: 100px; height: 40px; border-width: 45px 20px 45px 70px; border-style: solid; border-radius: 60px; border-color: red; } /*QQ对话*/ .item:nth-child(26) .border-radius { width: 160px; height: 80px; background-color: red; border-radius: 6px; position: relative; } .item:nth-child(26) .border-radius::after { content: ''; position: absolute; top: 0; right: -20px; width: 30px; height: 30px; border-width: 0 0 30px 30px; border-style: solid; border-bottom-color: red; border-left-color: transparent; border-radius: 0 0 60px 0; } /*圆角的百分比设置 */ .item:nth-child(27) .border-radius { width: 180px; /*height: 180px;*/ height: 90px; border-radius: 50%; border-radius: 90px/45px; /*百分比是按横竖两个对应的方向的长度进行计算*/ } </style> </head> <body> <div class="wrapper"> <header> <h3>CSS3 边框圆角</h3> </header> <div class="main"> <div class="item" data-brief="整圆"> <div class="border-radius"></div> </div> <div class="item" data-brief="拱形"> <div class="border-radius"></div> </div> <div class="item" data-brief="半圆"> <div class="border-radius"></div> </div> <div class="item" data-brief="左上角"> <div class="border-radius"></div> </div> <div class="item" data-brief="四分之一圆"> <div class="border-radius"></div> </div> <div class="item" data-brief="横着的椭圆"> <div class="border-radius"></div> </div> <div class="item" data-brief="竖着的椭圆"> <div class="border-radius"></div> </div> <div class="item" data-brief="半个横着的椭圆"> <div class="border-radius"></div> </div> <div class="item" data-brief="半个竖着的椭圆"> <div class="border-radius"></div> </div> <div class="item" data-brief="四分之一竖着的椭圆"> <div class="border-radius"></div> </div> <div class="item" data-brief="饼环"> <div class="border-radius"></div> </div> <div class="item" data-brief="圆饼"> <div class="border-radius"></div> </div> <div class="item" data-brief="左上角圆饼"> <div class="border-radius"></div> </div> <div class="item" data-brief="对角圆饼"> <div class="border-radius"></div> </div> <div class="item" data-brief="四边不同色"> <div class="border-radius"></div> </div> <div class="item" data-brief="右透明色"> <div class="border-radius"></div> </div> <div class="item" data-brief="圆右透明色"> <div class="border-radius"></div> </div> <div class="item" data-brief="圆右红透明色"> <div class="border-radius"></div> </div> <div class="item" data-brief="阴阳图前世"> <div class="border-radius"></div> </div> <div class="item" data-brief="阴阳图前世2"> <div class="border-radius"></div> </div> <div class="item" data-brief="阴阳图今生"> <div class="border-radius"></div> </div> <div class="item" data-brief="阴阳图今生2"> <div class="border-radius"></div> </div> <div class="item" data-brief="消息框"> <div class="border-radius"></div> </div> <div class="item" data-brief="奇怪的图形"> <div class="border-radius"></div> </div> <div class="item" data-brief="奇怪的图形2"> <div class="border-radius"></div> </div> <div class="item" data-brief="QQ对话"> <div class="border-radius"></div> </div> <div class="item" data-brief="圆角百分比"> <div class="border-radius"></div> </div> </div> </div> </body> </html>
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> .heart { width: 200px; height: 300px; /*border: 1px solid #000;*/ margin: 100px auto; position: relative; } .heart::before, .heart::after { content: "左一半"; width: 100%; height: 100%; position: absolute; background-color: red; left: 0; top: 0; border-radius: 100px 100px 0 0; transform: rotate(-45deg); text-align: center; line-height: 100px; color: yellow; font-size: 30px; font-family: "MIcrosoft Yahei"; } .heart::after { content: "右一半"; left: 71px; transform: rotate(45deg); } </style> </head> <body> <div class="heart"> </div> </body> </html>
CSS3引入了许多新的边框样式和属性,增加了前端开发者设计和实现各种边框效果的灵活性。以下是一些常见的CSS3边框样式的汇总:
1. 边框颜色(border-color):通过设置边框的颜色属性可以改变边框的颜色值,例如:border-color: red。
2. 边框宽度(border-width):可以使用边框宽度属性来控制边框的粗细程度,例如:border-width: 2px。
3. 边框样式(border-style):通过设置边框样式属性可以改变边框的外观,常见的样式包括实线(solid)、虚线(dashed)、点线(dotted)等,例如:border-style: dashed。
4. 圆角边框(border-radius):使用border-radius属性可以为元素的边框添加圆角效果,例如:border-radius: 10px。
5. 阴影边框(box-shadow):可以通过box-shadow属性为元素的边框添加阴影效果,例如:box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2)。
6. 渐变边框(border-image):使用border-image属性可以为边框应用渐变效果,例如:border-image: linear-gradient(to right, red, blue) 1;
7. 双边框(outline):通过outline属性可以为元素添加双边框效果,例如:outline: 2px solid black。
当然,以下是一些常见的CSS3边框样式的代码示例:
1. 边框颜色、宽度和样式的组合:
```css
.example {
border: 2px solid red;
}
```
2. 圆角边框:
```css
.example {
border-radius: 10px;
}
```
3. 阴影边框:
```css
.example {
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
}
```
4. 渐变边框:
```css
.example {
border-image: linear-gradient(to right, red, blue) 1;
}
```
5. 双边框:
```css
.example {
outline: 2px solid black;
}
```
这些代码示例可以作为您在项目中使用CSS3边框样式的起点,您可以根据自己的需求进行调整和扩展,创造出符合自己设计要求的独特边框效果。