css三角形实现的几种方法的区别
演变:
.triangle{
height: 30px; width: 30px;
display: inline-block;
border: 30px solid; border-color: #ff0000 #00ff00 #0000ff #ffff00;
}
<span class="triangle"></span>

so,设置width,height为0,边框透明时可以实现三角形效果。
简单说来,css实现方法有三种,
先贴代码看效果:
.triangle1,.triangle2,.triangle3{ width:; height:;/*overflow:hidden;解决ie6左右向溢出问题*/ display: inline-block; border-color: #ff3300 transparent transparent transparent;}
.triangle1{
border-width: 10px; border-style: solid;
}
.triangle2{
border-width:10px; border-style: solid dashed dashed;
}
.triangle3{
border-width: 10px 10px 0; border-style: solid dashed;
}
.triangle2:hover{ border-style: dashed dashed solid dashed; }
.triangle3:hover{ border-width: 0 10px 10px 10px;}
.triangle1:hover,.triangle2:hover,.triangle3:hover{ border-color:transparent transparent #ff3300 transparent; }
.triangle11,.triangle22,.triangle33{ width:; height:; /*overflow:hidden;解决ie6左右向溢出问题*/ display: inline-block; border-color:transparent #ff3300 transparent transparent; }
.triangle11{
border-width: 10px; border-style: solid;
}
.triangle22{
border-width:10px; border-style: dashed solid dashed dashed;
}
.triangle33{
border-width: 10px 10px 10px 0; border-style: dashed solid;
}
.triangle22:hover{ border-style: dashed dashed dashed solid; }
.triangle33:hover{ border-width: 10px 0 10px 10px;}
.triangle11:hover,.triangle22:hover,.triangle33:hover{ border-color:transparent transparent transparent #ff3300; }
<div class="fz">
<span class="triangle1 trans"></span>
<span class="triangle2 trans"></span>
<span class="triangle3 trans"></span>
<span class="triangle11 trans"></span>
<span class="triangle22 trans"></span>
<span class="triangle33 trans"></span>
</div>
效果:
问题:①
ie6出现黑色部分原因是ie6浏览器不支持transparent透明属性,设置对应的透明边框的border-style属性为dotted或是dashed。(即“.triangle1”演变为“.triangle2”的下效果)
②
如果需要添加hover三角形倒转效果,由于“.triangle2”位置错误,所以应使用“.triangle3”。
③
在ie6左右向三角形出现溢出。需添加 “overflow: hidden;” 属性解决。
修改后ie6效果:
原理:


综上所述:
左右朝向ie6出现拉伸,所以注意添加“overflow:hidden” 属性。
1方法不可取,因为ie6不兼容,改solid为dashed或者dotted即变为2;
2方法在倒转的时候位置错位;
3方法可取。
css三角形实现的几种方法的区别的更多相关文章
- css隐藏元素的几种方法与区别
css隐藏元素的几种方法与区别 一:display:none;隐藏不占位 display 除了不能加入 CSS3 动画豪华大餐之外,基本效果卓越,没什么让人诟病的地方. 二:position:abso ...
- [转] 用javascript修改css伪类的几种方法
用javascript修改css伪类的几种方法: Modify pseudo element styles with JavaScript http://pankajparashar.com/post ...
- 顽石系列:CSS实现垂直居中的五种方法
顽石系列:CSS实现垂直居中的五种方法 在开发过程中,我们可能沿用或者试探性地去使用某种方法实现元素居中,但是对各种居中方法的以及使用场景很不清晰.参考的内容链接大概如下: 行内元素:https:// ...
- PHP中数组合并的两种方法及区别介绍
PHP数组合并两种方法及区别 如果是关联数组,如下: 复制代码代码如下: $a = array( 'where' => 'uid=1', 'order' => 'uid', ); $b = ...
- 执行shell脚本的几种方法及区别
执行shell脚本的几种方法及区别 http://blog.csdn.net/lanxinju/article/details/6032368 (认真看) 注意:如果涉及到脚本之间的调用一定要用 . ...
- 《Java多线程面试题》系列-创建线程的三种方法及其区别
1. 创建线程的三种方法及其区别 1.1 继承Thread类 首先,定义Thread类的子类并重写run()方法: package com.zwwhnly.springbootaction.javab ...
- jQuery中detach&&remove&&empty三种方法的区别
jQuery中empty&&remove&&detach三种方法的区别 empty():移除指定元素内部的所有内容,但不包括它本身 remove():移除指定元素内部的 ...
- 用css隐藏元素的5种方法
.green { width: 100px; height: 100px; background-color: #a0ee00; text-align: center; float: left; ma ...
- [转]-CSS 元素垂直居中的6种方法
原文地址:http://blog.zhourunsheng.com/2012/03/css-%E5%85%83%E7%B4%A0%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD ...
随机推荐
- CentOS6.5环境配置笔记
CentOS6.5环境配置笔记 一.概述 服务器系统重装,配置应用运行环境 CentOS6.5 x64 二.修改密码 重新设置登录密码 $passwd 或 $passwd root 三.配置端口号及防 ...
- 【DQ冰淇淋】—— Babylon 冰淇淋三维互动营销项目总结
前言:在学习过Babylon.js基础之后,我上手的第一个网页端3D效果制作项目就是‘DQ冰淇淋’.这个小项目应用到了Babylon最基础的知识,既可以选味道,选点心,也可以旋转.倒置冰淇淋,互动起来 ...
- opengl加载多个3ds模型失败记
VC6 下载 http://blog.csdn.net/bcbobo21cn/article/details/44200205 opengl环境配置 http://blog.csdn.net/bcbo ...
- Android世界第一个activity启动过程
Android世界第一个activity启动过程 第一次使用Markdown,感觉不错. Android系统从按下开机键一直到launcher的出现,是一个如何的过程,中间都做出了什么操作呢.带着这些 ...
- 微信小程序 - 考试前三排名实现
实现原理:利用背景图片以及nth-child实现
- Interleaving String——是否由两个string交叉、DP
Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example,Given:s1 = ...
- VirtualBox 笔记
VirtualBox 笔记p=111" target="_blank"> http://www.youi5.com/?p=111 VirtualBox 虚拟机,由I ...
- Android MarginLeft与MarginStart的差别
在写layout布局的时候,我们会发现有这样几个比較相似的属性: MarginStart MarginLeft MarginEnd MarginRight 这些属性的差别是什么? 依据ap ...
- 【7.1.1】ELK集群搭建 之 ES集群
写在前边 昨天晚上就已经完成这篇博客了,就是在测试这块是否正常跑起来,晚上没搞完,上班前把电脑关机带着,结果没保存!基本上昨天写的东西都丢了,好在博客园的图片url还在. 为了让大家都轻松些,我轻松写 ...
- linux 跟踪工具
strace工具,进程诊断.排错.跟踪系统调用和信号量 每行输出都是一个系统调用,包括函数和返回值. strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用及它所接收的 ...