CSS3制作各种形状图像

  • 浏览:1417
  • |
  • 更新:2015-05-24 14:43
  • |
  • 标签:css
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

分步阅读

圆形-椭圆形-三角形-倒三角形=左三角形-右三角形-菱形-平行四边形- 星形-六角星形-五边形-六边形-八角形-心形-蛋形-无穷符号-消息提示框-吃豆人

工具/原料

  • 编辑器一个
  • 有一定的CSS3基础

方法/步骤

  1. 1

    制作圆形:

    要使用CSS来制作一个圆形,我们需要一个div,被给它设置一个ID

    <div id="circle"></div> 

    圆形在设置CSS时要设置宽度和高度相等,然后设置border-radius属性为宽度或高度的一半即可:

    #circle {

        width: 120px;

        height: 120px;

        background: #7fee1d;

        -moz-border-radius: 60px;

        -webkit-border-radius: 60px;

        border-radius: 60px;

  2. 2

    制作椭圆形:

    椭圆形是正圆形的一个变体,同样使用一个带ID的div来制作

    <div id="oval"></div>

    设置椭圆形的CSS时,高度要设置为宽度的一半,border-radius属性也要做相应的改变:

    #oval {

        width: 200px;

        height: 100px;

        background: #e9337c;

        -webkit-border-radius: 100px / 50px;

        -moz-border-radius: 100px / 50px;

        border-radius: 100px / 50px;

  3. 3

    制作三角形:

    要创建一个CSS三角形,需要使用border,通过设置不同边的透明效果,我们可以制作出三角形的现状。另外,在制作三角形时,宽度和高度要设置为0。

    <div id="triangle"></div>  

                               

    #triangle {

        width: 0;

        height: 0;

        border-bottom: 140px solid #fcf921;

        border-left: 70px solid transparent;

        border-right: 70px solid transparent;

    }   

  4. 4

    制作倒三角形:

    与正三角形不同的是,倒三角形要设置的是border-top、border-left和border-right三条边的属性:

    #triangle {

        width: 0;

        height: 0;

        border-top: 140px solid #20a3bf;

        border-left: 70px solid transparent;

        border-right: 70px solid transparent;

  5. 5

    制作左三角形:

    左三角形操作的是border-top、border-left和border-right三条边的属性,其中上边和下边要设置透明属性。

    #triangle_left {

        width: 0;

        height: 0;

        border-top: 70px solid transparent;

        border-right: 140px solid #6bbf20;

        border-bottom: 70px solid transparent;

    }  

  6. 制作菱形

    制作菱形的方法有很多种。这里使用的是transform属性和rotate相结合,使两个正反三角形上下显示。

    #diamond {

        width: 120px;

        height: 120px;

        background: #1eff00;

    /* Rotate */

        -webkit-transform: rotate(-45deg);

        -moz-transform: rotate(-45deg);

        -ms-transform: rotate(-45deg);

        -o-transform: rotate(-45deg);

        transform: rotate(-45deg);

    /* Rotate Origin */

        -webkit-transform-origin: 0 100%;

        -moz-transform-origin: 0 100%;

        -ms-transform-origin: 0 100%;

        -o-transform-origin: 0 100%;

        transform-origin: 0 100%;

        margin: 60px 0 10px 310px;

  7. 制作梯形:

    梯形是三角形的一个变体,设置CSS梯形时,左右两条边设置为相等,并且给它设置一个宽度。

    #trapezium {

        height: 0;

        width: 120px;

        border-bottom: 120px solid #ec3504;

        border-left: 60px solid transparent;

        border-right: 60px solid transparent;

  8. 制作平行四边形:

    平行四边形的制作方式是使用transform属性使长方形倾斜一个角度。

    #parallelogram {

        width: 160px;

        height: 100px;

        background: #8734f7;

        -webkit-transform: skew(30deg);

        -moz-transform: skew(30deg);

        -o-transform: skew(30deg);

        transform: skew(30deg);

    }  

  9. 星形:

    星形的HTML结构同样使用一个带ID的空div。星形的实现方式比较复杂,主要是使用transform属性来旋转不同的边。仔细体会下面的代码。

    #star {

        width: 0;

        height: 0;

        margin: 50px 0;

        color: #fc2e5a;

        position: relative;

        display: block;

        border-right: 100px solid transparent;

        border-bottom: 70px solid #fc2e5a;

        border-left: 100px solid transparent;

        -moz-transform: rotate(35deg);

        -webkit-transform: rotate(35deg);

        -ms-transform: rotate(35deg);

        -o-transform: rotate(35deg);

    }

      

    #star:before {

        height: 0;

        width: 0;

        position: absolute;

        display: block;

        top: -45px;

        left: -65px;

        border-bottom: 80px solid #fc2e5a;

        border-left: 30px solid transparent;

        border-right: 30px solid transparent;

        content: '';

        -webkit-transform: rotate(-35deg);

        -moz-transform: rotate(-35deg);

        -ms-transform: rotate(-35deg);

        -o-transform: rotate(-35deg);

    }

      

    #star:after {

        content: '';

        width: 0;

        height: 0;

        position: absolute;

        display: block;

        top: 3px;

        left: -105px;

        color: #fc2e5a;

        border-right: 100px solid transparent;

        border-bottom: 70px solid #fc2e5a;

        border-left: 100px solid transparent;

        -webkit-transform: rotate(-70deg);

        -moz-transform: rotate(-70deg);

        -ms-transform: rotate(-70deg);

        -o-transform: rotate(-70deg);

    }                              

  10. 六角星形:

    和五角星的制作方法不同,六角星形状的制作方法是操纵border属性来制作两半图形,然后合并它们。

    #star_six_points {

        width: 0;

        height: 0;

        display: block;

        position: absolute;

        border-left: 50px solid transparent;

        border-right: 50px solid transparent;

        border-bottom: 100px solid #de34f7;

        margin: 10px auto;

    }

      

    #star_six_points:after {

        content: "";

        width: 0;

        height: 0;

        position: absolute;

        border-left: 50px solid transparent;

        border-right: 50px solid transparent;

        border-top: 100px solid #de34f7;

        margin: 30px 0 0 -50px;

    }                             

  11. 六边形:

    六边形的制作方法可以有很多种,可以像五边形一样,先制作一个长方形,然后在它的上面和下面各放置一个三角形。

    #hexagon {

        width: 100px;

        height: 55px;

        background: #fc5e5e;

        position: relative;

        margin: 10px auto;

    }

      

    #hexagon:before {

        content: "";

        width: 0;

        height: 0;

        position: absolute;

        top: -25px;

        left: 0;

        border-left: 50px solid transparent;

        border-right: 50px solid transparent;

        border-bottom: 25px solid #fc5e5e;

    }

      

    #hexagon:after {

        content: "";

        width: 0;

        height: 0;

        position: absolute;

        bottom: -25px;

        left: 0;

        border-left: 50px solid transparent;

        border-right: 50px solid transparent;

        border-top: 25px solid #fc5e5e;

    }      

  12. 心形:

    心形的制作是非常复杂的,可以使用伪元素来制作,分别将伪元素旋转不同的角度,并修改transform-origin属性来元素的旋转中心点。

    #heart {

        position: relative;

    }

      

    #heart:before,#heart:after {

        content: "";

        width: 70px;

        height: 115px;

        position: absolute;

        background: red;

        left: 70px;

        top: 0;

        -webkit-border-radius: 50px 50px 0 0;

        -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%;

    }          

  13. 蛋形:

    蛋形时椭圆形的一个变体,它的高度要比宽度稍大,并且设置正确的border-radius属性即可以制作出一个蛋形。

    #egg {

        width: 136px;

        height: 190px;

        background: #ffc000;

        display: block;

        -webkit-border-radius: 63px 63px 63px 63px / 108px 108px 72px 72px;

        border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;

    }  

  14. 无穷符号:

    无穷符号可以通过border属性和设置伪元素的角度来实现。

    #infinity {

    width: 220px;

    height: 100px;

    position: relative;

    }

    #infinity:before,#infinity:after {

    content: "";

    width: 60px;

    height: 60px;

    position: absolute;

    top: 0;

    left: 0;

    border: 20px solid #06c999;

    -moz-border-radius: 50px 50px 0;

    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);

    }

  15. 消息提示框:

    消息提示框可以先制作一个圆角矩形,然后在需要的地方放置一个三角形。

    #comment_bubble {

    width: 140px;

    height: 100px;

    background: #088cb7;

    position: relative;

    -moz-border-radius: 12px;

    -webkit-border-radius: 12px;

    border-radius: 12px;

    }

    #comment_bubble:before {

    content: "";

    width: 0;

    height: 0;

    right: 100%;

    top: 38px;

    position: absolute;

    border-top: 13px solid transparent;

    border-right: 26px solid #088cb7;

    border-bottom: 13px solid transparent;

    }

