还在为小三角形切图?使用纯CSS写一个简单的三角形
同学们,当美工给的设计图是这样:

或者这样:

我的内心其实是拒绝的-_-;但工作还得干,大部分同学会写
<style>
.icon{width:20px;height:20px;display:block;margin:0 auto;background:url(...)}
</style>
<div class="con">
<div class="icon"></div>
<span>添加会计</span>
</div>
或者干脆利落
<style>
.icon img{...}
</style>
<div class="con">
<div class="icon"><img src="..."></div>
<span>添加会计</span>
</div>
这样做是可以解决问题的,但是为了这个一个小小的小尖尖,我们还要大费周章的去切(很少同学能享受到美工给制作的sprite图片),如果遇到的设计图不是分层的或者设计软件都不熟的话是很郁闷的...
其实有一种简单的方法可以搞定这种小尖尖,大家请看:
<style>
.con2{height: 50px;line-height: 50px;text-align: center;background:#ccecec;position: relative;}
.con2 i{border: 10px solid #ccecec; border-color: transparent transparent #ccecec transparent;position: absolute; top: -20px;left: 139px; }
</style>
<div class="con">
<i></i>
<span>添加会计</span>
</div>
这就涉及到border的问题,如果一个元素的宽度设为0,border-width却为大于0的数,结果是会出现一个正方形(每个边会成为一个等边直角三角形),如果设置border-color为上右下左不同的四种颜色,结果就会出现一个由四个等边三角形构成的正方形!
<style>
.test{width:0;border:50px solid ;border-color: #333 #ff0000 #ccecec #999}
</style>
<div class="test"></div>

这样大家不难想到,如果把某三个边的颜色设为透明,我们就能得到一个任意颜色的三角形了。
<style>
.test{width:0;border:50px solid ;border-color: transparent transparent #ccecec transparent}
</style>
<div class="test"></div>

然后我们将这个元素,例如<i>标签,设置定位为相对定位,调整其top和left的值,即可轻易得到一个用css写的小尖尖。
至于
这个有边框的尖尖,我给大家说一下思路:在上面实现的三角中放入一个类似的元素,我们称之为子三角,父三角的border-color设置为下面div的边框颜色,子三角的border-color设置为div的背景颜色,子三角定位(注意调整子三角位置,使其恰好露出父三角1px的边),然后调整父三角的位置,OK大功告成!
如果知道的兄台就当是看个戏,不是很熟练的同学可以自己多练练。希望多多批评指正!
还在为小三角形切图?使用纯CSS写一个简单的三角形的更多相关文章
- 【前端切图】用css画一个卡通形象-小猪佩奇
最近在腾讯云技术社区遇到了一位奇才,用css画出了一个社会人小猪佩奇,不得不服.研究了一下他的文章https://segmentfault.com/a/1190000014909658,感觉甚是有趣, ...
- 用纯css写一个常见的小三角形
.test{ margin:50px auto; width: 0; height: 0; overflow: hidden; border-width: 10px; border-color: #0 ...
- 纯CSS写三角形-border法
(1)有边框的三角形 我们来写下带边框的三角形. 如果是一个正方形,我们写边时,会用到border,但我们这里讨论的三角形本身就是border,不可能再给border添加border属性,所以我们需要 ...
- 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...
- Directx11学习笔记【十一】 画一个简单的三角形--effect框架的使用
这里不再介绍effect框架的具体使用,有关effect框架使用可参考http://www.cnblogs.com/zhangbaochong/p/5475961.html 实现的功能依然是画一个简单 ...
- 纯css写带小三角对话框
在实际样式中经常会遇到要写类似对话框的样式,而这种样式往往会有一个小三角,如下所示: 那么如何用css写出来呢,其实很简单,先让父元素相对定位,然后运用css的伪类before或after.就可以写个 ...
- Directx11教程(6) 画一个简单的三角形(2)
原文:Directx11教程(6) 画一个简单的三角形(2) 在上篇教程中,我们实现了在D3D11中画一个简单的三角形,但是,当我们改变窗口大小时候,三角形形状却随着窗口高宽比例改变而改变, ...
- Directx11教程(5) 画一个简单的三角形(1)
原文:Directx11教程(5) 画一个简单的三角形(1) 在本篇教程中,我们将通过D3D11画一个简单的三角形.在D3D11中,GPU的渲染主要通过shader来操作(当然还有一些操作 ...
- 纯 CSS 创建一个三角形
[要求]:用纯CSS创建一个三角形的原理是什么? ♪ 答: 把上.左.右三条边隐藏掉(颜色设为 transparent) [实现]: #demo { width: 0; height: 0; bord ...
随机推荐
- 告别alert,拥抱console
记得学习javascript的第一个demo就是alert("Hello World");可是学习接触javascript这么长时间了还是在alert,因为javascript调 ...
- Mac OSX操作系统安装和配置Zend Server 6教程(3)
Zend Server安装好以后,在php.ini文件中,没有默认时区.就是导致很多警告信息出现的根本. 接下来,我们看看如果修改这个文件. 首先,进入php.ini文件.此文件在目录zend/etc ...
- ylb:SQLServer常用系统函数-字符串函数、配置函数、系统统计函数
原文:ylb:SQLServer常用系统函数-字符串函数.配置函数.系统统计函数 ylbtech-SQL Server:SQL Server-SQLServer常用系统函数 -- ========== ...
- 从Http它被连接到WebSocket
1.HTTP协议长期-fi支持和各支持的浏览器 http://blog.csdn.net/fenglibing/article/details/7100222 2.WEBclient与服务端信息交互的 ...
- Java中的嵌套类和内部类
以前看<Java编程思想>的时候,看到过嵌套类跟内部类的区别,不过后来就把它们的概念给忘了吧.昨天在看<数据结构与算法分析(Java语言版)>的时候,又遇到了这个概念,当时就很 ...
- Linq无聊练习系列7----Insert,delete,update,attach操作练习
/*********************Insert,delete,update,attach操作练习**********************************/ ...
- iOS基础 - UITableView的数据源和代理
一.UITableView的代理方法 #pragma mark 每一行的高度 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtI ...
- 移动tempdb导致数据库服务不能启动
事情的起因是因为数据库的IO操作过大,于是新加了个硬盘,发现在执行写入操作的时候,服务器的压力依然是比较大的,于是想到了内存盘.内存盘是"魔方"系统优化提供的一个小工具,就是将内存 ...
- DOM事件简介
DOM事件简介--摘自ADMIN10000 Posted on 2013-12-05 09:32 ziran 阅读(76) 评论(1) 编辑 收藏 Click.touch.load.drag.chan ...
- Push Notification总结系列(二)
Push Notification系列概括: 1.Push Notification简介和证书说明及生成配置 2.Push Notification的iOS处理代码和Provider详解 3.Push ...