利用CSS3画三角形(另附百度笔试题)
来源:互联网 发布:mac下安装mysql 编辑:程序博客网 时间:2024/05/22 06:25
一、原理
CSS3画三角形的原理十分简单,利用到的属性无非几种:width、height、content、border。
拿一个矩形举例:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>#pentagon {width: 0;height: 0;content: '';border: 50px solid red;}</style></head><body><div id='pentagon'></div></body></html>显示效果:
问题来了:为什么我已经将矩形的宽高和内容都置空了,仍然会有矩形出现呢?
答案是:你所看到的矩形是由四个实心边框组合起来的。
不信你看下面:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>#pentagon {width: 0;height: 0;content: '';border: 50px solid red;border-top: 50px solid transparent;}</style></head><body><div id='pentagon'></div></body></html>显示效果:
我所做的修改是:加了顶部边框的样式,将顶部边框设置为透明。
看到这里,大家应该明白了吧,在矩形的宽高都是0的时候,矩形的实心边框都挤在了一起,在每两条边相接的部分二者等分,这样就造成了四个三角形组合为一个矩形的效果,自热而然,如果将其它三个三角形设置为透明色,那么剩下的一个就是被人眼所看见的三角形了。
二、百度笔试题
题目不用描述了,就是去让你用CSS去搞定这样一个图案。不多说,先上菜:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>#ghostlpx{ width: 100px; height: 100px; border:2px solid #000; position: relative; margin-right: 10px; } #ghostlpx:before,#ghostlpx:after{ content: ' '; position: absolute; left: 100%; border: solid transparent; } #ghostlpx:after{ width: 0px; height: 0px; top:20px; border-width: 10px; border-left: 10px solid #fff; } #ghostlpx:before{ width: 0px; height: 0px; top:18px; border-width: 12px; border-left: 12px solid #000; } </style></head><body><div id='ghostlpx'></div></body></html>那个凸出来的三角框其实是用两个三角形叠加出来的,用before伪类去实现底部的黑色不透明三角形,用after伪类去实现before上部的透明三角形,利用after去遮盖before,未遮盖的部分即为你所看到的三角形边框。
三、利用三角形实现箭头
了解了三角形的实现原理,那么五角星、六边形...n边形你依然不会实现,自行百度去吧,一搜一大堆。我想给大家贴一个我项目里实现过的一个箭头形状,很简单,也很常用。代码如下:<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style> #pentagon { position: relative; width: 100px; height: 4px; margin: 10px 0; background: rgb(204,204,204);} #pentagon:after { content: ""; position: absolute; top: -8px; left: 100px; height: 0; width: 0; border-width: 10px; border-style: solid; border-color: transparent transparent transparent rgb(204,204,204); }</style></head><body><div id='pentagon'></div></body></html>效果图:
--END--
阅读全文
0 0
- 利用CSS3画三角形(另附百度笔试题)
- 百度前端笔试题 css3画三角形
- 百度笔试-寻找三角形
- 3--百度2017春招笔试真题编程题集合--寻找三角形 (Python)
- 百度20050/6/07近三年的笔试题(附答案)
- 用css3画三角形
- CSS3画三角形
- 【前端攻城狮之路】手把手教你用CSS画三角形(百度15前端研发笔试卷)
- 百度招聘笔试考试题-附面试经验
- 【笔试练习】百度笔试题(一)
- .net笔试题(三附答案)
- .net笔试题(四附答案)
- .net 笔试题(五附答案)
- Oracle数据库笔试题(附答案)
- Oracle数据库笔试题(附答案)
- 微软笔试题(附答案)
- 绿盟笔试题(附答案)
- 联想笔试题(附简单答案)
- 网站架构 发展
- 技术博客四:用Listview显示列表
- jquery框架方法事件大全
- 奇异值分解(SVD)原理详解及推导
- FFMpeg详细简介
- 利用CSS3画三角形(另附百度笔试题)
- 数据结构-排序问题之冒泡排序
- TCP定时器
- JQuery URL 传参乱码
- RawMeterial知识点总结
- opencv中序列图像相加
- 一个简单的存储过程
- Hudson持续集成
- 初来乍到