CSS3制作各种形状图像(转)的更多相关文章

  1. CSS3制作各种形状图像

    圆形-椭圆形-三角形-倒三角形=左三角形-右三角形-菱形-平行四边形- 星形-六角星形-五边形-六边形-八角形-心形-蛋形-无穷符号-消息提示框 不废话直接 html界面(亲测的) ------转自百 ...

  2. 使用CSS3制作各种形状

    CSS3的一个非常酷的特性是允许我们创建各种规则和不规则形状的图形,从而可以减少图片的使用.以前只能在Photoshop等图像编辑软件中制作的复杂图形现在使用CSS3就可以完成了.通过使用新的CSS属 ...

  3. 使用 jQuery & CSS3 制作美丽的照片画廊

    在本教程中,我们将创建一个很好看的照片画廊效果.我们的想法是,以显示专辑作为一个滑块,而当这张专辑被选中,我们将使用一个美丽的照片堆栈展示专辑的图像.在照片堆栈视图,我们可以通过将最上面的图像移动到所 ...

  4. 推荐10个 CSS3 制作的创意下拉菜单效果

    下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用 HTML5 和 CSS3 可以更容易 ...

  5. 纯CSS3制作卡通场景汽车动画效果

    前言 今天分享一下我昨晚做的CSS3动画效果——卡通场景汽车动画.在接触CSS3动画之前,我之前实现一些简单的动画效果都是使用flash完成的.但是自从CSS3横空出世,在移动端对CSS3动画的运用越 ...

  6. 8个纯CSS3制作的动画应用及源码

    对于一个复杂的图形或者动画来说,之前我们的处理方式是图片叠加或者利用CSS+JavaScript的方法,然而随着CSS3标准的不断成熟,我们甚至完全可以利用CSS3来绘制一些图片和制作丰富的动画特效. ...

  7. CSS源码之纯css3制作的哆啦a梦图片

    本文章向大家介绍一个纯css3制作的哆啦a梦图像,主要巧妙的使用了css3的border-radius属性,需要的朋友介意参考一下本文章的源码. 效果图: 源码 <!doctype html&g ...

  8. CSS3制作的垂直口风琴1

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 图解CSS3制作圆环形进度条的实例教程

    圆环形进度条制作的基本思想还是画出基本的弧线图形,然后CSS3中我们可以控制其旋转来串联基本图形,制造出部分消失的效果,下面就来带大家学习图解CSS3制作圆环形进度条的实例教程 首先,当有人说你能不能 ...

