移动Web

news2025/1/21 6:27:59

her~~llo,我是你们的好朋友Lyle,是名梦想成为计算机大佬的男人!

博客是为了记录自我的学习历程,加强记忆方便复习,如有不足之处还望多多包涵!非常欢迎大家的批评指正。

目录

一、字体图标

1.1 使用字体图标-Unicode编码:

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

二、平面转换

2.1 位移

2.1.1 绝对定位居中

2.1.2 双开门

2.2 旋转

2.2.1转换原点

2.3 多重转换

2.4 缩放

三、渐变

四、空间转换(配合透视效果好)

4.1 空间位移

4.2 透视

4.3 空间旋转

4.4 立体呈现

3D导航

4.5 空间缩放

五、动画

动画属性


一、字体图标

目标:使用字体图标技巧实现网页中简洁的图标效果

字体图标

  • 字体图标展示的是图标,本质是字体。
  • 处理简单的、颜色单一的图片

字体图标的优点:

  • 灵活性:灵活地修改样式,例如:尺寸、颜色等
  • 轻量级:体积小、渲染快、降低服务器请求次数
  • 兼容性:几乎兼容所有主流浏览器
  • 使用方便:   1.下载字体包       2.使用字体图标

图标库lconfont:iconfont

下载字体包:登录→选择图标库→选择图标,加入购物车→购物车→添加至项目→下载至本地

1.1 使用字体图标-Unicode编码:

①引入样式表:iconfont.css

<link rel="stylesheet" href="iconfont.css" />

②复制粘贴图标对应的Unicode编码

③设置文字字体

<style>
    span{
        font-family: 'iconfont';
    }
</style>

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

①引入字体图标样式表

②调用图标对应的类名,必须调用2个类名

  • iconfont类:基本样式,包含字体的使用等
  • icon-xxx:图标对应的类名
<span class="iconfont icon-quanbu"></span>

二、平面转换

目标:使用transform属性实现元素的位移、旋转、缩放等效果

平面转换

  • 改变盒子在平面内的形态(位移、旋转、缩放)
  • 2D转换

平面转换属性

  • transform

语法:

transform: translate(水平移动距离, 垂直移动距离);

取值(正负均可):

  • 像素单位数值
  • 百分比(参照物为盒子自身尺寸)

注意:X轴正向为右,Y轴正向为下

技巧:

  • translate()如果只给出一个值, 表示x轴方向移动距离
  • 单独设置某个方向的移动距离:translateX() & translateY()

2.1 位移

2.1.1 绝对定位居中

核心代码:

