资讯专栏INFORMATION COLUMN

CSS之2D转换模块

andot / 1496人阅读

摘要:转换模块参考手册属性向元素应用从或转换。该属性允许我们对元素进行旋转缩放移动或者倾斜。不设置透视注意属性只能影响转换元素综合实例一模块转换扑克练习模块转换扑克练习综合实例二相片墙转换模块照片墙转换模块照片墙

CSS 2D转换模块

transform

参考W3手册

transform 属性向元素应用从2D 或3D转换。该属性允许我们对元素进行旋转、缩放、移动或者倾斜。

  • 格式:
    transform: none|transform-functions;
  • 常用取值:
    • 旋转 rotate
      transform: rotate(45deg);
      /*其中deg是单位, 代表多少度*/
    • 平移 translate
      transform: translate(100px, 0px);
      /*
      第一个参数:水平方向
      第二个参数:垂直方向
      */
    • 缩放 scale
      transform: scale(1.5);
      /*transform: scale(0.5, 0.5);*/
      
      /*
      第一个参数:水平方向
      第二个参数:垂直方向
      注意点:
      如果取值是1, 代表不变
      如果取值大于1, 代表需要放大
      如果取值小于1, 代表需要缩小
      如果水平和垂直缩放都一样, 那么可以简写为一个参数
      */
    • 综合转换连写格式
      transform: rotate(45deg) translate(100px, 0px) scale(1.5, 1.5);
      /*
      注意点:
      1.如果需要进行多个转换, 那么用空格隔开
      2.2D的转换模块会修改元素的坐标系, 所以旋转之后再平移就不是水平平移的
      */

默认情况下所有元素都是围绕Z轴进行旋转,如果想围绕哪个轴旋转,那么只需要在rotate后面加上哪个轴即可。如:

transform: rotateZ(45deg);

transform: rotateX(45deg);

transform: rotateY(45deg);

transform-origin

transform-origin 属性用于改变被转换元素的位置

2D转换元素能够改变元素的X和Y轴。3D转换元素还能改变其Z轴

  • 格式:
    transform-origin: left top;
  • 取值:
    /*具体像素*/
    transform-origin: 200px 0px;
    
    /*百分比*/
    transform-origin: 50% 50%;
    
    /*特殊关键字*/
    transform-origin: left top;

默认情况下所有的元素都是以自己的中心点作为参考来旋转的, 我们可以通过形变中心点属性来修改它的参考点

perspective

perspective 属性定义3D元素距视图的距离,以像素计,该属性允许改变3D元素查看3D元素的视图

当为元素定义perspective属性时,其子元素会获得透视效果,而不是元素本身

  • 格式:
    perspective: number|none;
    
    /*
    number  元素距离视图的距离,以像素计
    none    默认值。与0相同。不设置透视
    */
  • 注意:perspective 属性只能影响3D转换元素

综合实例一

2D模块转换扑克练习

DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>2D模块转换扑克练习title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 310px;
            height: 418px;
            border: 1px solid gold;
            margin: 100px auto;
            background-color: #afcced;
            perspective: 400px;
        }
        div img{
            transition: transform 1.2s;
            transform-origin: center bottom;
        }
        div:hover img{
            transform: rotateX(80deg);
        }
    style>
head>
<body>
<div>
    <img src="img/pk.png" alt="">
div>
body>
html>

综合实例二(相片墙)

2D转换模块-照片墙

DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>2D转换模块-照片墙title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            height: 400px;
            margin: 100px auto;
            background-color: cornflowerblue;
            text-align: center;
            border: 1px solid #000;
        }
        ul li{
            list-style: none;
            margin-top: 100px;
            height: 200px;
            width: 150px;
            display: inline-block;
            background-color: red;
            border: 5px solid white;
            transition: transform 1s;
            box-shadow: 2px 2px 2px;
            position: relative;
        }
        ul li:nth-child(1){
            transform: rotate(30deg);
        }
        ul li:nth-child(2){
            transform: rotate(-40deg);
        }
        ul li:nth-child(3){
            transform: rotate(15deg);
        }
        ul li:nth-child(4){
            transform: rotate(60deg);
        }
        ul li:nth-child(5){
            transform: rotate(-25deg);
        }
        ul li:nth-child(6){
            transform: rotate(10deg);
        }
        ul li img{
            width: 150px;
            height: 200px;
        }
        ul li:hover {
            transform: scale(1.6);
            z-index: 999;
        }
    style>
head>
<body>
<ul>
    <li><img src="img/1.jpg" alt="">li>
    <li><img src="img/2.jpg" alt="">li>
    <li><img src="img/3.jpg" alt="">li>
    <li><img src="img/4.jpg" alt="">li>
    <li><img src="img/5.jpg" alt="">li>
    <li><img src="img/6.jpg" alt="">li>
ul>
body>
html>

 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/1641.html

相关文章

  • WebKit 技术内幕浏览器与WebKit内核

    摘要:微信公众号爱写的阿拉斯加如有问题或建议,请后台留言,我会尽力解决你的问题。而技术内幕是基于的项目的讲解。有兴趣的朋友可以扫下方二维码公众号爱写的阿拉斯加分享开发相关的技术文章,热点资源,全栈程序员的成长之路和大家一起交流成长。 微信公众号:爱写bugger的阿拉斯加如有问题或建议,请后台留言,我会尽力解决你的问题。 前言 此文章是我最近在看的【WebKit 技术内幕】一书的一些理解和做...

    jindong 评论0 收藏0
  • 前端面试CSS3新特性

    摘要:和这三个特性是新增的和动画相关的特性。使用方式如下和变换类型可以有各种变换类型,即属性值定义不进行转换。设置列之间的宽度样式和颜色规则和和用户界面中,新的用户界面特性包括重设元素尺寸盒尺寸以及轮廓等。 除了html5的新特性,CSS3的新特性也是面试中经常被问到的。 选择器 CSS3中新添加了很多选择器,解决了很多之前需要用javascript才能解决的布局问题。 element1~...

    glumes 评论0 收藏0
  • TWaver可视化编辑器的前世今生(三)Doodle

    摘要:随着越来越多的商业项目采用了和,可视化的概念也越来越深入人心。深知一款优秀的编辑器工具,将大幅减少工程师和项目实施人员的工作量,就像编辑器在内部使用时一样。的发布,标志着已经形成了内部使用,客户定制,标准化产品三位一体的编辑器解决方案。 插播一则广告(长期有效) MONO哥需要在武汉招JavaScript工程师若干要求:对前端技术(JavasScript、HTML、CSS),对可视化技...

    DevWiki 评论0 收藏0
  • CSS3学习笔记

    摘要:在动画过程中,您能够多次改变这套样式。以百分比来规定改变发生的时间,或者通过关键词和,等价于和。为了获得最佳的浏览器支持,您应该始终定义和选择器。注释请使用动画属性来控制动画的外观,同时将动画与选择器绑定。CSS3 被划分为模块 其中最重要的 CSS3 新增实用模块包括: 背景和边框 文本效果 2D/3D 转换 动画 多列布局 用户界面 CSS3 边框:   用于创建圆角 border...

    wenshi11019 评论0 收藏0

发表评论

0条评论

andot

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<