pure css draw a triangle

code { display: inline-block; width: 300px; background-color: #E0E0E0 }
.text_intent { text-indent: 38px }
.d1 { width: 200px; height: 200px; border-top: 10px solid yellow; border-left: 10px solid purple; border-bottom: 10px solid blue; border-right: 10px solid pink }
.d2 { width: 0; height: 200px; border-top: 10px solid yellow; border-left: 10px solid purple; border-bottom: 10px solid blue; border-right: 10px solid pink }
.d3 { width: 0; height: 0; border-top: 10px solid yellow; border-left: 10px solid purple; border-bottom: 10px solid blue; border-right: 10px solid pink }
.d4 { width: 0; height: 0; border-top: 10px solid transparent; border-left: 10px solid transparent; border-bottom: 10px solid transparent; border-right: 10px solid pink }
.d5 { width: 0; height: 0; border-top: 10px solid yellow; border-left: 10px solid transparent; border-bottom: 10px solid transparent; border-right: 10px solid transparent }
.d6 { width: 0; height: 0; border-top: 10px solid transparent; border-left: 10px solid purple; border-bottom: 10px solid transparent; border-right: 10px solid transparent }
.d7 { width: 0; height: 0; border-top: 10px solid transparent; border-left: 10px solid transparent; border-bottom: 10px solid blue; border-right: 10px solid transparent }

我们有这样一个边框

.d1 {

width: 200px;

height: 200px;

border-top: 10px solid yellow;

border-left: 10px solid purple;

border-bottom: 10px solid blue;

border-right: 10px solid pink;

}

 

关键在于width的宽度高度必须设置为0四个角度的边框就会相互挤压

.d2 {

width: 0;

height: 200px;

border-top: 10px solid yellow;

border-left: 10px solid purple;

border-bottom: 10px solid blue;

border-right: 10px solid pink;

}

 

第三步:吧height改成0或者不设置也可以,会看到三角形啦,然后怎么只显示一个三角形呢?

.d3 {

width: 0;

/*height: 200px;*/

border-top: 10px solid yellow;

border-left: 10px solid purple;

border-bottom: 10px solid blue;

border-right: 10px solid pink;

}

 

第四步:还记得border的transparent透明属性么

.d4 {

width: 0;

/*height: 200px;*/

border-top: 10px solid transparent;

border-left: 10px solid transparent;

border-bottom: 10px solid transparent;

border-right: 10px solid pink;

}

 

.d5 {

width: 0;

/*height: 200px;*/

border-top: 10px solid yellow;

border-left: 10px solid transparent;

border-bottom: 10px solid transparent;

border-right: 10px solid transparent;

}

 

.d6 {

width: 0;

/*height: 200px;*/

border-top: 10px solid transparent;

border-left: 10px solid purple;

border-bottom: 10px solid transparent;

border-right: 10px solid transparent;

}

 

.d7 {

width: 0;

/*height: 200px;*/

border-top: 10px solid transparent;

border-left: 10px solid transparent;

border-bottom: 10px solid blue;

border-right: 10px solid transparent;

}

 

关于画其他三角形,总结一句话:左边中,上中,右右,下下,意思就是,左边的三角形变大会往中间挤压,上面的额也是,右边的变大往右边挤压,下面的变大往下挤压

理解纯CSS画三角形的更多相关文章

  1. 纯css画三角形

    纯css画三角形与border元素相关 设置border的属性 width: 100px; height: 100px; border-style: solid; border-width: 100p ...

  2. 纯css画三角形,勾等形状

    //三角形 .money-ul li.active:after { content: ""; position: absolute; bottom: 0; right: 0; bo ...

  3. 纯CSS画三角形(带边框)

    实例一: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  4. 用纯css画个三角形

    用纯css画个三角形以下是源代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  5. CSS 魔法系列:纯 CSS 绘制三角形(各种角度)

    我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...

  6. 三种纯CSS实现三角形的方法

    看到像上图这样的 tip 的小三角,你会怎么办? 切个图上去?恩,不错,简单,兼容性也一级棒,不但好控制,那点小东西也增加不了多少图片的大小.但有没有更好更讲究技巧的办法呢?哈哈,那必须有啊,而且还不 ...

  7. 纯 CSS 实现三角形尖角箭头的实例

    上次无意中发现了个使用纯 CSS 实现三角形尖角箭头的方法 http://blog.csdn.net/zhouzme/article/details/18901943 ,但没有怎么用上,也没有详细完整 ...

  8. CSS学习笔记(8)--纯CSS绘制三角形(各种角度)

    纯CSS绘制三角形(各种角度) CSS三角形绘制方法,学会了这个,其它的也就简单.   我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多 ...

  9. css画三角形原理解析

    <div id="div1"></div><div id="div2"></div><div id=&qu ...

随机推荐

  1. fiddler安装及配置+利用fiddler进行简单抓包(wawayaya阅读)

    1.工欲善其事必先利其器,fiddler安装 https://www.telerik.com/fiddler 2.安装exe(无脑下一步) 3.安装成功后配置fiddler(因为启动fiddler时链 ...

  2. C++雾中风景4:多态引出的困惑,对象的拷贝?

    C++作为一门面向对象的语言,自然具备了面向对象的三大特征:封装,继承,多态.在学习多态性质的过程中,发现了C++与其他语言很大的区别(坑?).在C++中的=操作符的使用与C++呈现的内存模型似乎并不 ...

  3. Netty4 学习笔记之二:客户端与服务端心跳 demo

    前言 在上一篇Netty demo 中,了解了Netty中的客户端和服务端之间的通信.这篇则介绍Netty中的心跳. 之前在Mina 中心跳的使用是通过继承 KeepAliveMessageFacto ...

  4. 调参过程中的参数 学习率,权重衰减,冲量(learning_rate , weight_decay , momentum)

    无论是深度学习还是机器学习,大多情况下训练中都会遇到这几个参数,今天依据我自己的理解具体的总结一下,可能会存在错误,还请指正. learning_rate , weight_decay , momen ...

  5. Mybatis框架解析之Builder解析

    首先我们从builder这个类入手,首先我们注意到BaseBuilder,其实它的本质上市一个抽象类,它从本质上抽象出了Builder的一切,我猜想这里一定使用了建造者模式,但是这个抽象类里面居然没有 ...

  6. 响应式框架Bootstrap栅格系统

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

  7. Azure ARM (19) 将传统的ASM VM迁移到ARM VM (2)

    <Windows Azure Platform 系列文章目录> 因为我们在上一节中: Azure ARM (18) 将传统的ASM VM迁移到ARM VM (1) 已经创建了Azure V ...

  8. 从无到有<前端异常监控系统>落地

    导火索 有一天一个测试同事的一个移动端页面白屏了,看样子是页面哪里报错了.  我自己打开页面并没有报错,最后发现报错只存在于他的手机,移动端项目又是在微信环境下,调试起来会比较麻烦,最后用他手机调试才 ...

  9. STL之容器适配器stack的实现框架

    说明:本文仅供学习交流,转载请标明出处,欢迎转载! 一提到适配器(adapter).我们就想到了早期用电话线上网所用的调制解调器,俗称"猫"."猫"的作用是实现 ...

  10. UVA 10465 Homer Simpson(全然背包: 二维目标条件)

    UVA 10465 Homer Simpson(全然背包: 二维目标条件) http://uva.onlinejudge.org/index.php? option=com_onlinejudge&a ...