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. laravel form 表单提交

    form表单需要加token,不然会出现419错误,csrf_token不用自己生成,放进去就行,laravel自己会生成 路由: 控制器生成一个:

  2. python django-admin startproject django-admin命令未找到

    在使用pip install安装django后使用django-admin生成项目失败解决办法 1.配置环境变量-在系统环境变量path添加后运行 D:\Program Files (x86)\pyt ...

  3. stm32串口发送数据复位 第一个数据丢失

    http://blog.csdn.net/kevinhg/article/details/40991655 STM32串口发送必须先检测状态,否则第一个字节无法发出,发送完毕,必须检测发送状态是否完成 ...

  4. STM32F407+STemwin学习笔记之STemwin移植

    原文链接:http://www.cnblogs.com/NickQ/p/8748011.html 环境:keil5.20  STM32F407ZGT6  LCD(320*240)  STemwin:S ...

  5. c语言指针的指针

    c语言在函数传递时常常使用如下的形式. void get(int **p) 对于这个形式,我想过为什么不能够使用 *p 作为形参呢.下面我们看一下代码和执行结果 void get(int **p) { ...

  6. 中国大学MOOC-C程序设计(浙大翁恺)—— 素数和

    题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的 ...

  7. Java基础之static关键字的用法

    Java中的static关键字主要用于内存管理.我们可以应用static关键字在变量.方法.块和嵌套类中. static关键字属于类,而不是类的实例.        静态(static)可以是: 变量 ...

  8. Hibernate学习笔记三

    1.1.1 Hibernate的关联关系映射:(多对多) 1.1.1.1 多对多的配置: 步骤一创建实体和映射: Student: public class Student { private Int ...

  9. OracleLinux上安装数据库(DBCA)

    磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面: PostgreSQL杂记页     回到顶级页面:PostgreSQL索引页 [作者 高健@博客园  luckyjackgao@gmail. ...

  10. 设置cell高度的两种方法(label高度的可变引起cell高度可变的情况)

    第一种:(iOS8以后可用) 在Xib或stroyboard中(代码也可以) 利用AutoLayout设置好label的约束(比如可以设置四个边都距离屏幕50等方式,必须四个边都要固定好). 在代码部 ...