美文网首页
CSS3绘制各种形状二

CSS3绘制各种形状二

作者: 蓝Sir_ | 来源:发表于2019-05-29 13:21 被阅读0次

现在的CSS功能非常强大了,特别是CSS3的属性,例如转换属性过渡属性动画属性,能做的效果非常多。在网页开发中,会经常遇到一些小符号或者形状,在以前就只能通过切图来实现,切图这种方式是用起来方便,但是会增加请求。而现在浏览器对CSS3的兼容基本没有什么问题,所以在网页开发的时候遇到符号或者形状,能写的都是用CSS来书写了。
而这篇文章就是收集了各种通过CSS书写的形状,在开发的时候可以快速应用。例如:椭圆三角形梯形多边形五角星多角星,等等...

文章中涉及到的重要属性有:bordertransformgradient伪元素border-radius等,这些都是比较常用的属性,但是通过不同的组合,可以构建出不同的形状。

无限循环图标

  #infinity {
      position: relative;
      width: 212px;
      height: 100px;
      box-sizing: content-box;
    }
    #infinity:before,
    #infinity:after {
      content: "";
      box-sizing: content-box;
      position: absolute;
      top: 0;
      left: 0;
      width: 60px;
      height: 60px;
      border: 20px solid red;
      border-radius: 50px 50px 0 50px;
      transform: rotate(-45deg);
    }
    #infinity:after {
      left: auto;
      right: 0;
      border-radius: 50px 50px 50px 0;
      transform: rotate(45deg);
    }

<div id="infinity"></div>
无限循环图标

钻石盾牌

    #diamond-shield {
      width: 0;
      height: 0;
      border: 50px solid transparent;
      border-bottom: 20px solid red;
      position: relative;
      top: -50px;
    }
    #diamond-shield:after {
      content: '';
      position: absolute;
      left: -50px;
      top: 20px;
      width: 0;
      height: 0;
      border: 50px solid transparent;
      border-top: 70px solid red;
    }

<div id="diamond-shield"></div>
钻石盾牌

菱形

    #diamond-narrow {
      width: 0;
      height: 0;
      border: 50px solid transparent;
      border-bottom: 70px solid red;
      position: relative;
      top: -50px;
    }
    #diamond-narrow:after {
      content: '';
      position: absolute;
      left: -50px;
      top: 70px;
      width: 0;
      height: 0;
      border: 50px solid transparent;
      border-top: 70px solid red;
    }

<div id="diamond-narrow"></div>
菱形

钻石

#cut-diamond {
      border-style: solid;
      border-color: transparent transparent red transparent;
      border-width: 0 25px 25px 25px;
      height: 0;
      width: 50px;
      box-sizing: content-box;
      position: relative;
      margin: 20px 0 50px 0;
    }
    #cut-diamond:after {
      content: "";
      position: absolute;
      top: 25px;
      left: -25px;
      width: 0;
      height: 0;
      border-style: solid;
      border-color: red transparent transparent transparent;
      border-width: 70px 50px 0 50px;
    }

<div id="cut-diamond"></div>
钻石

鸡蛋

    #egg {
      display: block;
      width: 126px;
      height: 180px;
      background-color: red;
      border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
    }

<div id="egg"></div>
鸡蛋

吃豆人

    #pacman {
      width: 0px;
      height: 0px;
      border-right: 60px solid transparent;
      border-top: 60px solid red;
      border-left: 60px solid red;
      border-bottom: 60px solid red;
      border-top-left-radius: 60px;
      border-top-right-radius: 60px;
      border-bottom-left-radius: 60px;
      border-bottom-right-radius: 60px;
    }

<div id="pacman"></div>
吃豆人

对话泡泡

    #talkbubble {
      width: 120px;
      height: 80px;
      background: red;
      position: relative;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      border-radius: 10px;
    }
    #talkbubble:before {
      content: "";
      position: absolute;
      right: 100%;
      top: 26px;
      width: 0;
      height: 0;
      border-top: 13px solid transparent;
      border-right: 26px solid red;
      border-bottom: 13px solid transparent;
    }

<div id="talkbubble"></div>
对话泡泡

