移动Web(一)

15 篇文章 0 订阅

1、字体图标iconfont使用

下载字体包:

l 登录 (新浪微博) → 选择图标库 → 选择图标,加入购物车 → 购物车 → 添加至项目 → 下载至本地--》解压到项目下--》link连接引入到网页--》<i class="iconfont icon-zhankai">引入+号</i>

使用字体图标 - Unicode编码:

l 引入样式表: iconfont.css
l 复制粘贴图标对应的Unicode编码
l 设置文字字体

使用字体图标 – 类名:
l 引入字体图标 样式表

 

l 调用图标对应的 类名,必须调用2个类名
l iconfont类:基本样式,包含字体的使用等
l icon-xxx:图标对应的类名

上传矢量图:

  • l 思考:如果图标库没有项目所需的图标怎么办?
  • l 答:IconFont网站上传矢量图生成字体图标
  • Ø 1. 与设计师沟通,得到SVG矢量图
  • Ø 2. IconFont网站上传图标,下载使用

2、平面转换概念

目标:使用 transform 属性实现元素的 位移 旋转 缩放 等效果
l 平面转换
改变盒子在平面内的形态(位移、旋转、缩放)
2D转换
目标:使用 translate 实现元素 位移 效果
transform: translate(水平移动距离, 垂直移动距离);
l 取值( 正负 均可)
像素单位数值
百分比(参照物为盒子自身尺寸)
注意:X轴正向为右,Y轴正向为下
translate()如果只给出 一个值 , 表示 x轴 方向移动距离
单独设置某个方向的移动距离: translateX() & translateY()

 

<head>
 <style>
        .father{
            width: 500px;
            height: 300px;
            margin: 100px auto;
            border: 1px solid red;
        }
        .son{
            width: 200px;
            height: 100px;
            background-color: pink;
            //图片移动速度
            transition: all 1s;
        }
        .father:hover .son{
            //图片移动方向和距离
            transform: translateY(100px);
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son"></div>
    </div>
</body>

background-position: right;设置背景图像起始位置的 CSS样式属性

使用rotate实现元素旋转效果

  • transform: rotate(角度);
  • 注意:角度单位是deg
  • 技巧:取值正负均可
  • 取值为, 则时针旋转
  • 取值为, 则时针旋转

使用transform-origin属性改变转换原点

  • 默认圆点是盒子中心点
  • transform-origin: 原点水平位置 原点垂直位置;
  • 方位名词(left、top、right、bottom、center)
  • 像素单位数值
  • 百分比(参照盒子自身尺寸计算)

  • 复合属性,先写位移,再写旋转
  • 旋转会改变网页元素的坐标轴向
  • 先写旋转,则后面的转换效果的轴向以旋转后的轴向为准,会影响转换结果

2、使用scale改变元素的尺寸

l 思考: 改变元素的width或height属性能实现吗?
transform: scale(x轴缩放倍数, y轴缩放倍数);
  一般情况下, 只为scale设置一个值, 表示x轴和y轴等比例缩放
transform: scale(缩放倍数);
scale值大于1表示放大, scale值小于1表示缩小
使用scale改变元素的尺寸
l 播放按钮
Ø 布局
Ø ::after
Ø 样式
Ø 居中
Ø 效果
Ø 缩放
Ø 透明度(opacity:0-1)

使用background-image属性实现渐变背景效果

l 渐变是多个颜色逐渐变化的视觉效果
l 一般用于设置盒子的背景

3、空间转换

  • 目标:使用transform属性实现元素在空间内的位移、旋转、缩放等效果
  • l 空间:是从坐标轴角度定义的。 x 、y 和z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同。
  • l 空间转换也叫3D转换
  • l 属性:transform
  • 必须给父元素加 perspective: 1000px;

 

transform: translate3d(x, y, z);
transform: translateX(值);
transform: translateY(值);
transform: translateZ(值);
取值( 正负 均可)
像素单位数值
百分比

4、透视

目标:使用 perspective 属性实现 透视 效果
l 思考:生活中,同一个物体,观察距离不同,视觉上有什么区别?
答:近大远小、近清楚远模糊
l 思考:默认情况下,为什么无法观察到Z轴位移效果?
答:Z轴是视线方向,移动效果应该是距离的 远或近 , 电脑屏幕是平面,默认无法观察远近效果
l 属性 (添加给父级)
Ø perspective: 值;
Ø 取值:像素单位数值, 数值一般在 800 – 1200
l 作用 Ø 空间转换时,为元素添加 近大远小、近实远虚 视觉效果

5、空间旋转

目标:使用 rotate 实现元素 空间旋转 效果
Ø rotate3d(x, y, z, 角度度数) :用来设置 自定义旋转轴的位置 及旋转的角度
Ø x,y,z 取值为0-1之间的数字

6、立体呈现

目标: 使用transform-style: preserve-3d呈现立体图形
l 思考:使用perspective透视属性能否呈现立体图形?
l 答: 不能 ,perspective只增加近大远小、近实远虚的视觉效果。
Ø 添加 transform-style: preserve-3d;
Ø 使子元素处于真正的 3d空间

7、空间缩放

目标:使用 scale 实现 空间缩放 效果
Ø transform: scaleX(倍数);
Ø transform: scaleY(倍数);
Ø transform: scaleZ(倍数);
Ø transform: scale3d(x, y, z);

8、动画

目标:使用 animation 添加 动画 效果
l 思考:过渡可以实现什么效果?
l 答:实现2个状态间的变化过程
  • l 动画效果:实现多个状态间的变化过程,动画过程可控(重复播放、最终画面、是否暂停)
  • l 动画的本质是快速切换大量图片时在人脑中形成的具有连续性的画面
  • l 构成动画的最小单元:帧或动画帧

<style>
        .box {
            width: 200px;
            height: 100px;
            background-color: pink;
            /* animation: change 1s linear; */

            /* 分步动画 */

            /* 3: 重复3次播放 */
            /* animation: change 1s steps(3) 1s 3; */

            /* 无限循环 */
            /* animation: change 1s infinite alternate; */

            /* 默认值, 动画停留在最初的状态 */
            /* animation: change 1s backwards; */

            /* 动画停留在结束状态 */
            animation: change 1s forwards;
        }

        @keyframes change {
            from {
                width: 200px;
            }
            to {
                width: 600px;
            }
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
注意:
Ø 动画名称和动画时长必须赋值
Ø 取值不分先后顺序
Ø 如果有2个时间值,第一个时间表示动画时长,第二个时间表示延迟时间

 使用steps实现逐帧动画

.box:hover {
           /* 鼠标移入的时候暂停动画 */
           animation-play-state: paused;
        }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢迅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值