CSS3向下兼容的Tip

嗨,guys,还在为上下左右的tip揪心嘛,还在使用利用图片、符号、多层关系或者border的2个三角形的重叠来实现? 既然它不完美,那就来看一下利用CSS3的transfrom的方法是否适合你。

概述:

CSS视觉格式化模型描述一个坐标系统上的每个元素位置的坐标系。定位和大小在这个坐标空间可以被认为是用像素表示,在起源点开始以向右和向下的实际值出发。transform属性可以修改此坐标空间。使用转换,元素可以被转化、旋转和扩展在二或三维空间。

重点来了~我们要用到的是transfroms的变换渲染模型:

为‘ transform ‘的属性建立一新的局部坐标系元素将它应用到指定‘ none ‘以外的值。 通过元素的变换矩阵,局部坐标系统会渲染成元素的映射 。 转换是累加的。 也就是说,元素在他们的父坐标系统建立其局部坐标系统。 从用户的角度看,一个元素有效积累所有的transform属性以适用于其祖先以及任何局部的改变。这些transform的积累为元素定义通用变换矩阵(CTM)。

EXAMPLE

  1. div {
  2. transform:translate(100px,100px);
  3. }

此变换100像素在X和Y方向移动的元素。

EXAMPLE

  1. div {
  2. height:100px;width:100px;
  3. transform:translate(80px,80px)scale(1.5,1.5)rotate(45deg);
  4. }
  5. <div style="transform: translate(80px, 80px)">
  6. <div style="transform: scale(1.5, 1.5)">
  7. <div style="transform: rotate(45deg)"></div>
  8. </div>
  9. </div>

此变换移动80像素元素在X和Y方向,然后由150%尺度的元素,那么它的Z轴顺时针旋转45°。 需要注意的规模和旋转操作元素的中心,因为该元素具有“改造来源的50% 50%的默认。需要注意的是相同的渲染,可以由嵌套元素的等效变换得到。

ok 书归正传,Tip来了,总共分为两步:

1.我们要创建一个有border的四方形,用CSS3 transfrom 作 45 度旋转。

2.IE的实现-利用 IE 的 matrix filter 实现 css3 transfrom 的兼容方案。

EXAMPLE

  1. .tips {
  2. width:200px;
  3. position:relative;
  4. padding:10px;
  5. border:1pxsolid blue;
  6. background-color:skyBlue;
  7. border-radius:5px;
  8. }
  9. .diamond{
  10. -ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865475, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865475, SizingMethod=‘auto expand‘)";
  11. filter:progid:DXImageTransform.Microsoft.Matrix(
  12. M11=0.7071067811865475,
  13. M12=-0.7071067811865477,
  14. M21=0.7071067811865477,
  15. M22=0.7071067811865475,
  16. SizingMethod=‘auto expand‘
  17. );
  18. -moz-transform:rotate(45deg);
  19. -o-transform:rotate(45deg);
  20. -webkit-transform:rotate(45deg);
  21. -ms-transform:rotate(45deg);
  22. transform:rotate(45deg);
  23. position:absolute;
  24. width:10px;
  25. height:10px;
  26. background-color:skyBlue;
  27. display:block;
  28. font-size:0;
  29. }
  30. :root .diamond{filter:none\9;}/*ie9 hack*/
  31. .tip-top{
  32. border-top:1pxsolid blue;
  33. border-left:1pxsolid blue;
  34. left:10px;
  35. top:-6px;
  36. }
  37. .tip-left{
  38. border-bottom:1pxsolid blue;
  39. border-left:1pxsolid blue;
  40. left:-6px;
  41. top:20px;
  42. }
  43. .tip-bottom{
  44. border-bottom:1pxsolid blue;
  45. border-right:1pxsolid blue;
  46. left:10px;
  47. bottom:-6px;
  48. }
  49. .tip-right{
  50. border-top:1pxsolid blue;
  51. border-right:1pxsolid blue;
  52. right:-6px;
  53. top:20px;
  54. }
  55. <div class="tips">
  56. <i class="diamond tip-top"></i>
  57. <i class="diamond tip-bottom"></i>
  58. <i class="diamond tip-left"></i>
  59. <i class="diamond tip-right"></i>
  60. <div class="text"></div>
  61. </div>

参考阅读: http://www.w3.org/TR/2012/WD-css3-transforms-20120403

时间: 2024-10-13 07:19:38

CSS3向下兼容的Tip的相关文章