阴阳图

    #yin-yang {
      width: 96px;
      box-sizing: content-box;
      height: 48px;
      background: #eee;
      border-color: red;
      border-style: solid;
      border-width: 2px 2px 50px 2px;
      border-radius: 100%;
      position: relative;
    }
    #yin-yang:before {
      content: "";
      position: absolute;
      top: 50%;
      left: 0;
      background: #eee;
      border: 18px solid red;
      border-radius: 100%;
      width: 12px;
      height: 12px;
      box-sizing: content-box;
    }
    #yin-yang:after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      background: red;
      border: 18px solid #eee;
      border-radius: 100%;
      width: 12px;
      height: 12px;
      box-sizing: content-box;
    }

<div id="yin-yang"></div>
阴阳图

徽章图

    #badge-ribbon {
      position: relative;
      background: red;
      height: 100px;
      width: 100px;
      border-radius: 50px;
    }
    #badge-ribbon:before,
    #badge-ribbon:after {
      content: '';
      position: absolute;
      border-bottom: 70px solid red;
      border-left: 40px solid transparent;
      border-right: 40px solid transparent;
      top: 70px;
      left: -10px;
      transform: rotate(-140deg);
    }
    #badge-ribbon:after {
      left: auto;
      right: -10px;
      transform: rotate(140deg);
    }

<div id="badge-ribbon"></div>
徽章图

放大镜

#magnifying-glass {
      width: 56px;
      box-sizing: content-box;
      height: 56px;
      border: 14px solid red;
      position: relative;
      border-radius: 49px;
    }
    #magnifying-glass:before {
      content: "";
      display: inline-block;
      position: absolute;
      right: -30px;
      bottom: -18px;
      border-width: 0;
      background: red;
      width: 35px;
      height: 12px;
      transform: rotate(45deg);
    }

<div id="magnifying-glass"></div>
放大镜

月亮

    #moon {
      width: 80px;
      height: 80px;
      border-radius: 50%;
      box-shadow: 15px 15px 0 0 red;
    }

<div id="moon"></div>
月亮

箭头标签

    #pointer {
      width: 200px;
      height: 40px;
      position: relative;
      background: red;
    }
    #pointer:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 0;
      height: 0;
      border-left: 20px solid white;
      border-top: 20px solid transparent;
      border-bottom: 20px solid transparent;
    }
    #pointer:before {
      content: "";
      position: absolute;
      right: -20px;
      bottom: 0;
      width: 0;
      height: 0;
      border-left: 20px solid red;
      border-top: 20px solid transparent;
      border-bottom: 20px solid transparent;
    }

<div id="pointer"></div>
箭头标签

相关文章

  • CSS3绘制各种形状二

    现在的CSS功能非常强大了,特别是CSS3的属性,例如转换属性,过渡属性,动画属性,能做的效果非常多。在网页开发中...

  • CSS3绘制各种形状

    现在的CSS功能非常强大了,特别是CSS3的属性,例如转换属性,过渡属性,动画属性,能做的效果非常多。在网页开发中...

  • CSS3绘制各种形状

    本文为叩丁狼高级讲师原创文章,转载请注明出处。 现在的CSS功能非常强大了,特别是CSS3的属性,例如转换属性,过...

  • 如何使用CSS 绘制各种形状?

    很多小伙伴在做开发的时候,遇到一些要画很多形状的时候,就很纠结了,知道怎么用CSS去布局,就是不知道怎么画图案。 ...

  • CSS3制作各种形状图像

    CSS3制作各种形状图像 制作圆形: 要使用CSS来制作一个圆形,我们需要一个div,被给它设置一个ID 圆形在设...

  • css3绘制各种图形

  • drawable下的非图片资源之shape用法详解

    绘制各种形状 shape节点属性支持的形状: 其中rectangle矩形,oval椭圆,line水平直线,ring...

  • android绘图之Canvas基础(2)

    Android 绘图学习 1 Canvas 基础 Canvas画布,用于绘制出各种形状配合画布的变幻操作可以绘制出...

  • QmlCanvas文字

    qml的Canvas可以绘制文字, 图片, 各种形状, 今天这里只绘制文字, 模拟qml本身的Text效果 需要完...

  • 015 几何形状绘制

    几何形状绘制 绘制直线 绘制圆 绘制矩形 绘制椭圆 填充几何形状 OpenCV没有专门的填充方法,只是把绘制几何形...

网友评论

      本文标题:CSS3绘制各种形状二

      本文链接:https://www.haomeiwen.com/subject/cfmetctx.html