web前端学习笔记11

11. CSS3高级特效

11.1 CSS3变形

  • CSS3变形是一些效果的集合, 如平移、旋转、缩放、倾斜效果

  • 每个效果都可以称为变形(transform),它们可以分别操控元素发生平移、旋转、缩放、倾斜等变化

  • 语法

    transform:[transform-function] ; 
    /* 设置变形函数,可以是一个,也可以是多个,中间以空格分开*/
    

11.2 变形函数

函数名称 说明
translate() 平移函数,基于X、Y坐标重新定位元素的位置
scale() 缩放函数,可以使任意元素对象尺寸发生变化
rotate() 旋转函数,取值是一个度数值
skew() 倾斜函数,取值是一个度数值
  • 浏览器的兼容性
IE Firefox Chrome Opera Safari
2D transform 9+ 3.5+ 4.0+ 10.5+ 3.1+

11.3 2D位移

  • translate 是相对于元素本身的位置进行左右,上下平移

  • 语法

    translate(tx,ty);
    
  • tx: X轴(横坐标)移动的向量长度,可以是负数

  • ty: Y轴(横坐标)移动的向量长度,可以是负数

  • 案例代码

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta
          name="viewport"
          content="width=device-width, initial-scale=1, maximum-scale=1,minimum-scale=1,user-scalable=no"
        />
        <title>translate</title>
        <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
        <link rel="stylesheet" href="css/common.css" />
        <style>
          ul {
           
            overflow: hidden;
            margin: 20px auto;
            width: 980px;
            border: 1px solid #000;
            padding: 20px;
          }
          li {
           
            float: left;
            margin-right: 10px;
          }
          a {
           
            display: block;
            background-color: #f7ae66;
            height: 40px;
            border-radius: 5px;
            line-height: 40px;
            width: 90px;
            color: #fff;
            text-align: center;
            transition: all 0.1s linear;
          }
          a:hover {
           
            background-color: rgba(242, 88, 6, 0.87);
            /* transform: translate(4px, 8px); */
            transform: translateX(4px) translateY(8px);
          }
        </style>
      </head>
      <body>
        <div class="box">
          <ul>
            <li><a href="#">服装城</a></li>
            <li><a href="#">美妆馆</a></li>
            <li><a href="#">超市</a></li>
            <li><a href="#">全球购</a></li>
            <li><a href="#">闪购</a></li>
            <li><a href="#">团购</a></li>
            <li><a href="#">拍卖</a></li>
            <li><a href="#">金融</a></li>
          </ul>
        </div>
      </body>
    </html>
    
  • 效果图

11.4 2D缩放

  • scale是元素进行缩放变形函数

  • 语法

    scale(sx,sy);
    
  • scale()函数可以只接收一个值,也可以接收两个值,只有一个值时,第二个值默认和第一个值相等

  • scaleX(sx):表示只设置X轴的缩放

  • scaleY(sy):表示只设置Y轴的缩放

  • 案例代码

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta
          name="viewport"
          content="width=device-width, initial-scale=1, maximum-scale=1,minimum-scale=1,user-scalable=no"
        />
        <title>scale</title>
        <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
        <link rel="stylesheet" href="css/common.css" />
        <style>
          ul {
           
            overflow: hidden;
            margin: 20px auto;
            width: 980px;
            border: 1px solid #000;
            padding: 20px;
          }
          li {
           
            float: left;
            margin-right: 10px;
          }
          a {
           
            display: block;
            background-color: #f7ae66;
            height: 40px;
            border-radius: 5px;
            line-height: 40px;
            width: 90px;
            color: #fff;
            text-align: center;
            transition: all 0.1s linear;
          }
          a:hover {
           
            background-color: rgba(242, 88, 6, 0.87);
            transform: scale(1.1);
          }
        </style>
      </head>
      <body>
        <div class="box">
          <ul>
            <li><a href="#">服装城</a></li>
            <li><a href="#">美妆馆</a></li>
            <li><a href="#">超市</a></li>
            <li><a href="#">全球购</a></li>
            <li><a href="#">闪购</a></li>
            <li><a href="#">团购</a></li>
            <li>
  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值