zoukankan      html  css  js  c++  java
  • 史上最强大的40多个纯CSS绘制的图形

    今天在国外的网站上看到了很多看似简单却又非常强大的纯CSS绘制的图形,里面有最简单的矩形、圆形和三角形,也有各种常见的多边形,甚至是阴阳太极和网站小图标,真的非常强大,分享给大家。

    Square(正方形)

    #square {
         100px;
        height: 100px;
        background: red;
    }

    Rectangle(矩形)

    #rectangle {
         200px;
        height: 100px;
        background: red;
    }

    Circle(圆形)

    复制代码
    #circle {
         100px;
        height: 100px;
        background: red;
        -moz-border-radius: 50px;
        -webkit-border-radius: 50px;
        border-radius: 50px;
    }
    
    /* 可以使用百分比值(大于50%),但是低版本的Android不支持 */
    复制代码

    Oval(椭圆形)

    复制代码
    #oval {
         200px;
        height: 100px;
        background: red;
        -moz-border-radius: 100px / 50px;
        -webkit-border-radius: 100px / 50px;
        border-radius: 100px / 50px;
    }
    
    /* 可以使用百分比值(大于50%),但是低版本的Android不支持 */
    复制代码

    Triangle Up(向上的三角形)

    复制代码
    #triangle-up {
         0;
        height: 0;
        border-left: 50px solid transparent;
        border-right: 50px solid transparent;
        border-bottom: 100px solid red;
    }
    复制代码

    Triangle Down(向下)

    复制代码
    #triangle-down {
         0;
        height: 0;
        border-left: 50px solid transparent;
        border-right: 50px solid transparent;
        border-top: 100px solid red;
    }
    复制代码

    Triangle Left(向左)

    复制代码
    #triangle-left {
         0;
        height: 0;
        border-top: 50px solid transparent;
        border-right: 100px solid red;
        border-bottom: 50px solid transparent;
    }
    复制代码

    Triangle Right(向右)

    复制代码
    #triangle-right {
         0;
        height: 0;
        border-top: 50px solid transparent;
        border-left: 100px solid red;
        border-bottom: 50px solid transparent;
    }
    复制代码

    Triangle Top Left(左上)

    #triangle-topleft {
         0;
        height: 0;
        border-top: 100px solid red;
        border-right: 100px solid transparent;
    }

    Triangle Top Right(右上)

    #triangle-topright {
         0;
        height: 0;
        border-top: 100px solid red;
        border-left: 100px solid transparent;
    }

    Triangle Bottom Left(左下)

    #triangle-bottomleft {
         0;
        height: 0;
        border-bottom: 100px solid red;
        border-right: 100px solid transparent;
    }

    Triangle Bottom Right(右下)

    #triangle-bottomright {
         0;
        height: 0;
        border-bottom: 100px solid red;
        border-left: 100px solid transparent;
    }

    Curved Tail Arrow(弯尾箭头)

    复制代码
    #curvedarrow {
      position: relative;
       0;
      height: 0;
      border-top: 9px solid transparent;
      border-right: 9px solid red;
      -webkit-transform: rotate(10deg);
      -moz-transform: rotate(10deg);
      -ms-transform: rotate(10deg);
      -o-transform: rotate(10deg);
    }
    #curvedarrow:after {
      content: "";
      position: absolute;
      border: 0 solid transparent;
      border-top: 3px solid red;
      border-radius: 20px 0 0 0;
      top: -12px;
      left: -9px;
       12px;
      height: 12px;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
    }
    复制代码

    Trapezoid(梯形)

    复制代码
    #trapezoid {
        border-bottom: 100px solid red;
        border-left: 50px solid transparent;
        border-right: 50px solid transparent;
        height: 0;
         100px;
    }
    复制代码

    Parallelogram(平行四边形)

    复制代码
    #parallelogram {
         150px;
        height: 100px;
        -webkit-transform: skew(20deg);
           -moz-transform: skew(20deg);
             -o-transform: skew(20deg);
        background: red;
    }
    复制代码

    Star (6-points)(六角星)

    复制代码
    #star-six {
         0;
        height: 0;
        border-left: 50px solid transparent;
        border-right: 50px solid transparent;
        border-bottom: 100px solid red;
        position: relative;
    }
    #star-six:after {
         0;
        height: 0;
        border-left: 50px solid transparent;
        border-right: 50px solid transparent;
        border-top: 100px solid red;
        position: absolute;
        content: "";
        top: 30px;
        left: -50px;
    }
    复制代码

    Star (5-points)(五角星)

    复制代码
    #star-five {
       margin: 50px 0;
       position: relative;
       display: block;
       color: red;
        0px;
       height: 0px;
       border-right:  100px solid transparent;
       border-bottom: 70px  solid red;
       border-left:   100px solid transparent;
       -moz-transform:    rotate(35deg);
       -webkit-transform: rotate(35deg);
       -ms-transform:     rotate(35deg);
       -o-transform:      rotate(35deg);
    }
    #star-five:before {
       border-bottom: 80px solid red;
       border-left: 30px solid transparent;
       border-right: 30px solid transparent;
       position: absolute;
       height: 0;
        0;
       top: -45px;
       left: -65px;
       display: block;
       content: '';
       -webkit-transform: rotate(-35deg);
       -moz-transform:    rotate(-35deg);
       -ms-transform:     rotate(-35deg);
       -o-transform:      rotate(-35deg);
    
    }
    #star-five:after {
       position: absolute;
       display: block;
       color: red;
       top: 3px;
       left: -105px;
        0px;
       height: 0px;
       border-right: 100px solid transparent;
       border-bottom: 70px solid red;
       border-left: 100px solid transparent;
       -webkit-transform: rotate(-70deg);
       -moz-transform:    rotate(-70deg);
       -ms-transform:     rotate(-70deg);
       -o-transform:      rotate(-70deg);
       content: '';
    }
    复制代码

    Pentagon(五边形)

    复制代码
    #pentagon {
        position: relative;
         54px;
        border- 50px 18px 0;
        border-style: solid;
        border-color: red transparent;
    }
    #pentagon:before {
        content: "";
        position: absolute;
        height: 0;
         0;
        top: -85px;
        left: -18px;
        border- 0 45px 35px;
        border-style: solid;
        border-color: transparent transparent red;
    }

    复制代码

    Hexagon(六边形)

    复制代码
    #hexagon {
         100px;
        height: 55px;
        background: red;
        position: relative;
    }
    #hexagon:before {
        content: "";
        position: absolute;
        top: -25px;
        left: 0;
         0;
        height: 0;
        border-left: 50px solid transparent;
        border-right: 50px solid transparent;
        border-bottom: 25px solid red;
    }
    #hexagon:after {
        content: "";
        position: absolute;
        bottom: -25px;
        left: 0;
         0;
        height: 0;
        border-left: 50px solid transparent;
        border-right: 50px solid transparent;
        border-top: 25px solid red;
    }
    复制代码

    Octagon(八边形)

    复制代码
    #octagon {
         100px;
        height: 100px;
        background: red;
        position: relative;
    }
    
    #octagon:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        border-bottom: 29px solid red;
        border-left: 29px solid #fff;
        border-right: 29px solid #fff;
         42px;
        height: 0;
    }
    
    #octagon:after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        border-top: 29px solid red;
        border-left: 29px solid #fff;
        border-right: 29px solid #fff;
         42px;
        height: 0;
    }
    复制代码

    Heart(心形)

    复制代码
    #heart {
        position: relative;
         100px;
        height: 90px;
    }
    #heart:before,
    #heart:after {
        position: absolute;
        content: "";
        left: 50px;
        top: 0;
         50px;
        height: 80px;
        background: red;
        -moz-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);
        -webkit-transform-origin: 0 100%;
           -moz-transform-origin: 0 100%;
            -ms-transform-origin: 0 100%;
             -o-transform-origin: 0 100%;
                transform-origin: 0 100%;
    }
    #heart:after {
        left: 0;
        -webkit-transform: rotate(45deg);
           -moz-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
             -o-transform: rotate(45deg);
                transform: rotate(45deg);
        -webkit-transform-origin: 100% 100%;
           -moz-transform-origin: 100% 100%;
            -ms-transform-origin: 100% 100%;
             -o-transform-origin: 100% 100%;
                transform-origin :100% 100%;
    }
    复制代码

    Infinity(无限符图形)

    复制代码
    #infinity {
        position: relative;
         212px;
        height: 100px;
    }
    
    #infinity:before,
    #infinity:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
         60px;
        height: 60px;
        border: 20px solid red;
        -moz-border-radius: 50px 50px 0 50px;
             border-radius: 50px 50px 0 50px;
        -webkit-transform: rotate(-45deg);
           -moz-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
             -o-transform: rotate(-45deg);
                transform: rotate(-45deg);
    }
    
    #infinity:after {
        left: auto;
        right: 0;
        -moz-border-radius: 50px 50px 50px 0;
             border-radius: 50px 50px 50px 0;
        -webkit-transform: rotate(45deg);
           -moz-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
             -o-transform: rotate(45deg);
                transform: rotate(45deg);
    }
    复制代码

    Diamond Square(菱形)

    复制代码
    #diamond {
         0;
        height: 0;
        border: 50px solid transparent;
        border-bottom-color: red;
        position: relative;
        top: -50px;
    }
    #diamond:after {
        content: '';
        position: absolute;
        left: -50px;
        top: 50px;
         0;
        height: 0;
        border: 50px solid transparent;
        border-top-color: red;
    }
    复制代码

    Diamond Shield(钻石盾牌)

    复制代码
    #diamond-shield {
         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;
         0;
        height: 0;
        border: 50px solid transparent;
        border-top: 70px solid red;
    }
    复制代码

    Diamond Narrow

    复制代码
    #diamond-narrow {
         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;
         0;
        height: 0;
        border: 50px solid transparent;
        border-top: 70px solid red;
    }
    复制代码

    Cut Diamond(砖石形)

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

    Egg(鸡蛋)

    复制代码
    #egg {
       display:block;
        126px;
       height: 180px;
       background-color: red;
       -webkit-border-radius: 63px 63px 63px 63px / 108px 108px 72px 72px;
       border-radius:         50%  50%  50%  50%  / 60%   60%   40%  40%;
    }
    复制代码

    Pac-Man(吃豆人)

    复制代码
    #pacman {
       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;
    }
    复制代码

    Talk Bubble(聊天框)

    复制代码
    #talkbubble {
        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;
        0;
       height: 0;
       border-top: 13px solid transparent;
       border-right: 26px solid red;
       border-bottom: 13px solid transparent;
    }
    复制代码

    12 Point Burst(爆炸形状)

    复制代码
    #burst-12 {
        background: red;
         80px;
        height: 80px;
        position: relative;
        text-align: center;
    }
    #burst-12:before, #burst-12:after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        height: 80px;
         80px;
        background: red;
    }
    #burst-12:before {
        -webkit-transform: rotate(30deg);
           -moz-transform: rotate(30deg);
            -ms-transform: rotate(30deg);
             -o-transform: rotate(30deg);
    }
    #burst-12:after {
        -webkit-transform: rotate(60deg);
           -moz-transform: rotate(60deg);
            -ms-transform: rotate(60deg);
             -o-transform: rotate(60deg);
    }
    复制代码

    Yin Yang(阴阳八卦)

    复制代码
    #yin-yang {
         96px;
        height: 48px;
        background: #eee;
        border-color: red;
        border-style: solid;
        border- 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%;
         12px;
        height: 12px;
    }
    
    #yin-yang:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        background: red;
        border: 18px solid #eee;
        border-radius:100%;
         12px;
        height: 12px;
    }
    复制代码

    Badge Ribbon(徽章丝带)

    复制代码
    #badge-ribbon {
     position: relative;
     background: red;
     height: 100px;
      100px;
     -moz-border-radius:    50px;
     -webkit-border-radius: 50px;
     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;
      -webkit-transform: rotate(-140deg);
      -moz-transform:    rotate(-140deg);
      -ms-transform:     rotate(-140deg);
      -o-transform:      rotate(-140deg);
    }
    
    #badge-ribbon:after {
      left: auto;
      right: -10px;
      -webkit-transform: rotate(140deg);
      -moz-transform:    rotate(140deg);
      -ms-transform:     rotate(140deg);
      -o-transform:      rotate(140deg);
    }
    复制代码

    Space Invader(太空入侵者)

    复制代码
    #space-invader{
      box-shadow:
        0 0 0 1em red,
        0 1em 0 1em red,
        -2.5em 1.5em 0 .5em red,
        2.5em 1.5em 0 .5em red,
        -3em -3em 0 0 red,
        3em -3em 0 0 red,
        -2em -2em 0 0 red,
        2em -2em 0 0 red,
        -3em -1em 0 0 red,
        -2em -1em 0 0 red,
        2em -1em 0 0 red,
        3em -1em 0 0 red,
        -4em 0 0 0 red,
        -3em 0 0 0 red,
        3em 0 0 0 red,
        4em 0 0 0 red,
        -5em 1em 0 0 red,
        -4em 1em 0 0 red,
        4em 1em 0 0 red,
        5em 1em 0 0 red,
        -5em 2em 0 0 red,
        5em 2em 0 0 red,
        -5em 3em 0 0 red,
        -3em 3em 0 0 red,
        3em 3em 0 0 red,
        5em 3em 0 0 red,
        -2em 4em 0 0 red,
        -1em 4em 0 0 red,
        1em 4em 0 0 red,
        2em 4em 0 0 red;
    
        background: red;
         1em;
        height: 1em;
        overflow: hidden;
    
        margin: 50px 0 70px 65px;
      }
    复制代码

    TV Screen(电视屏幕)

    复制代码
    #tv {
      position: relative;
       200px;
      height: 150px;
      margin: 20px 0;
      background: red;
      border-radius: 50% / 10%;
      color: white;
      text-align: center;
      text-indent: .1em;
    }
    #tv:before {
      content: '';
      position: absolute;
      top: 10%;
      bottom: 10%;
      right: -5%;
      left: -5%;
      background: inherit;
      border-radius: 5% / 50%;
    }
    复制代码

    Chevron(雪佛龙)

    复制代码
    #chevron {
      position: relative;
      text-align: center;
      padding: 12px;
      margin-bottom: 6px;
      height: 60px;
       200px;
    }
    
    #chevron:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
       51%;
      background: red;
      -webkit-transform: skew(0deg, 6deg);
      -moz-transform: skew(0deg, 6deg);
      -ms-transform: skew(0deg, 6deg);
      -o-transform: skew(0deg, 6deg);
      transform: skew(0deg, 6deg);
    }
    #chevron:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      height: 100%;
       50%;
      background: red;
      -webkit-transform: skew(0deg, -6deg);
      -moz-transform: skew(0deg, -6deg);
      -ms-transform: skew(0deg, -6deg);
      -o-transform: skew(0deg, -6deg);
      transform: skew(0deg, -6deg);
    }
    复制代码

    Magnifying Glass(放大镜)

    复制代码
    #magnifying-glass{
     font-size: 10em; /* This controls the size. */
     display: inline-block;
      0.4em;
     height: 0.4em;
     border: 0.1em solid red;
     position: relative;
     border-radius: 0.35em;
    }
    #magnifying-glass::before{
     content: "";
     display: inline-block;
     position: absolute;
     right: -0.25em;
     bottom: -0.1em;
     border- 0;
     background: red;
      0.35em;
     height: 0.08em;
     -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
         -ms-transform: rotate(45deg);
          -o-transform: rotate(45deg);
    }
    复制代码

    Cone(圆锥形)

    复制代码
    #cone {
       0;
      height: 0;
      border-left: 70px solid transparent;
      border-right: 70px solid transparent;
      border-top: 100px solid red;
      -moz-border-radius: 50%;
      -webkit-border-radius: 50%;
      border-radius: 50%;
    }
    复制代码

    Moon(月亮)

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

    Cross(十字架)

    复制代码
    #cross {
      background: red;
      height: 100px;
      position: relative;
       20px;
    }
    #cross:after {
      background: red;
      content: "";
      height: 20px;
      left: -40px;
      position: absolute;
      top: 40px;
       100px;
    }
    复制代码

    以上就是纯CSS绘制的各种图形,感受到CSS的强大了吧。

    本文链接:http://www.codeceo.com/article/40-css-shapes.html
    本文作者:码农网 – 陈少华

    <span class="hljs-selector-id"> </span>
  • 相关阅读:
    关于Maya Viewport 2.0 API 开发的介绍视频
    春节大假
    Some tips about the life cycle of Maya thread pool
    Can I compile and run Dx11Shader for Maya 2015 on my side?
    How to get current deformed vertex positions in MoBu?
    想加入全球首届的 欧特克云加速计划吗?
    三本毕业(非科班),四次阿里巴巴面试,终拿 offer(大厂面经)
    mac、window版编辑器 webstorm 2016... 永久破解方法。
    node 搭载本地代理,处理web本地开发跨域问题
    js 一维数组,转成嵌套数组
  • 原文地址:https://www.cnblogs.com/wangsicongde/p/7598723.html
Copyright © 2011-2022 走看看