很多时候我们用到三角形这个效果:

  我们可以用CSS3实现这个效果,怎去做呢?先阐述一下原理,我们定义一个空的div,设置这个div宽高为0,给这个div加上一个100px边框(这里是方便观察),得到的是一个正方形,颜色和定义边框的颜色相同,我们看到正方形其实是这个div边框。

<div id="d1"></div>

style:
#d1{
width:0;
height:0;
border:100px solid red;
}

实现效果:

那么这个元素现在对应的每个边框是什么样子的呢?我们来看:

对应代码:

<div id="d1"></div>

style:
#d1{
width:0;
height:0;
border-width:50px;
border-style:solid;
border-color:red blue black yellow;
             上  右   下   左
}

从上面这个我们发现,其实这个宽高为0的div的每一条边框都是一个三角形,实际操作中我们可能只需要一个三角形,那我们只要把不需要的border隐藏就可以了(用transparent属性):

比如我要一个向下的三角形:

对应代码:

<div id="d1"></div>

style:
#d1{
width:0;
height:0;
border-width:50px;
border-style:solid;
border-color:red transparent transparent transparent;
             上   右      下      左
}

由此可以看出只是把对应border隐藏掉了,对应的border—color顺序为:

border-color:上  右  下  左; 每个颜色之间用空格隔开。

一个45度三角形:

对应代码:

<div id="d1"></div>

style:
#d1{
width:0;
height:0;
border-width:50px;
border-style:solid;
border-color:transparent transparent red red ;
     border-color:transparent transparent red blue ;
}

同时我们可以调整对应border的宽度来调整三角形的形状:

  

对应代码:

  我们这里修改了下方border的宽度

<div id="d1"></div>
style:
#d1{
width:0;
height:0;
border-width:50px;
border-bottom-width:150px;
border-style:solid;
border-color:transparent transparent red transparent;
border-color:blue green red black;
}

同时我们也可以绘制一个圆角三角形:

对应代码:

这里为了看起来舒服些,加了透明度属性;

<div id="d1"></div>
style:
#d1{
width:0;
height:0;
border-width:50px;
border-style:solid;
border-top-left-radius: 15px;
opacity: 0.569;
border-color:red transparent transparent red;
}

关于三角形的制作基本就这些,很多时候配合伪类before、after使用会有意想不到的效果:

比如这个我自己编写的登录窗口的标签:

CSS3实现三角形的更多相关文章

  1. css3画三角形的原理

    以前用过css3画过下拉菜单里文字后面的“下拉三角符号”,类似于下面这张图片文字后面三角符号的效果 下面是一个很简单的向上的三角形代码 #triangle-up { width: 0; height: ...

  2. pure CSS3 实现三角形icon的方法

    pure CSS3 实现三角形icon的方法 border: color+transparent transform : rotate() /rotateZ() ? 使用 实体字符"◆&qu ...

  3. CSS3实现三角形和对话框

    这是最终实现的效果,类似于微信对话框的样式. 分析一下这个对话框的结构,由一个小三角形和一个长方形构成.长方形很容易就可以实现,重点是如何用CSS3做出一个小三角形. 一.如何生成一个三角形  总结: ...

  4. 怎么利用CSS3绘制三角形

    最近三角形挺火,很多地方都能碰到,如网页,微信,或者QQ空间的时间轴等地方都能看到,而且这些并不是图片插入进去的,那就需要用CSS来做了 <p class="bbb"> ...

  5. CSS3画三角形原理

    1.首先看一下画出一个下三角形完整的代码及效果图 #trangle1-up{ width:; height:; border-left:50px solid transparent; border-r ...

  6. CSS3中三角形及三角形组合图实现

        几何之三角形及三角形的组合图案理论 三角形( triangle ['traɪæŋɡl])可以看成正方形对角线交叉形成的图形 若想得到编号①方向向下三角形,只需对编号②③④三角形让其透明tran ...

  7. 使用CSS3制作三角形小图标

    话不多说,直接写代码,希望能够对大家有所帮助! 1.html代码如下: <a href="#" class="usetohover"> <di ...

  8. css3实现三角形,聊天背景气泡,心形等形状

    1.聊天背景气泡: css代码如下: #talkbubble {width: 120px;margin:auto; background: red; position: relative; -moz- ...

  9. css3绘制三角形

    将div的宽和高设置为0:利用border-width.border-style.border-color属性绘制不同位置边框的样式.将不需要展示的三角颜色填充为transparent透明即可,就能得 ...

随机推荐

  1. LOADRUNNER8.1卸载

    卸载LOADRUNNER8.1后,不能正常又一次安装的问题. Loadrunner 8.1 安装1.下载Loadrunner8.1 (官方英文版) 2.安装Loadrunner8.1 3.破解:htt ...

  2. 世界最大射电望远镜(Arecibo)用于探測地外文明

    请看下图: 这是眼下世界最大口径(305米)射电望远镜的外观图,位于美国中西部的PuertoRico州,建成于1963年,工作波段在3厘米至1米波段范围内,正好适合用于探測地外文明(SETI)的科学研 ...

  3. Android Fragment详解(一):概述

    Fragment是activity的界面中的一部分或一种行为.你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment.你 ...

  4. MySQL数据库的环境及简单操作

    ***********************************************声明*************************************************** ...

  5. Win32函数Sleep的精度测试

    用了三种方法,第一种使用高精度性能计数器:第二种是使用多媒体定时器,另一种是<Windows图形编程>里提供的CPU周期来获取.推荐第一种方式测量: 先看第一种: #include < ...

  6. Java设计模式---(动态)代理模式

    代理设计模式 定义:为其他对象提供一种代理以控制对这个对象的访问. 动态代理使用 java动态代理机制以巧妙的方式实现了代理模式的设计理念. 之前虽然会用JDK的动态代理,但是有些问题却一直没有搞明白 ...

  7. Python的学习

    1.psutil的安装 [root@YQY-TIAN- ~]# wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.t ...

  8. 【转】tkinter实现的文本编辑器

    此代码是看完如下教学视频实现的,所以算是[转载]吧: 效果:                                                     代码: # -*- encodin ...

  9. 读取oracle页面或者进程卡住不动(死锁)

    oracle最坑爹的地方:你insert   update  delete之后  或者kill死锁的时候记得一定要提交事务不然就是死锁卡在那里了 记住  kill死锁也是要提交事务的 select * ...

  10. c3p0写连接池 Demo

    1.导包 2.配置文件:名称必须为:c3p0-config.xml,且必须放在src根目录下 <c3p0-config> <!-- 默认配置,有且仅可出现一次 ,如果没有指定则使用这 ...