div {
    background-color: #000;
    position: absolute;
    width: 200px;
    height: 100px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

原理:

位移取值为百分比数值,参照盒子自身尺寸计算移动距离

2.1.2 双开门

核心代码:

        .box {
            width: 1366px;
            height: 600px;
            margin: 0 auto;
            background: url('C:\\Users\\13792\\Desktop\\bg.jpg');
            overflow: hidden;
        }
        .box::after,.box::before
        {
            float: left;
            content: '';
            width: 50%;
            height: 600px;
            background-image: url(C:\\Users\\13792\\Desktop\\fm.jpg);
        }
        .box::after{
            background-position: right;
        }
        .box:hover::after{
            transition: 1s;
            transform: translate(100%);
        }
        .box:hover::before{
            transition: 1s;
            transform: translate(-100%);
        }
background-position:right;
  • left:向左侧移动自身宽度
  • right:向右侧移动自身宽度

2.2 旋转

目标:使用rotate实现元素旋转效果

语法:

transform: rotate(角度);

注意:角度单位是deg

取值:正负均可

技巧:

  • 取值为正, 则顺时针旋转
  • 取值为负, 则逆时针旋转

2.2.1转换原点

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

语法:

  • 默认圆点是盒子中心点
  • transform-origin: 原点水平位置原点垂直位置;

取值:

  • 方位名词(left、top、right、bottom、center)
  • 像素单位数值
  • 百分比(参照盒子自身尺寸计算)

2.3 多重转换

目标:使用transform复合属性实现多形态转换

transform: translate() rotate();

多重转换原理

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

2.4 缩放

目标:使用scale改变元素的尺寸

思考:改变元素的width或height属性能实现吗?

语法:

transform: scale(x轴缩放倍数,y轴缩放倍数);

技巧:

  • 一般情况下, 只为scale设置一个值, 表示x轴和y轴等比例缩放
  • transform:scale(缩放倍数);
  • scale值大于1表示放大, scale值小于1表示缩小

三、渐变

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

  • 渐变是多个颜色逐渐变化的视觉效果
  • 一般用于设置盒子的背景
background-image: linear-gradient(transparent,rgba(200, 200, 1, 0.6))
background-image: linear-gradient(颜色1,颜色2)

四、空间转换(配合透视效果好)

目标:使用transform属性实现元素在空间内的位移、旋转、缩放等效果

空间:是从坐标轴角度定义的。x 、y 和z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同。

空间转换也叫3D转换

属性:transform

4.1 空间位移

目标:使用translate实现元素空间位移效果

语法:

transform: translate3d(x, y, z);
transform: translateX(值);
transform: translateY(值);
transform: translateZ(值);

取值(正负均可):

  • 像素单位数值
  • 百分比

4.2 透视

目标:使用perspective属性实现透视效果

属性(添加给父级

  • perspective:值;
  • 取值:像素单位数值,数值一般在800–1200。

作用

  • 空间转换时,为元素添加近大远小、近实远虚的视觉效果

透视距离也称为视距,所谓的视距就是人的眼睛到屏幕的距离。

4.3 空间旋转

目标:使用rotate实现元素空间旋转效果

语法:

transform:rotateZ(值);
transform:rotateX(值);
transform:rotateY(值);

左手法则:

  • 判断旋转方向: 左手握住旋转轴, 拇指指向正值方向, 手指弯曲方向为旋转正值方向

拓展:

rotate3d(x, y, z, 角度度数):

用来设置自定义旋转轴的位置及旋转的角度,x,y,z取值为0-1之间的数字立体呈现 

4.4 立体呈现

目标:使用transform-style: preserve-3d呈现立体图形

思考:使用perspective透视属性能否呈现立体图形?

答:不能,perspective只增加近大远小、近实远虚的视觉效果。

实现方法:

  • 添加transform-style: preserve-3d;
  • 使子元素处于真正的3d空间

呈现立体图形步骤

1.盒子父元素添加transform-style: preserve-3d;

2.按需求设置子盒子的位置(位移或旋转)

注意:

  • 空间内,转换元素都有自已独立的坐标轴,互不干扰

3D导航

目标:使用立体呈现技巧实现3D导航效果

实现思路

1.搭建立方体:绿色盒子是立方体的前面,橙色盒子是立方体的上面

        li标签

                添加立体呈现属性transform-style: preserve-3d;

                添加旋转属性(为了便于观察效果,案例完成后删除即可)

        a标签

                a标签定位(子绝父相)

                英文部分添加旋转和位移样式

                中文部分添加位移样式

2.添加hover状态旋转切换效果

        鼠标滑过li,添加空间旋转样式

        li添加过渡属性

注意:案例完成后,删除li的旋转样式。

4.5 空间缩放

目标:使用scale实现空间缩放效果

语法:

transform: scaleX(倍数);
transform: scaleY(倍数);
transform: scaleZ(倍数);
transform: scale3d(x, y, z);

五、动画

目标:使用animation添加动画效果

思考:过渡可以实现什么效果?

答:实现2个状态间的变化过程

动画效果:实现多个状态间的变化过程,动画过程可控(重复播放、最终画面、是否暂停)

动画的本质是快速切换大量图片时在人脑中形成的具有连续性的画面

构成动画的最小单元:帧或动画帧

实现步骤:

①定义动画(在<style>里)

  • from to 只能实现两种状态
  • 10%  25%  60% 100% 可以多状态
        @keyframes change {
            from {
                width: 200px;
            }
            to {
                width: 1366px;
            }
        }
        @keyframes change2 {
            10% {
                width: 200px;
            }
            20% {
                width: 400px;
            }
            50% {
                width: 800px;
            }
            100% {
                width: 1366px;
            }
        }

②使用动画

animation:动画名称 动画时间

动画属性

目标:使用animation相关属性控制动画执行过程

animation: 动画名称 动画时长 速度曲线 延迟时间 重复次数 动画方向 执行完毕时状态;

注意:

  • 动画名称和动画时长必须赋值
  • 取值不分先后顺序
  • 如果有2个时间值,第一个时间表示动画时长,第二个时间表示延迟时间
属性作用取值
animation-name动画名称
animation-duration动画时长
animation-delay延迟时间
animation-fill-mode动画执行完毕时状态forwards:最后一帧状态backwards:第一帧状态
animation-timing-function速度曲线steps(数字):逐帧动画
animation-iteration-count重复次数infinite为无限循环
animation-direction动画执行方向alternate为反向
animation-play-state暂停动画

paused为暂停,通常配合:hover使用

l逐帧动画:帧动画。开发中,一般配合精灵图实现动画效果。

animation-timing-function:steps(N);

将动画过程等分成N份

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/43813.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows使用scp上传文件到linux服务器

我不是管理员&#xff0c;所以上传有点麻烦&#xff0c;需要在windows电脑上操作scp命令&#xff0c; 命令格式&#xff1a;上传文件夹带上-r&#xff0c;上传文件就不用带-r了&#xff0c;而且只能上传到tmp目录下&#xff0c;然后再使用mv命令移动到你想要的目录下&#xff…

宝塔上的wordpress站点更换域名+配置SSL+改版百度收录

前言 好久没写文章了&#xff0c;甚是想念&#xff0c;近半年来发生了很多事情&#xff0c;心态也变了很多。 这个博客自创办以来&#xff0c;原域名叫“is-hash.com”&#xff0c;是我2019年的突发奇想注册此域名&#xff0c;“is-hash”即为“是#”&#xff08;hash是#的英…

力扣第73题

一、题目&#xff1a;73. 矩阵置零 二、题目解析&#xff1a; 解题步骤&#xff1a;注意题目要求原地算法–>利用矩阵的第一行和第一列记录矩阵需要置0的行和列&#xff0c;只要把0所在行和列的第一个位置置为0&#xff0c; 然后再根据第一行和第一列0的位置&#xff0c;对…

设备树覆盖:实现 DTO

前面我们学习了dts&#xff0c;也知道这个dtc、dtb。这个dto是什么&#xff1f; 实现 DTO 包括分割设备树、构建、分区和运行。 在实现可以正常工作之后&#xff0c;您还必须保持两个 DT 之间的兼容性&#xff0c;并确定用于确保每个 DT 分区安全性的策略。 1、分割 DT 首先…

Linux-用户概念和用户管理命令,用户组概念和用户组管理命令。

一&#xff0c;用户概念和用户管理命令&#xff1a; 1&#xff0c;linux是一个多用户操作系统&#xff0c;多个用户可以在同一时间内登录同一系统。 用户可理解为获取系统资源权限的集合&#xff0c;每个用户都会分配一个uid。分为三种&#xff1a; 超级用户&#xff1a;uid为…

String的方法介绍以及实现

今天需要掌握的有如下方法&#xff0c;有点多&#xff0c;但是不难&#xff0c;加油吧 1.字符串的查找 2.字符串的转化 3.字符串的截取 4.字符串的替换 5.字符串的拆分 6.字符串的其他方法 1.字符串的查找 public class TestDemo {public static void main(String[] ar…

java进阶—集合

前面我们知道了一个能存东西的数据结构&#xff0c;数组 java 基础——数组&#xff0c;现在我们来看一个高级一点的东西&#xff0c;集合 这里先提一点&#xff0c;集合的底层其实是数组 集合&#xff08;collection&#xff09;是什么呢&#xff1f; 我们可以把集合想象成…

接口测试需求分析

测试接口的时候&#xff0c;可能很多人都会想&#xff0c;按着研发给的接口协议文档来测&#xff0c;不就好了吗&#xff1f; 其实&#xff0c;对于接口的测试&#xff0c;还需要有点深度的需求分析&#xff0c;然后再进行对应的测试。对于接口测试&#xff0c;这里有个不太详…

python 高级技巧

闭包 定义双层嵌套函数&#xff0c;内层函数可以访问外层函数的变量 将内层函数作为外层函数的返回&#xff0c;此层函数就是闭包函数 在函数嵌套的前提下&#xff0c;内部函数使用了外部函数的变量&#xff0c;并且外部函数返回了内部函数&#xff0c;我们把这个使用外部函数变…

12小时,教室与生产线接力 复旦MBA科创青干营首个整合实践活动日

针对有志于投身科创事业的复旦MBA学生&#xff0c;复旦管院特别开设“复旦MBA科创青干营”&#xff0c;将科创管理教育与MBA培养体系深度融合。在MBA核心课基础上&#xff0c;学院为学生定制了原创、系统和注重实战的科创课程&#xff0c;并通过科创企业参访、科创先锋论坛、科…

初学者如何打开ABAQUS力学有限元仿真的大门

作者 | 静安 仿真秀专栏作者 导读&#xff1a;明年6月&#xff0c;笔者即将研究生毕业&#xff0c;从最初摸爬滚打一个人自学有限元力学仿真&#xff0c;到现在已经有三年多了。我研究方向是静力学仿真&#xff08;Abaqus&#xff09;和基于python的Abaqus二次开发。时至今日&…

MySQL命令行插入数据乱码分析

MySQL命令行插入数据乱码分析 1.起因 在开发过程中&#xff0c; 在linux 的上MySQL 的客户端提交插入数据的SQL, 然后数据在页面展示的时候乱码&#xff0c;在网上查找了一些资料&#xff0c;说是MySQL 的客户端连接设置是Latin1导致的&#xff1b;(当然肯定还是有是由其他的…

【iOS开发-AFNetWorking下的POST和GET】

文章目录写在开头GET 和POSTGET 和POST的区别联系AFNetWorking使用方法DEMOGET请求数据GET方法GET请求到的数据解析POST请求POST的请求测试1POST请求测试二请求的数据拼接POST- DEMO2POST方法2参数理解POST方法2的注意头像对于DATA的转换在Block里进行拼接方法MIME Type的简单认…

QFileInfo(文件信息)和临时文件

QFileInfo提供有关文件在文件系统中的名称和位置&#xff08;路径&#xff09;&#xff0c;其访问权限以及它是目录还是符号链接等的信息。文件的大小和上次修改/读取时间也可用。QFileInfo还可用于获取有关Qt资源的信息 QFileInfo可以指向具有相对或绝对文件路径的文件。绝对…

FFmpeg实现fmp4+h265 aac切片命令

目录 背景 环境 FFmpeg实现fmp4h265 aac切片命令 使用go创建hls server 使用hls.js demo播放 播放地址&#xff1a;hls.js demo 背景 Chrome在104/105版本后&#xff0c;支持硬解h265&#xff0c;使得hls利用浏览器硬解特性播放h265视频。hls官方要求h265必须使用fmp4格…

Yolov5算法解读

yolov5于2020年由glenn-jocher首次提出&#xff0c;直至今日yolov5仍然在不断进行升级迭代。 Yolov5有YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四个版本。文件中&#xff0c;这几个模型的结构基本一样&#xff0c;不同的是depth_multiple模型深度和width_multiple模型宽度这两个参…

[网络] TCP协议中的三次握手是什么?利用3次握手的SYN Flood DDOS攻击知道吗?

文章目录前言术语TCP协议三次握手的由来网络协议里的握手阶段Sequence Number是什么&#xff1f;TCP协议三次握手都发送了什么数据&#xff1f;TCP数据包长什么样&#xff1f;SYN Flood DDOS攻击是什么&#xff1f;结语前言 介于TCP协议中三次握手经常会被问到&#xff0c;以及…

NBA体育决策和数据挖掘分析

业务挑战 体育运用大数据主要体现在以下三个方面&#xff1a; 预测比赛结果和奖牌归属&#xff1b;更好地训练运动员 。数据和模型驱动体育决策让获胜和成功变得更有可能&#xff0c;体育统计(Sports Analytics)成为体育竞争的“杀手锏”。最近我们被客户要求撰写关于体育统计…

鲲鹏devkit性能分析工具介绍(一)

鲲鹏devkit性能分析工具介绍&#xff08;一&#xff09; 鲲鹏性能分析工具由四个子工具组成&#xff0c;分别为&#xff1a;系统性能分析、Java性能分析、系统诊断和调优助手。 系统性能分析是针对基于鲲鹏的服务器的性能分析工具&#xff0c;能收集服务器的处理器硬件、操作…

从2022安洵杯[babyPHP]看Soap+CLRF造成SSRF漏洞

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、PHP SOAP 二、漏洞成因 三、 题目知识准备 1、PHP Session反序列化 2、题目相关函数 四、[LCTF 2018]bestphps revenge 五、2022安洵杯 BabyPHP 前言 …