|
一、箭头产生的原理- #demo12 {
- border: 100px solid;
- border-color:green blue orange red;
- height:100px;
- }
复制代码
第一步:设置一个div,然后给他设置样式:边框100px,上右下左颜色分别为绿、蓝、橘、红。然后设置div的高度和长度均为100px。
效果图如下:
第二步:我们可以看到中间一个正方形,就是我们设置的长和框:100px*100px。假如把width和height都设置成0的话,会有什么样的情景呢?
content拿掉后,其实就是变成一个点了,然后就变成下图了:
第三步:三角形是不是有了?而且还有四个,这时我们只需要取其中想要的任意一个方向的三角形即可。
比如我们要取绿色的三角形。看好了,一句话就出来了:
将上面的代码修改一行代码:
- border-color:green transparent transparent transparent;
复制代码
同理,如果你要取蓝色的、橘色的、红色的,改变第一个颜色值即可。
除了获取上面三角形以外,我们还可以获取上面每个三角形的一半,也就是一个小的三角形(left或right):
这时,我们再加一行代码即可获取:
- #demo12 {
- border: 100px solid;
- border-color:green transparent transparent transparent;
- border-left:transparent; 0px;
- height:0px;
- }
复制代码
加上border-left:transparent;后,我们可以获取right的部分,结果如下:
同理,要获取left部分,可以设置border-right:transparent;
二 、箭头在实际应用中的使用和实现
㈠一个梯形
当元素宽、高和边框的宽相近(等)时,改变某一边的颜色可以看到一个梯形:
效果图:
㈡三角形
当元素宽、高为零,且其他边为透明颜色时,可以形一个三角形:
效果图:
㈢任意角度三角形
改变各个边的宽度,即通过调整“边框”厚度可以配置出任意角度:
效果图:
㈣三角形跟矩形组合成提示框
效果图:
㈤三角线分割的 Tab 页
效果图:
㈥一个向右的箭头
我们将top、right、bottom均设置为透明色即可获得。
- #demo12 {
- border: 10px solid;
- border-color:transparent transparent transparent orange;
- 0px;
- height:0px;
- }
复制代码
效果图:
㈦我们从上面的四个三角形中,把bottom的三角形去掉即可,也就是把bottom的三角形设置为透明色:
- #demo13 {
- border: 50px solid;
- border-color:orange orange transparent orange;
- 0px;
- height:0px;
- }
复制代码
效果图:
㈧两个向右的三角形叠加而成
设置2个div,其中一个相对定位,另外一个绝对定位,这样就可以控制两个div的位置了。
然后获取2个div的右向箭头即可。talk is cheap,show me the code!
- .demo14{
- border: 50px solid;
- border-color:transparent transparent transparent orange;
- 0px;
- height:0px;
- }
- .demo12 {
- position:relative;
- float:left;
- }
- .demo13 {
- position:absoulte;
- margin-top:-52px;
- }
复制代码
效果图:
参考:https://www.cnblogs.com/skyflask/p/8877713.html
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|