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 ...
随机推荐
- ubuntu git 下添加 ssh
1 ssh-keygen 产生公钥和私钥 2 cat ~/.ssh/id_rsa.pub 复制出对应的公钥, 3 拷贝到git上的ssh-key里,注意拷贝时,换行处可能会引起错误,要把换行处的空格 ...
- 对ps4 cmask fmask的理解
这俩都是绑在corlor target上8x8的格子 cmask 做fastclear 这个比较好理解,8x8来表示这个格子是否clear fmask msaa用 provided to suppor ...
- HTML5 Canvas 绘制六叶草
注意: context.arc(横坐标,纵坐标,弧半径,起始角度,终止角度,逆顺时针);这个函数挺难用,主要原因是最后参数和角度的关系.不管文档怎么说,按我的实际经验,逆顺时针=false时,是逆时针 ...
- 未经处理的异常在 System.Data.dll 中发生。其它信息:在应使用条件的上下文(在 '***' 附近)中指定了非布尔类型的表达式。
机房收费系统中,有些人在联合查询这个模块用的是存储过程.我先尝试着在数据库中建立了一个视图.然后在UI层做个推断并生成查询条件strCondition. 在机房收费系统的"联合查询" ...
- JAVA Eclipse创建Android程序如何实现MainActivity和Fragment相互传递数据
最简单的方法是直接强制生成一个MainActivity的实例,然后可以执行其中的方法,当然也是可以传递参数的 更加复杂的用法可以参考: http://blog.csdn.net/huangyabin0 ...
- SqlServer 垂直分表
当单表数据太多时.我们能够水平划分,參考 SqlServer 分区视图实现水平分表 ,水平划分能够提高表的一些性能. 而 垂直分表 则相对非常少见到和用到,由于这可能是数据库设计上的问题了.假设数据库 ...
- vue.js+koa2项目实战(一)创建项目和elementUI配置
前端采用vuex+element-ui: 后端采用koa2+restfulAPI+sequlize: (一)项目介绍 宠物社区 1.社区 2.好友 3.说说 4.宠粮 5.健康 (二)项目框架 1.V ...
- UNP学习笔记(第四章 基本TCP套接字编程)
本章讲解编写一个完整的TCP客户/服务器程序所需要的基本套接字函数. socket函数 #include <sys/socket.h> int socket(int family,int ...
- 获取服务器classes根路径
/** * 获取web应用路径 * @Description : 方法描述 * @Method_Name : getRootPath * @return * @return : String * @C ...
- iOS 依据文本内容为TextView动态定义高度
解决方式: 1.定义一个textview,在storyboard中设定该textview的constraints. 2.将高度的constraint定义到头文件里:(直接拖拽) @property ( ...