我刚刚接触transform的skew属性值时一头雾水,根本不知道种东西到底是咋变的。上网查,各个网站上也只说这个使用来做扭曲变换的,具体是咋变的就是不说。。。。无奈我只好自己研究了,现把研究结果共享一下。

首先说变换的时候坐标系是咋建的,如下图(transform-origin:0px 0px;)。

既然skew(...)的括号里放的是坐标轴旋转的角度,那么接下来说一下旋转正方向的问题。y轴顺时针转为正,X轴逆时针转为正。

之后图形就可以确定了,因为两轴的位置确定了,然后用仿射变换即可确定。

方法/步骤

  1. skew属性是个比较少用到的属性,至少我用的比较少。

    用的好的话会让你的网页烨烨生辉,用不好的话,则是一大败笔。

  2. 现在就具体的介绍skew的用法:

    语法:transform:skew(<angle> [,<angle>]);

    包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜。

    skewX(<angle>);表示只在X轴(水平方向)倾斜。

    skewY(<angle>);表示只在Y轴(垂直方向)倾斜。

  3. 先放示例,效果如图:

  4. 现在我们来看参数为一个的情况:

    transform:skew(45deg);

    它等同于transform:skewX(45deg);

    可以看到demo标签向左倾斜45度,产生变形。

    之所以会产生变形的,这是因为我给元素限定了高度为300px,所以只要倾斜的角度不为180°的倍数,他都会保持着300的高度,同时为了保持倾斜,只能拉长本身。(围绕X轴倾斜,保持高度;围绕Y轴倾斜,保留宽度。)

    若倾斜解读为180的倍数,元素将不可见。

  5. 参数值为一个的第二种情况:

    transform:skewX(45deg);【这个步骤就不说了,上面以提到】

    transform:skewY(45deg);

    效果如下图

  6. 再看看参数为2个的情况:

    transform:skew(45deg,45deg);

    此时元素将不可见,但实际上它应当在我画的箭头处。

    其实根据步骤4和5可以发现,当Y轴倾斜45度后,元素有了一个45°的锐角,而此时又向X轴倾斜,于是这个锐角正好被压缩为0;于是形成了一个类似180°倍数的角。

  7. 通过修改X轴的倾斜度数为44度,可以发现元素还是会露出一部分的,跟我上面箭头画的位置存在疑点偏移。

  8. 8

    说明:目前skew无Z轴的倾斜,说不定以后会又该属性。

CSS3 transform的skew属性值图文详解的更多相关文章

  1. CSS属性:背景属性(图文详解)

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. background系列属性 常见背景属性 CSS样式中,常见的背景属性 ...

  2. CSS属性:定位属性(图文详解)

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. CSS的定位属性有三种,分别是绝对定位.相对定位.固定定位. posit ...

  3. CSS样式----CSS属性:字体属性和文本属性(图文详解)

    本文最初于2015-10-04发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 本文重要内容 CSS的单位 字体属性 文本属性 定 ...

  4. CSS基础之浮动属性float图文详解

      宏观地讲,我们的web页面的制作,是个“流”,必须从上而下,像“织毛衣”.   标准流里面的限制非常多,导致很多页面效果无法实现.如果我们现在就要并排.并且就要设置宽高,那该怎么办呢?办法是:超脱 ...

  5. <meta>标签中http-equiv属性的属性值X-UA-Compatible详解

    X-UA-Compatible是针对IE8新加的一个设置,对于IE8之外的浏览器是不识别的,这个区别与content="IE=7"在无论页面是否包含<!DOCTYPE> ...

  6. css 13-CSS3属性:Flex布局图文详解

    13-CSS3属性:Flex布局图文详解 #前言 CSS3中的 flex 属性,在布局方面做了非常大的改进,使得我们对多个元素之间的布局排列变得十分灵活,适应性非常强.其强大的伸缩性和自适应性,在网页 ...

  7. css3浏览器私有属性前缀使用详解

    什么是浏览器私有属性前缀 CSS3的浏览器私有属性前缀是一个浏览器生产商经常使用的一种方式.它暗示该CSS属性或规则尚未成为W3C标准的一部分. 以下是几种常用前缀 -webkit- -moz- -m ...

  8. HTML标签----图文详解

    国庆节快乐,还在加班的童鞋,良辰必有重谢! 本文主要内容 头标签 排版标签:<p>     <br>     <hr>     <center>     ...

  9. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

随机推荐

  1. JavaScript 自定义事件

    //自定义事件 function Event() { var handles = []; //绑定事件 this.addHandle=function(fn) { handles.push(fn); ...

  2. HDU 4087 三维上的平移缩放旋转矩阵变化

    题目大意: 就是根据它给的程序的要求,不断平移,缩放,旋转三维的点,最后计算出点的位置 这里主要是要列出三种转换方式的齐次矩阵描述 平移translate tx ty tz1 0 0 00 1 0 0 ...

  3. HDU 3336 扩展kmp

    题目大意: 找到字符串中所有和前缀字符串相同的子串的个数 对于这种前缀的问题,通常通过扩展kmp来解决 其实吧这是我第一次做扩展kmp的题目,原来确实看过这个概念,今天突然做到,所以这个扩展kmp的模 ...

  4. C语言与MATLAB接口 编程与实例 李传军编着

    罗列一下以前自己学习C语言与MATLAB混编的笔记,顺便复习一遍. <C语言与MATLAB接口 编程与实例 李传军编着>(未看完,目前看到P106) 目录P4-8 ************ ...

  5. C语言中数组的几种输入

  6. VMWare Workstation 10.0 Preview CN

    What's New in the VMware Workstation Technology Preview July 2013 The VMware Workstation team is exc ...

  7. iis提示“另一个程序正在使用此文件,进程无法访问。(异常来自HRESULT:0x80070020)

    看看IIS的网站,惊人的发现default web site是停止状态.印象中没有停止它啊.右键->管理网站->启动.点击启动后居然弹出:“另一个程序正在使用此文件,进程无法访问.(异常来 ...

  8. 从对SAE的一次授权安全评估浅谈云安全

      EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-12-20From: http://www.80sec.com/ [ 目录 ...

  9. Note_Master-Detail Application(iOS template)_04_ YJYMasterViewController.h

    //YJYMasterViewController.h #import <UIKit/UIKit.h> @classYJYDetailViewController; #import < ...

  10. hdu 2054

    Ps:WA了无数次,,简直成了心病..今天终于AC了..先取整数部分,去零,判断位数相等否,再比较.如果相等,再取小数部分,去零,比较,输出....好烦... 代码; #include "s ...