css实现简单几何图形

前言:你知道吗?用代码就可以做出三角形、圆形、扇形等等这些几何图形呦。快过来一探究竟吧!

页面上一些简单的图形,如三角形、圆形等等,除了用图片来实现,我们还可以用css的border属性来实现,不仅减少了内存占用,对图形的操作也更灵活。

接下来我们就一步一步的来说一下怎么实现这些几何图形。

本文列举了一些常见的几何图形,更多几何图形请到github下载。

项目github地址:https://github.com/ichengll/C-heart

话不多说,这就开始吧。

目录:

  一、梯形

  二、三角形

  三、圆形

  四、椭圆

  五、圆柱形

  六、扇形

  七、半圆

  八、彩带

一、梯形 

我们都知道,用border可以设置盒子的边框,包括上下左右边框,比如下面这个:

<style>.box {width:100px; height:100px;border:10px solid #a10;}
</style>
<body><div class="box"></div>
</body>

这样实现的效果就不必多说了吧,就是下面这样:

  接下来我们给每个边框都设置不同的颜色与:

.box {width:100px; height:100px;
border-top:60px solid blue;border-right:60px solid yellow;border-bottom:60px solid green;border-left:60px solid pink;}

我给这个盒子的四个边框分别设置了不同的颜色,来看一下效果:

  现在可以看出来,每个边框就是一个梯形的形状,那我们怎么只让他显示一个梯形呢?

我们设置边框的宽度是50px,盒子宽高都是100px,现在盒子的中心是有一个正方形的空白的,我们要得到梯形,首先要把这个空白去掉,怎么去呢,比如说我们要得到底部的梯形,那就要把盒子的高度设为0,这就把中间的空白去掉了,然后我们再去掉顶部的线条,把其余线条的颜色设置为透明色,这样就得到了一个梯形。具体代码如下:

.box {width:100px; height:0;border-right:60px solid transparent;border-bottom:60px solid green;border-left:60px solid transparent;}

效果如下:

想得到左边的梯形,就把盒子的宽度设置为0,去掉右边的线条,其余线条的颜色设置为透明色:

.box {width:0; height:100px;border-top:60px solid transparent;border-bottom:60px solid transparent;border-left:60px solid red;}

可能你们会问,为什么要把宽度或者高度设置为0,现在我们就拿红色这个梯形来举例子,我们用审查元素先来看一下这个梯形:

接下来我们把盒子的宽度设置为100px,再来看看审查元素:

看出差别了吗?宽度为0时,梯形所占的位置仅仅是梯形本身的宽度,而宽度设置为100px时,梯形的实际占位多了100像素值。我们将宽度设置为0,是为了减少不必要的占位。

我们还可以通过修改边框的宽度来得到不同大小的梯形,这里就不一一写了。

二、三角形

梯形和三角形的原理是一样的,只不过是把盒子的宽高都设置为0,代码如下:

.box {width:0; height:0;border-top:60px solid blue;border-right:60px solid yellow;border-bottom:60px solid green;border-left:60px solid red;}

看一下效果:

要得到底部的三角形,要这么写:

.box {width:0; height:0;border-right:60px solid transparent;border-bottom:60px solid green;border-left:60px solid transparent;}

三个边框设置的粗细都是一样的,这样我们得到的是一个直角三角形,如果要得到不同形状的三角形,只需要改变边框的粗细就可以了。

三、圆形

圆形我们就要用到 border-radius 圆角边框,下面是代码:

.box {width:100px; height:100px;background-color: green;border-radius:50px;}

四、椭圆

.box {width:100px; height:50px;background-color: green;border-radius:50px/25px;}

五、圆柱形

.box {width:100px; height:100px;background-color: green;border-radius:50px/25px;}

六、扇形

.box {width:100px;height:100px;background-color: green;border-top-left-radius: 100%;}

七、半圆

.box {width:100px;height:50px;background-color: green;border-radius:50px 50px 0 0;}

八、彩带

.box {width:0;height:100px;border-right:50px solid green;border-bottom:30px solid transparent;border-left:50px solid green;}

转载于:https://www.cnblogs.com/rswl/p/8366071.html

css实现简单几何图形相关推荐

  1. Direct2D教程(三)简单几何图形

    从本章开始,我们介绍D2D几何图形. D2D图形分类 Direct2D支持多种类型的几何图形,包括 Simple Geometry(简单几何图形) 矩形 圆角矩形 椭圆 Path Geometry(路 ...

  2. css实现简单的告警提示动画效果

    需求:css实现简单的告警提示动画效果,当接收到实时信息的时候,页面弹出告警信息的动画效果 <!DOCTYPE html> <html lang="en"> ...

  3. vue组件制作专题 - (mpvue专用)在mpvue中纯自己写css实现简单左右轮播

    在mpvue中纯自己写css实现简单左右轮播 CSDN:jcLee95 邮箱:291148484@163.com 项目中,在src目录下的components目录下新建一个新文件并重命名为jcmv-c ...

  4. html 中箭头的代码,HTML中利用div+CSS实现简单的箭头图标的代码

    /*箭头向上*/ .to_top { width: 0; height: 0; border-bottom: 10px solid #ccc; border-left: 10px solid tran ...

  5. 如何在css中设置音乐效果,css实现简单音乐符效果

    css实现简单音乐符效果 利用css3中的transform.animation.keyframes实现 1 2 3 4 5 6 7 Document 8 9 .box{ 10 width:60px; ...

  6. html+css 制作简单QQ登录页面

    HTML+css制作简单QQ登录页面 这是效果图 这是HTML源码 <!DOCTYPE html> <html lang="zh"><head> ...

  7. html直线箭头,HTML中利用div+CSS实现简单的箭头图标的代码

    在网页设计中,我们经常得会用到一些箭头做为装饰来点缀我们的网页,虽然现在很多的网站的设计者们都喜欢以引用字体图标的形式来实现箭头的效果,但那样也会给网页的加载造成一些影响.今天飞鸟慕鱼小编就给大家说一 ...

  8. table固定列html5,css+js简单实现table固定首行首列

    说明: 使用easyui等都可以实现table固定首行首列的功能. 但仅仅只需要这一个功能,完全可以用css+js简单实现而不用引入更多工具. 网上找到很多的思路,自己对其中比较简单的一个进行了整理. ...

  9. 使用html和css制作简单的网页

    使用html和css制作简单的网页 创作不易,可否给作者点个赞再走 html部分: /** * author 阿木木 * date 09/26 10:23 * / <html><he ...

  10. 使用html,css实现简单的导航栏

    标题:使用html,css实现简单的导航栏 一.实现过程 首先通过ul,li实现一个无序列表,添加背景得到如图所示的样式[文档流] 让li浮动,使得垂直排列–>水平排列,[注意需要开启bfc,让 ...

最新文章

  1. xps文档打印后winform界面文字丢失
  2. CG笔记之一——透视投影
  3. delete postman 传参_PostMan 传参boolean 类型,接口接受的值一直是false
  4. 计算机网络之数据链路层:1、概述
  5. HTTP的长连接和短连接
  6. 面试官:HashMap 为什么线程不安全?
  7. java 摸拟qq消息提示_java 仿qq消息提示框
  8. ic 卡获取帐号apdu指令_《全球行动》携手京东校园送福利 1000元京东卡等你拿
  9. android xml 加密,AndroidManifest.xml和MAIN.xml文件都是加密的,请问怎么解决
  10. Dolibarr可以做什么
  11. 后端要学MySQL_后端程序员需要掌握MySQL数据库吗
  12. 比较两个数的大小的代码比较:(C语言)
  13. 苹果U盘格式化了怎么恢复
  14. ADNI-MRI-PET
  15. c语言加减乘除怎么随机输入,注会机考加减乘除如何输入,注会机考加减乘除如何输入...
  16. Windows server DHCP服务器搭建
  17. Ionic3.x 创建项目中的问题-IonIC start myApp tabs
  18. linux 动态监控进程
  19. 计算机专业-世界大学学术排名,QS排名,U.S.NEWS排名
  20. 电脑连接热点无internet访问权限_电脑连接无线网,显示无网络访问权限

热门文章

  1. 两年数据对比柱形图_你与专业堆积柱形图的距离,只差一个数据标签
  2. NBA 2009-10赛季赛程表
  3. 实战 | 一步步排查基于业务场景的Elasticsearch难题!
  4. excel取消密码_【Excel神技能】如何锁定Excel表中的公式,防止被修改?
  5. mac分区合并APFS容器
  6. IR2110不具备隔离驱动作用
  7. windows下安装kali linux子系统详细教程
  8. 设置单行省略的时候在搜狗浏览器里面导致页面布局紊乱
  9. oracle -3233,ORA-3233 问题请教
  10. 随机抽取一名同学回答问题,7/4更新一次