小tip:CSS3下的渐变文字效果实现——张鑫旭

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1601 一.方法一:借助mask-image属性 可以狠狠地点击这里:CSS3下的渐变文字效果方法一demo 如果您手头上的浏览器是Chrome或是Safari,则您可以在demo页面中看到类似下面的效果: 相应的HTML代码如下: <h2 class="text-gradient" data-text=

小tip: CSS3如何实现圆角的outline效果?

by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=4765 一.首先,outline是个很牛逼的东西 温故而知鑫,10年的时候写过一篇可用性方面的文章:"页面可用性之outline轮廓外框的一些研究",还算挺有用的:3年之后,也就是13年,介绍了个没什么使用价值的东西:"纯CSS实现的outline切换transition动画效果". 个把星

CSS3仿LOGO图片阴影特效

又一个CSS3阴影效果,个人感觉CSS3的阴影比传统的CSS滤镜实现的阴影更生动,阴影可以是无规则的,而且阴影的大小也是随时变化的,本例子就是用CSs3写成一个Logo,然后再加以阴影特效,重点不是展示阴影效果有多漂亮,而是如何去实现这种CSS3效果. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transit

css3 animation动画对应属性解释

animation Value:     [<animation-name> || <animation-duration> || <animation-timing-function> || <animation-delay> || <animation-iteration-count> || <animation-direction> || <animation-fill-mode>] [, [<animatio

js+css3实现一双转动的眼睛-------Day68

在最开始思考这个小应用的时候,我想当然的认为,这可以跟钟表一样,只要获取转动的角度就好了,当然实际上我也是如此实现的,但是中间还是有些地方是我所没有想到的,然后我就又学到了好多东西... 先来考虑下,如果想要实现一双可以跟随鼠标转动的眼睛,我们需要做到哪些? 1.用样式描绘一双眼睛,额,其实图片也可以: 2.获取鼠标所在位置: 3.根据鼠标所在位置,确定眼睛所在的div偏转的角度: 想起来确实很容易,只要实现以上三点我就可以得到想要的目的了,前两个在前面都有所涉及,而第三点则就成了本次的一大亮点

CSS3之flex兼容写法

很久不写博文,之前的长时间不上都关闭了,但随着工作时间长越来越长,对知识的积累和总结还真的是很重要的.所以奉劝码农们每天都还是要抽出来一点时间总结点东西,以后对你受益匪浅!!今天还是变谈CSS3里的flex怎么处理兼容的 flex是个非常好用的属性,如果说有什么可以完全代替 float 和 position ,那么肯定是非它莫属了,虽然现在低版本浏览器不支持,可是对于移动来说兼容性不是问题,可是在安卓4.3以后版本里.那就不好用了,今天咱们就说下如果写flex才能保证兼容性. flex之所以有兼

《CSS3实战》笔记--选择器(二)

通过阅读和学习书籍<CSS3实战>总结 <CSS3实战>/成林著.-北京机械工业出版社2011. UI元素状态伪类选择器 ??UI元素的状态一般包括:可用.不可用.选中.未选中.获取焦点.失去焦点.锁定.待机等. 表单设计原则: ??UI设计的一个核心就是让表单更可用.易用和好用.表单设计应该符合三层模型,即表单应该具有三种属性:感知(页面显示的布局).对话(内容呈现的问题和回答).关系(交互的任务结构). ???????? 实战体验一:设计可用的表单 ??设计并实现简洁.美观.可

用css3实现各种图标效果

原文:用css3实现各种图标效果 公共样式 应该说现在绝大多数公司的项目前端都是一团乱,不仅仅是js写的没有任何框架而言,css同样也是如此,导致项目如果要升级或者说有新的变更维护起来就特别困难. 最近领导决定花大时间整理一下css样式,用他的一句话来说就是为后来者造福. 首先我们在整理样式之前,必须得有一个自己团队的规范. 思考真的很重要,所谓的磨刀不误砍柴工,事实上也就是说你在做任何事情之前都要把大致的流程,大致的思路想清楚之后再动手,否则就可能做到一半发现这样不对,然后前面的工夫全白费了,

小K的H5之旅-HTML5与CSS3部分新属性浅见

一.HTML部分 1.HTML5新特点 向下兼容.用户至上.化繁为简.无插件范式.访问通用性.引入语义.引入原生媒体支持.引入可编程内容 2.HTML5标签语法 可以省略的元素:空元素语法的元素{br} ;可以省略结束标签的元素 {p,li,h}:可以全部省略标签的元素 {html,head,body}   >>>尽量不用!! 具有boolean值的属性:属性名=属性值 >>> 可以只写属性名 属性值的引号可省略:具有多个属性值的不能省 3.HTML新增结构标签(变形的