三角形演变:

1、将一个块元素的宽、高都设置为0,再设置边框样式,得如下效果图(绿色部分):

样式:

{width:;height:;border: 35px solid #7de87d;}

通过此样式得到的是一个正方形。

2、将正方形的左右边框设置成其他颜色,如:

{
width:;
height:;
border-left: 35px solid #ff9900;
border-right: 35px solid #ff9900;
border-top: 35px solid #7de87d;
border-bottom: 35px solid #7de87d;
}

效果图:

给块元素添加设置了其他颜色后,块元素被左右的三角形切割了。

3、如果再将左右两边设置成透明,又会是什么效果呢?

样式:

{
width:;
height:;
border-left: 35px solid transparent;
border-right: 35px solid transparent;
border-top: 35px solid #7de87d;
border-bottom: 35px solid #7de87d;
}

最终看到的是一个像漏斗形状的图形,如果将边框顶部去掉,那我们就可以直接得到向上的三角形了,如图:

样式:

{
width:;
height:;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid #7de87d;
}

其他方向的三角形:

向下三角形样式:

{
width:;
height:;
border-top: 50px solid #7de87d;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
}

向左样式:

{
width:;
height:;
border-right: 40px solid #7de87d;
border-top: 40px solid transparent;
border-bottom: 40px solid transparent;
}

向右样式:

{
width:;
height:;
border-left: 40px solid #7de87d;
border-bottom: 40px solid transparent;
border-top: 40px solid transparent;
}

左下三角形样式:

{
width:;
height:;
border-bottom: 50px solid #7de87d;
border-right: 50px solid transparent;
}

右下三角形样式:

{
width:;
height:;
border-bottom: 50px solid #7de87d;
border-left: 50px solid transparent;
}

左上三角形样式:

{
width:;
height:;
border-top: 50px solid #7de87d;
border-right: 50px solid transparent;
}

右上三角形样式:

{
width:;
height:;
border-top: 50px solid #7de87d;
border-left: 50px solid transparent;
}

线性三角形:

除了上面给到的有背景颜色的三角形外,如果需要线性形状的三角形该怎么做呢?

这里就需要用到css3的变换(transform)属性了,如下样式:

{
width: 50px;
height: 50px;
border-top: 2px solid #7de87d;
border-right: 2px solid #7de87d;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}

给块元素设置对角边框样式,再用transform属性旋转到对应角度就可以了,效果图:

 其他线性三角形:

向下样式:

{
width: 50px;
height: 50px;
border-top: 2px solid #7de87d;
border-right: 2px solid #7de87d;
transform: rotate(135deg);
-webkit-transform: rotate(135deg);
}

向左样式:

{
width: 50px;
height: 50px;
border-top: 2px solid #7de87d;
border-right: 2px solid #7de87d;
transform: rotate(-135deg);
-webkit-transform: rotate(-135deg);
}

向右样式:

{
width: 50px;
height: 50px;
border-top: 2px solid #7de87d;
border-right: 2px solid #7de87d;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
}

 总结:

再满足兼容性的情况下,通过样式制作三角形,比用图形制作三角形会来的简单、方便一些。比如在网页制作中,要实现下拉框上的向下图标,我们就可以直接用样式制作。又如做"更多"按钮后的向右图标,我们就可以用线性的三角形的做法。

css三角形绘制的更多相关文章

  1. CSS 三角形绘制方法

    #triangle-up {    width: 0;    height: 0;    border-left: 50px solid transparent;    border-right: 5 ...

  2. CSS 利用border三角形绘制方法

    CSS 三角形绘制方法,这里面的transparent比较重要,有和没有影响很大: 原理:这个div是由4个三角形组成,每个三角对应一个border,隐藏其它3个border,就可以得到一个三角形. ...

  3. 【基础】在css中绘制三角形及相关应用

    简言 本文简要阐述了用CSS边框的方法在页面上绘制三角形,包括几种典型的三角形绘制,还介绍了几个简单的应用场景.利用边框绘制三角形方法只是众多方案中的一种,大家根据项目实际,选用最适宜项目的方案. 1 ...

  4. 【CImg】三角形绘制算法实现

    这周的CV基础练习是简单的图形绘制:比如说矩形.三角形和圆心什么的.会发现其实矩形和圆形的实现思路都很直白,矩形只需要确认两个对角坐标就可以了,圆心只需要确认圆心和半径,接着就是简单的遍历各个像素点判 ...

  5. 前端读者 | CSS三角形和饼图

    @羯瑞 三角形 .triangle{width:0;height:0;border-width:50px;border-style:solid;border-color:red blue green ...

  6. OpenglEs之三角形绘制

    在前面我们已经在NDK层搭建好了EGL环境,也介绍了一些着色器相关的理论知识,那么这次我们就使用已经搭配的EGL绘制一个三角形吧. 在Opengl ES的世界中,无论多复杂的形状都是由点.线或三角形组 ...

  7. CSS - Tooltip-arrow 绘制三角形

    问题:纯CSS实现bubble的三角形部分 方法:使用border来绘制三角形:例如 .trangle { ; border-color: transparent; border-style: sol ...

  8. 纯 CSS 实现绘制各种三角形(各种角度)

    一.前言 三角形实现原理:宽度width为0:height为0:(1)有一条横竖边(上下左右)的设置为border-方向:长度 solid red,这个画的就是底部的直线.其他边使用border-方向 ...

  9. css三角形的实现

    实底三角形: <html> <head> <title></title> <style type="text/css"> ...

随机推荐

  1. C#应用程序中读取Oracle数据库

    前言 最近的任务就是开发了一个功能,要从供应商那边读取数据,然后拿过来,处理以后放到我们自己的数据库中.供应商那边是Oracle数据库,其实不管什么数据我想都差不多,于是我就开始了.由于在家里写的博客 ...

  2. 或许有一两点你不知的C语言特性

    关键字篇 volatile关键字 鲜为人知的关键字之一volatile,表示变量是'易变的',之所以会有这个关键字,主要是消除编译优化带来的一些问题,看下面的代码 ; int b = a; int c ...

  3. C# mvc 验证码3

    //// <summary> /// 生成验证码 /// </summary> /// <param name="length">指定验证码的长 ...

  4. matlab操作之--读取指定文件夹下的“指定格式”文件

    %% 正负样本所在folder fext='*.png';%要读取的文件格式 positiveFolder='F:\课题\Crater detection\machingLearning\Positi ...

  5. python使用__future__

    Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了.要“试用”某一新的特性,就可以通过导入__future__模块的某些功能来实现. 例如,Python 2.7的整数 ...

  6. Nodejs 集成到IIS

    http://www.hanselman.com/blog/WebMatrixAndNodejsTheEasiestWayToGetStartedWithNodeOnWindows.aspx http ...

  7. Shoot the Bullet

    zoj3229:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3442 题意:一个摄影师,在n天内给m个女神拍照.每个女神至少要 ...

  8. 【POJ1470】Closest Common Ancestors

    Description Write a program that takes as input a rooted tree and a list of pairs of vertices. For e ...

  9. OS X Lion版 如果我忘记了我的账户密码 我该怎么办?

    来到了 mac os x lion 10.7 上. 忘记密码的朋友不会减少. 除了努力回忆和询问自己的老婆外还有其他办发不? 那是自然有的. 帐户密码很重要虽然有时候我们设置了帐户自动登陆但是如果您需 ...

  10. 使用Redis作为消息队列服务场景应用案例

    一.消息队列场景简介 "消息"是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象.消息被发送到队列中,"消息队列&qu ...