578 lines
15 KiB
Markdown
578 lines
15 KiB
Markdown
|
|
|||
|
|
|||
|
## CSS3 常见边框汇总
|
|||
|
|
|||
|
```html
|
|||
|
<!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>
|
|||
|
```
|
|||
|
|
|||
|
效果如下:
|
|||
|
|
|||
|
20180208_1730.png
|
|||
|
|
|||
|
|
|||
|
## 爱心
|
|||
|
|
|||
|
```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>
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
效果如下:
|
|||
|
|
|||
|
20180208_1737.png
|
|||
|
|
|||
|
它其实是下面这两个盒子叠起来的:
|
|||
|
|
|||
|
20180208_1738.png
|
|||
|
|
|||
|
改变 `.heart::after` 的 left值,即可叠起来。
|
|||
|
|
|||
|
|
|||
|
|