来源于技术胖的视频总结
1.圆角border-radius
<style>
.demo{
width:100px;
height: 100px;
background:#f0f;
margin:50px auto;
/* border-top-left-radius:50%;
border-top-right-radius:50%;
border-bottom-left-radius:50%;
border-bottom-right-radius:50%; */
/* border-radius:50% 50% 50% 50%; */
border-radius: 50%;
}
</style>
</head>
<body>
<div class="demo">
</div>
.demo{
width:100px;
height: 100px;
background:#f66;
margin:50px auto;
border-top-right-radius: 100px 10px;//x轴的值 y轴的值
}
border-radius:50px 0px 50px 0px;
2.利用css画出一个对话框
<style>
.demo{
width:200px;
height:30px;
line-height:30px;
border:1px solid green;
margin:50px auto;
border-radius:5px;
position:relative;
background:green;
}
.demo::before{
content:'';
border:7px solid transparent;
border-right:7px solid green;
position:absolute;
left:-14px;
top:8px;
}
</style>
</head>
<body>
<div class="demo">
hello,I am fanrenfeng
</div>
3.利用css画菱形和平行四边形
利用伪元素
<style>
.demo::before{
content:'';
border:50px solid transparent;
border-right:50px solid green;
position: relative;;
float:left;
}
.demo::after{
content:'';
border:50px solid transparent;
border-left:50px solid green;
position:absolute;
}
</style>
</head>
<body>
<div class="demo">
</div>
利用transform:rotate
属性
.demo{
width:100px;
height: 100px;
background:violet;
margin:50px auto;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
x轴倾斜(左右倾斜)
.demo{
width:100px;
height: 50px;
background:violet;
margin:50px auto;
-webkit-transform: skew(45deg);
-ms-transform: skew(45deg);
-o-transform: skew(45deg);
transform: skew(45deg);
}
y轴倾斜(上下倾斜)
.demo{
width:100px;
height: 50px;
background:violet;
margin:50px auto;
-webkit-transform: skew(0deg,45deg);
-ms-transform: skew(0deg ,45deg);
-o-transform: skew(0deg ,45deg);
transform: skew(0deg ,45deg);
}
4.利用css3画五角星和六角星
五角星其实就是三个三角形的旋转拼接而已,不过角度不好把握,这个自己去测量吧,丑丑的五角星
<style>
.demo{
width:0px;
height: 0px;
margin:100px auto;
border:100px solid transparent;
border-bottom:70px solid red;
position:relative;
-webkit-transform: rotate(35deg);
-ms-transform: rotate(35deg);
-o-transform: rotate(35deg);
transform: rotate(35deg);
}
.demo::before{
content: '';
border:30px solid transparent;
border-bottom:80px solid red;
position:absolute;
-webkit-transform: rotate(-35deg);
-ms-transform: rotate(-35deg);
-o-transform: rotate(-35deg);
transform: rotate(-35deg);
top:-83px;
left:-86px;
}
.demo::after{
content: '';
border:100px solid transparent;
border-bottom:70px solid red;
position:absolute;
-webkit-transform: rotate(-70deg);
-ms-transform: rotate(-70deg);
-o-transform: rotate(-70deg);
transform: rotate(-70deg);
top:-57px;
left:-162px;
}
</style>
</head>
<body>
<div class="demo">
</div>
六角星(一个正三角形,一个倒三角形或者一个正三角形,然后再进行旋转也可以)
<style>
.demo{
width:0px;
height: 0px;
margin:100px auto;
border:100px solid transparent;
border-bottom:150px solid cadetblue;
position:relative;
}
.demo::before{
content:'';
border:100px solid transparent;
border-top:150px solid cadetblue;
position: absolute;
left:-100px;
top:50px
}
</style>
</head>
<body>
<div class="demo">
</div>
5.利用css3画五边形和六边形
<style>
.demo{
width:150px;
height: 0px;
margin:200px auto;
border:30px solid transparent;
border-top:100px solid cadetblue;
position:relative;
}
.demo::before{
content:'';
width:0px;
height: 0px;
border:105px solid transparent;
border-bottom:88px solid cadetblue;
position: absolute;
top:-293px;
left:-30px;
}
</style>
</head>
<body>
<div class="demo">
</div>
<style>
.demo{
width:100px;
height: 55px;
margin:100px auto;
background:red;
position:relative;
}
.demo::before{
content:'';
position: absolute;
width:0px;
height: 0px;
border:50px solid transparent;
border-bottom:25px solid red;
top:-75px;
}
.demo::after{
content:'';
position: absolute;
width:0px;
height: 0px;
border:50px solid transparent;
border-top:25px solid red;
top:55px;
}
</style>
</head>
<body>
<div class="demo">
</div>
5.利用css3画心形和蛋形
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="src/index.js"></script>
<title>Document</title>
<style>
.demo{
width:100px;
height: 90px;
margin:100px auto;
position:relative;
}
.demo::before{
content:'';
position:absolute;
width:50px;
height:80px;
background:red;
border-radius: 40px 40px 0px 0px;
-webkit-transform-origin: 0 100%;
-moz-transform-origin:0 100%;
-ms-transform-origin: 0 100%;
-o-transform-origin: 0 100%;
transform-origin: 0 100%;
-webkit-transform: rotate(-45deg);
-moz-transform:rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
left:50px;
}
.demo::after{
content:'';
position:absolute;
width:50px;
height:80px;
background:red;
border-radius: 40px 40px 0px 0px;
-webkit-transform-origin: 100% 100%;
-moz-transform-origin:100% 100%;
-ms-transform-origin: 100% 100%;
-o-transform-origin: 100% 100%;
transform-origin: 100% 100%;
-webkit-transform: rotate(45deg);
-moz-transform:rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
</style>
</head>
<body>
<div class="demo">
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="src/index.js"></script>
<title>Document</title>
<style>
.demo{
width:126px;
height: 180px;
margin:100px auto;
background:#Fa3;
border-radius:50% 50% 50% 50%/60% 60% 40% 40%
}
</style>
</head>
<body>
<div class="demo">
</div>
</body>
</html>
6.利用css3太极阴阳图
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<script src="src/index.js"></script>
<title>Document</title>
<style>
body {
background: #ccc;
}
.demo {
width:150px;
height:300px;
margin:100px auto;
background:#fff;
border-left:150px solid black;
border-radius:50%;
position:relative;
}
.demo::before{
content:'';
position:absolute;
width:0px;
height:0px;
padding:25px;
border-radius:50%;
border:50px solid black;
background:#fff;
left:-75px;
}
.demo::after{
content:'';
position:absolute;
width:0px;
height:0px;
padding:25px;
border-radius:50%;
border:50px solid #fff;
background:black;
left:-75px;
top:150px;
}
</style>
</head>
<body>
<div class="demo"></div>
</body>
</html>