1、正圆形

代码:

HTML代码:

<div class="circle"></div>

CSS代码:

.circle {
width: 100px;
height: 100px;
background-color: #1af033;
-webkit-border-radius: 60px;
-moz-border-radius: 60px;
-ms-border-radius: 60px;
border-radius: 60px;
}

  

扩展:

运用CSS3制作圆形时,一定要设置相同的宽度和高度,然后设置border-radius属性值为宽度或高度的一半,或者直接设置为50%

2、椭圆形

代码:

HTML代码:

<div class="oval"></div>

CSS代码:

.oval {
width: 200px;
height: 100px;
background-color: red;
-webkit-border-radius: 100px/50px;
-moz-border-radius: 100px/50px;
-ms-border-radius: 100px/50px;
border-radius: 100px/50px;
}

扩展:

椭圆是正圆的一个规则变体,设置椭圆形的CSS样式时,高度要设置为宽度的一半,border-radius属性也要做相应的改变:水平半径设置为宽度的一半,垂直半径设置为高度的一半(详情可查看:border-radius属性值参数详解

3、三角形

代码:

HTML代码:

<div class="triangle"></div>

CSS代码:

.triangle {
width: 0;
height: 0;
border-bottom: 100px solid #236453;
border-left: 100px solid transparent;
border-right: 100px solid transparent;
}

扩展:

创建一个CSS三角形,需要使用border属性,通过设置不同边的透明效果,可以制作出三角形的现状。注意,在制作三角形时,宽度和高度要设置为0。(详情可查看:利用border制作三角形原理

4、菱形

代码:

HTML代码:

<div class="diamond"></div>

CSS代码:

.diamond {
width: 100px;
height: 100px;
background-color: #ff5db8;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

扩展:

运用CSS制作菱形的方法有很多种,这里使用的是transform属性和rotate相结合:先制作出一个正方形,然后旋转45°就得到了一个菱形,也可以使用其他方法实现,比如border

5、梯形

代码:

HTML代码:

<div class="trapezium"></div>

CSS代码:

.trapezium {
width: 100px;
height: 0;
border-bottom: 100px solid #236453;
border-left: 100px solid transparent;
border-right: 100px solid transparent;
}

扩展:

运用CSS制作梯形的方法和border有些类似,只要弄明白了border制作三角形的原理,就可以很好理解了:梯形是三角形的一个变体,CSS制作梯形时,设置左右两条边框,并且给它设置一个宽度。

6、平行四边形

代码:

HTML代码:

<div class="parallelogram"></div>

CSS代码:

.parallelogram {
width: 100px;
height: 100px;
background-color: #ff5db8;
-webkit-transform: skew(30deg);
-moz-transform: skew(30deg);
-ms-transform: skew(30deg);
transform: skew(30deg);
}

扩展:

平行四边形的制作和菱形的制作非常类似,菱形是正方形进行旋转,而平行四边形则是对矩形进行倾斜度的设置

5、五角星

代码:

HTML代码:

<div class="star"></div>

CSS代码:

.star {
position: relative;
display: block;
width: 0;
height: 0;
border-right: 100px solid transparent;
border-bottom: 70px solid #ffd200;
border-left: 100px solid transparent;
-moz-transform: rotate(35deg);
-webkit-transform: rotate(35deg);
-ms-transform: rotate(35deg);
-o-transform: rotate(35deg);
}
.star:before {
position: absolute;
display: block;
content: '';
width: 0;
height: 0;
top: -45px;
left: -65px;
border-bottom: 80px solid #ffd200;
border-left: 30px solid transparent;
border-right: 30px solid transparent;
-webkit-transform: rotate(-35deg);
-moz-transform: rotate(-35deg);
-ms-transform: rotate(-35deg);
-o-transform: rotate(-35deg);
}
.star:after {
position: absolute;
display: block;
content: '';
width: 0;
height: 0;
top: 3px;
left: -105px;
border-right: 100px solid transparent;
border-bottom: 70px solid #ffd200;
border-left: 100px solid transparent;
-webkit-transform: rotate(-70deg);
-moz-transform: rotate(-70deg);
-ms-transform: rotate(-70deg);
-o-transform: rotate(-70deg);
}

扩展:

星形的实现方式相对比较复杂,主要是先制作出三角形,然后使用transform属性来旋转不同的边,再使用定位方法整合成一个五角星(详情可见上面的分解图)

6、心形

代码:

HTML代码:

<div class="heart"></div>

CSS代码:

.heart {
position: relative;
left: 70px;
width: 70px;
height: 115px;
-webkit-border-radius: 50px 50px 0 0;
-moz-border-radius: 50px 50px 0 0;
-ms-border-radius: 50px 50px 0 0;
-o-border-radius: 50px 50px 0 0;
border-radius: 50px 50px 0 0;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
background: red;
}
.heart:after {
position: absolute;
display: block;
content: "";
width: 70px;
height: 115px;
left: 22px;
top: 23px;
-webkit-border-radius: 50px 50px 0 0;
-moz-border-radius: 50px 50px 0 0;
border-radius: 50px 50px 0 0;
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
background: red;
}

扩展:

心形的制作不是特别复杂,制作两个一样的矩形,然后把顶部都做成椭圆,再进行相应的旋转,定位合并就完成了

最新文章

  1. Android代码分析工具lint学习
  2. .NET全栈开发工程师学习路径
  3. js中的斐波那契数列法
  4. [随记]Eval的连接方法
  5. linux dns 配置
  6. HTTP方法:GET对比POST
  7. 【原创】NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示
  8. Mysql导入数据库的方法
  9. powerdesigner 绘制表关系和导出sql
  10. Redis一些基本的操作
  11. HDU4801&#183;二阶魔方
  12. eclipse 安装插件不生效
  13. EXT--表单AJax提交后台,返回前端数据格式的转换
  14. 怎样下载安装Firebug和使用Firebug
  15. 第三章 jQuery中的DOM操作
  16. iOS-NSTimer-pause-暂停-引用循环
  17. 将vs屏幕上内容重定向到一个log文本中
  18. 结对编程1 —— 基于GUI和Swing的四则运算题目生成器
  19. Spring Cloud 微服务
  20. 谷歌搜索技巧(转)https://www.runningcheese.com/google

热门文章

  1. iOS 引用外部静态库(.a文件)时或打包.a时,Category方法无法调用。崩溃
  2. 关于代码通过API操作阿里云RDS的巨坑
  3. WPF 利用键盘钩子来捕获键盘,做一些不为人知的事情...完整实例
  4. 基于mysqldump备份集来恢复某个误操作的表(drop,truncate)
  5. eclipse进阶功法
  6. shell之iptables
  7. TOJ 3046: 招商银行网络系统
  8. hihoCoder 1403 后缀数组一&#183;重复旋律(后缀数组+单调队列)
  9. [UOJ#348][WC2018]州区划分
  10. The UVALIVE 7716 二维区间第k小