随机推荐

  1. 关于gitbash一直报:sh: __git_ps1: command not found的解决办法

    curl -o ~/.git-prompt.sh https://raw.githubusercontent.com/git/git/master/contrib/completion/git-pro ...

  2. TeamViewer13个人版使用中提示为商用版导致无法使用

    前言:由于使用teamviewer个人免费版较频繁,被软件识别到不能再继续免费使用,无奈没有多余的资金进行购买正版软件, 通过鼓捣得到如下继续免费使用方案,整理下来以备不时之需,也可以被有同此困惑的朋 ...

  3. 获取地图的信息到input里

    在最近项目中,我接触了百度地图的API写法,对其中的代码有了一点兴趣,所以我在完成任务后,在办公室里学习了百度地图的相关引用,并申请了服务秘钥: E7PCho0sv3FdzmjC901ttP0HrS9 ...

  4. 怎么将oracle的sql文件转换成mysql的sql文件

    怎么将sql文件导入PowerDesigner中的方法(将oracle的sql文件转换成mysql的sql文件)呢? 怎么将xx.sql文件的数据库结构导入powerdesigner 的方法呢? 现讲 ...

  5. H5混合开发进阶之inspect调试

    h5界面嵌套在原生app内部的时候,需要调用原生的方法,传递数据.中间难以调试代码,. 用google的 inspect调试.查看数据的传输方式. 1.adb连接正常,打开手机USB调试 2.第一次使 ...

  6. 7. CSS装饰网页的样式

    CSS中有哪些用来装饰网页的样式呢?在这里我们对一些常用的样式做了总结. 字体样式 /* * 一般样式书写 */ .font_style_1{ font-family: "华文行楷" ...

  7. npm 取消代理 npm config delete proxy

    今天在安装electron时设置了代理,发现再npm install 安装别的总是装不上,只好取消代理. npm 取消代理 npm config delete proxy

  8. mongodb C++ Driver安装

    前言 mongocxx官网地址 http://mongocxx.org/?jmp=docs 本文的安装版本是:mongocxx-r3.2.0.tar.gz . 参考文档安装过程http://mongo ...

  9. Laravel 生成二维码

    (本实例laravel 版本 >=5.6, PHP版本 >=7.0) 1.首先,添加 QrCode 包添加到你的 composer.json 文件的 require 里: "re ...

  10. python生成器函数中return的作用

    当生成器函数中含有return时,return不会返回任何值,会直接终止当前生成器,对yield的作用没有影响,当函数执行到return时候,调用next()来执行生成器则会报错,如果使用for循环遍 ...