【Web前端开发基础】CSS3之Web字体、字体图标、平面转换、渐变

news2024/11/16 14:23:39

CSS3之Web字体、字体图标、平面转换、渐变

目录

  • CSS3之Web字体、字体图标、平面转换、渐变
    • 一、Web字体
      • 1.1 Web字体概述
      • 1.2 字体文件
      • 1.3 @font-face 规则
    • 二、字体图标
      • 2.1 字体图标
      • 2.2 字体图标的优点
      • 2.3 图标库
      • 2.4 下载字体包
      • 2.5 字体图标的使用步骤
      • 2.6 字体图标使用注意点
      • 2.7 上传矢量图
    • 三、平面转换
      • 3.1 平面转换介绍
      • 3.2 2D转换 :translate(位移)
      • 3.3 2D转换 :rotate(旋转)
      • 3.4 2D转换:transform-origin(转换中心点)
      • 3.5 2D转换:scale(缩放)
      • 3.6 transform 的综合写法
      • 3.7 2D转换transform总结
    • 四、渐变

一、Web字体

1.1 Web字体概述

  • 每种字体都对应着相应的字体文件,没有 @font-face 规则之前,客户端是否能够正确显示 fontfamily 规定的字体,是由该字体的文件是否预装在客户端决定的。而 @font-face 规则可以将字体文件存放在服务器端,渲染页面时客户端请求从服务器端下载改字体文件进行使用

1.2 字体文件

  • 不同浏览器支持的不同字体文件格式,如下表所示,在应用Web字体前,需要生成同一种字体的不同格式文件
    在这里插入图片描述

1.3 @font-face 规则

  • Web 字体首先用 @font-face 规则定义字体名和称来源,然后再用 font-family 引用该字体,语法
    格式如下:
    <style>
        /* 定义字体名称和来源 */
        @font-face {
            /* 定义字体名字 */
            font-family: 字体名字;
            /* 定义字体来源 */
            src: url(字体来源文件1),
                …… url(字体来源文件n);
        }
    
        /* 引用该字体 */
        /* 需要引用的元素 */
        p {
            font-family: 字体名字;
            /* 引用字体 */
        }
    </style>
    <body>
        <p>Web design</p>
    </body>
    

二、字体图标

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

2.1 字体图标

  • 字体图标展示的是图标,本质是字体
  • 处理简单的、颜色单一的小图标
    在这里插入图片描述

2.2 字体图标的优点

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

2.3 图标库

  • iconfont :https://www.iconfont.cn/ 阿里巴巴字体库(常用)
    在这里插入图片描述

2.4 下载字体包

  • 登录(新浪微博) → 选择图标库 → 选择图标,加入购物车 → 购物车 → 添加至项目 → 下载至本地
    在这里插入图片描述

2.5 字体图标的使用步骤

  • 步骤1:复制相关文件到本地目录,在引入字体图标css文件
    在这里插入图片描述
  • 步骤2:标签使用字体图标
    1. 使用字体图标 – 类名:
      • 引入字体图标样式表
        <link rel="stylesheet" href="./iconfont/iconfont.css">
        
      • 调用图标对应的类名,必须调用2个类名
        ① iconfont类:基本样式,包含字体的使用等
        ② icon-xxx类:图标对应的类名
        <span class="iconfont icon-xxx"></span>
        
    2. 使用字体图标 – unicode编码:
      • HTML
        <span> &#xe6eb; </span>
        
      • CSS
        span {
           font-size: 'iconfont';
        }
        
    3. 使用字体图标 – 伪元素:
      • 通过查看iconfont.css文件
        .icon-arrow-down:berfore {
        	content:'\e665';
        }
        

2.6 字体图标使用注意点

  • 可以使用问文本标签修改字体图标,但是要注意选择器的权重问题
  • 若要修改字体图标的大小,注意要在iconfont类中修改
    .iconfont {
      font-size: 30px;
    } /* 该样式会生效 */
    span {
      font-size: 30px;
    } /* 该样式不会生效,因为标签选择器比类选择器权重低 */
    

2.7 上传矢量图

  • 思考:如果图标库没有项目所需的图标怎么办?

  • 答:iconfont网站上传矢量图生成字体图标

    1. 与设计师沟通,得到SVG矢量图
    2. iconfont网站上传图标,下载使用
  • iconfont上传矢量图步骤:

    1. 上传 → 上传SVG图标
    2. 浏览本地图标 → 去除颜色提交
    3. 加入购物车 → 添加到项目 → 下载使用
      在这里插入图片描述
  • 工作中:

    • 这部分都是UI美工给我们上传,并生成,并且很贴心的给我们选好了字体图标
    • 正式开发中,都是UI美工,把字体图标都设置好,建好项目,拉我们前端人员进入,我们直接下载使用即可
      在这里插入图片描述

三、平面转换

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

3.1 平面转换介绍

  • 平面转换
    • 改变盒子在平面内的形态(位移、旋转、缩放)
    • 2D转换
  • 平面转换属性
    • transform
      在这里插入图片描述

3.2 2D转换 :translate(位移)

  • 2D位移是2D转换里面的一种功能,可以改变元素在页面种的位置,类似定位

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

    transform: translate(x, y); /* 沿 X 轴移动 x px, 沿 Y 轴移动 y px */
    transform: translateX(n); /* 沿 X 轴移动 n px */
    transform: translateY(n); /* 沿 Y 轴移动 n px */
    
  • 取值(正负均可)

    • ① 数字 + px
    • ② 百分比(参照物为盒子自身尺寸)
    • 注意:X轴正向为右,Y轴正向为下
  • 技巧

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

    • <!-- 移动盒子位置方法:定位 盒子的外边距 2d转换移动 -->
      <style>
          .father {
              width: 600px;
              height: 300px;
              margin: 100px auto;
              border: 1px solid #000;
          }
      
          .son {
              width: 200px;
              height: 100px;
              background-color: pink;
              transition: all 0.3s;
          }
      
          .father:hover .son {
              width: 200px;
              height: 100px;
              background-color: pink;
              /* 2D转换移动 */
              /* x 就是 X 轴上移动的位置,y 就是 Y 轴上移动的位置 */
              /* transform: translate(x, y) */
              transform: translate(100px, 100px);
              /* 我们如果只移动x坐标,有三种写法 */
              transform: translate(100px, 0);
              transform: translate(100px);
              /* 只给出一个值,表示向X轴移动 */
              transform: translateX(100px);
              /* 我们如果只移动y坐标,也有两种写法 */
              transform: translate(0, 100px);
              transform: translateY(100px);
              /* 我们translate的参数的单位也可以是百分比(%)的形式 */
              /* 使用百分比的形式是相对于自身元素的(宽度或者高度) */
              transform: translate(50%, 50%);
          }
      </style>
      <body>
          <div class="father">
              <div class="son"></div>
          </div>
      </body>
      
  • translate注意点

    • 定义2D转换中的位移,是沿着X和Y轴移动元素
    • 移动盒子位置的方法有:定位、盒子的外边距、2d转换translate
    • 但translate最大的优点是:不会影响到其他元素的位置
    • translate中的百分比单位是相对于自身元素的(宽度或者高度)
    • translate对行内元素没有效果
  • 绝对定位中垂直水平居中案例

    /* 需求:让p标签在div盒子内垂直水平居中 */
    /* 1.可以使用定位 + margin的方式 */
    /* 2.也可以使用定位 + translate的方式 */
    /* 定位使用子绝父相 */
    div {
      position: relative;
      width: 500px;
      height: 500px;
      background-color: pink;
    }
    p {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 200px;
      height: 200px;
      background-color: purple;
      /* 1.使用margin相对于自己向上移动自己的50%(200px * 0.5 = 100px),
    向左移动自己的50%(200px * 0.5 = 100px)即可 */
      margin-top: -100px;
      margin-left: -100px;
      /* 2.使用translate,也是相对于自身在X和Y移动,故使用百分号形式 */
      transform: translate(-50%, -50%);
    }
    

在这里插入图片描述

3.3 2D转换 :rotate(旋转)

  • 2D旋转指的是让元素在二维平面内顺时针或者逆时针旋转
  • 语法: transform: rotate(角度); 注意:角度单位是deg
    transform: rotate(angle);
    
  • 取值(正负均可)
    ① 取值为正, 则顺时针旋转
    ② 取值为负, 则逆时针旋转
  • rotate注意点
    rotate里面的参数单位是deg,比如rotate(45deg)
    角度为正时,顺时针旋转;角度为负时,逆时针旋转
    默认旋转中心是元素的中心点
  • 三角形旋转案例
    /* 样式代码 */
    div {
      position: relative;
      width: 249px;
      height: 35px;
      border: 1px solid #000;
    }
    /* 添加伪元素 */
    div::after {
      content: "";
      /* 使用定位,让伪元素布局在盒子右侧 */
      position: absolute;
      top: 8px;
      right: 15px;
      /* 伪元素默认是行内元素,使用定位后可以设置其大小 */
      width: 10px;
      height: 10px;
      /* 用边框绘制三角型 */
      border-right: 1px solid #333;
      border-bottom: 1px solid #333;
      /* 对伪元素进行旋转 */
      /* ① 设置伪元素旋转中心 */
      transform-origin: 50% 75%;
      /* ② 设置伪元素旋转度数 */
      transform: rotate(45deg);
      /* 添加过渡效果 */
      transition: all 0.2s;
    }
    /* 鼠标经过盒子时三角形旋转 */
    div:hover::after {
      transform: rotate(225deg);
    }
    
    <!-- 结构代码 -->
    <div></div>
    
    在这里插入图片描述

3.4 2D转换:transform-origin(转换中心点)

  • 2D转换中心点可以设置元素的转换中心点
  • 语法: transform-origin: 原点水平位置 原点垂直位置;
    transform-origin: x, y;
    
  • 取值:
    方位名词(left、top、right、bottom、center)
    ② 数字 + px
    ③ 百分比(参照盒子自身尺寸计算)
  • transform-origin注意点
    • 注意后面的参数 x 和 y 用空格隔开
    • x y 默认转换中心是元素的中心点(50% 50%)
    • 还可以给 x y 设置 像素 或者 方位名词(top、bottom、left、right、center)
  • 旋转案例
    /* 样式代码 */
    ul {
      display: flex;
      justify-content: center;
      margin-top: 200px;
    }
    ul li {
      /* float: left; */
      overflow: hidden;
      margin-right: 10px;
      width: 199px;
      height: 290px;
      border: 1px solid hotpink;
      list-style: none;
      background: url("./images/10.jpg") no-repeat;
      background-size: contain;
    }
    ul li:nth-child(2) {
      background-image: url("./images/2.jpg");
    }
    ul li:last-child {
      background-image: url("./images/3.jpg");
    }
    ul li::after {
      content: "猜猜我是谁?";
      display: block;
      width: 100%;
      height: 100%;
      background-color: pink;
      transform-origin: 0% 100%;
      transform: rotate(0deg);
      transition: all 0.3s;
      text-align: center;
      line-height: 292px;
      font-size: 20px;
      color: hotpink;
    }
    ul li:hover::after {
      transform: rotate(90deg);
    }
    
    <!-- 结构代码 -->
    <ul>
      <li></li>
      <li></li>
      <li></li>
    </ul>
    
    在这里插入图片描述

3.5 2D转换:scale(缩放)

  • 缩放,顾名思义,可以放大或缩小。只要给元素添加这个属性就能控制他放大还是缩小
  • 语法: transform: scale(x轴缩放倍数, y轴缩放倍数);
    transform: scale(x, y);
    
  • 注意点:
    • 注意其中的 x 和 y 用逗号隔开
    • transform: scale(1, 1) : 宽和高都放大1倍,相对于没有放大
    • transform: scale(2, 2) : 宽和高都放大了2倍
    • transform: scale(2) : 只写一个参数,第二个参数则和第一个参数一样,相当于 scale(2, 2)
    • transform: scale(0.5, 0.5) : 缩小
    • scale缩放最大的优势 : 可以设置转换中心缩放点,默认以中心点缩放的,而且不会影响其他盒子
  • 鼠标经过图片放大案例
    <!-- 样式代码 -->
    <style>
        div {
            overflow: hidden;
            width: 240px;
            float: left;
            margin: 10px;
        }
    
        div img {
            width: 100%;
            transition: all 0.2s ease;
        }
    
        div img:hover {
            transform: scale(1.1);
        }
    </style>
    
    <!-- 结构代码 -->
    <div><a href="#"><img src="./images/brand_goods_1.jpg" alt=""></a></div>
    <div><a href="#"><img src="./images/brand_goods_2.jpg" alt=""></a></div>
    <div><a href="#"><img src="./images/brand_goods_3.jpg" alt=""></a></div>
    <div><a href="#"><img src="./images/brand_goods_4.jpg" alt=""></a></div>
    
    在这里插入图片描述
  • 分页案例
    <!-- 样式代码 -->
    <style>
        ul li {
            float: left;
            width: 30px;
            height: 30px;
            border: 1px solid green;
            border-radius: 50%;
            margin: 10px;
            list-style: none;
            text-align: center;
            line-height: 30px;
            cursor: pointer;
            transition: all .2s ease;
        }
    
        ul li:hover {
            transform: scale(1.1);
        }
    </style>
    <!-- 结构代码 -->
    <body>
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
        </ul>
    </body>
    
    在这里插入图片描述
  • 和平精英-缩放案例
<!-- 样式代码 -->
<style>
    * {
        margin: 0;
        padding: 0;
    }

    .box {
        overflow: hidden;
        width: 249px;
        height: 210px;
        margin: 100px auto;
    }

    li {
        list-style: none;
    }

    img {
        width: 100%;
    }

    .box p {
        color: #3b3b3b;
        padding: 10px 10px 0 10px;
    }

    .box .pic {
        position: relative;
    }

    .box .pic::after {
        position: absolute;
        top: 50%;
        left: 50%;
        content: "";
        width: 58px;
        height: 58px;
        /* 直接使用margin比较简单,代码注释部分为margin做法 */
        /* margin-top: -29px;
margin-left: -29px; */
        background: url("./images/play.png");
        /* transform: scale(5); */
        /* 使用transform时要注意CSS的层迭性 */
        transform: translate(-50%, -50%) scale(5);
        opacity: 0;
        /* 透明度 */
        transition: all .5s;
    }

    .box li:hover .pic::after {
        /* transform: scale(1); */
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
</style>
<!-- 结构代码 -->
<div class="box">
    <ul>
        <li>
            <div class="pic"><img src="./images/party.jpeg"></div>
            <p>【和平精英】“初火”音乐概念片:四圣觉醒......</p>
        </li>
    </ul>
</div>

在这里插入图片描述

3.6 transform 的综合写法

  • 注意
    1. 同时使用多个转换,其格式为:transform: translate() rotate() scale()
    2. 若将多个转换单独写开,则只有写在最下面的转换会生效,因为CSS具有层叠性
    3. 其顺序会影响转换的效果(先旋转会改变坐标轴方向)h
    4. 当我们同时有位移和其他属性的时候,记得要将位移放在最前面

3.7 2D转换transform总结

  • 2D转换通过 transform 属性对元素进行位移(translate)、旋转(rotate)、缩放(scale)、倾斜(skew)
    在这里插入图片描述
  • 转换 transform 我们简单的理解就是变形,有2D 和 3D之分
  • 我们暂且学了三个分别是位移、旋转和缩放
  • 2D 移动translate(x, y) 最大的优势是不影响其他盒子,里面的参数如果使用%,则是相对于自身的
  • 宽和高来计算的
  • 2D 移动translate 可以分开写,translateX(x) translateY(y)
  • 2D 旋转rotate(度数) 可以实现旋转元素,度数的单位是deg
  • 2D 缩放scale(x, y) 里面的参数是数字不跟单位 可以是小数,表示缩小,最大的优势是不影响其它盒子
  • 设置旋转中心点transform-origin: x y; 参数可以是百分比、像素或者是方位名词
  • 当我们进行综合写法,同时有位移和其他属性的时候,记得要将位移放在最前面

四、渐变

  • 渐变是多个颜色逐渐变化的视觉效果
  • 一般用于设置盒子的背景
  • 语法:
    background-image: linear-gradient(
    	to 渐变方向,
    	颜色1,
    	颜色2,
    	....
    );
    
  • 取值:
    ① 第一个参数可以设置方向:to + 方位名词
    ② 颜色的取值:关键字、rgb(x,x,x)、rgba(x,x,x,x)、transparent(透明)
  • 实现:
div {
	backround-image: linear-gradient(
		to bottom,
		transparent,
		rgba(0, 0, 0, .6)
	);
}

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

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

相关文章

12.常用统计分析方法——聚类分析

目录 基础知识 实操 层次聚类 划分聚类 方法一&#xff1a;K均值聚类&#xff08;最常见&#xff09; 方法二&#xff1a;基于中心点的划分&#xff08;PAM&#xff09; 避免不存在的类 基础知识 概念&#xff1a; 聚类分析是一种数据归约技术&#xff0c;旨在揭露一个…

prometheus监控RabbitMQ策略

一般用官方的rabbitmq_exporter采取数据即可&#xff0c;然后在普米配置。但如果rabbitmq节点的队列数超过了5000&#xff0c;往往rabbitmq_exporter就会瘫痪&#xff0c;因为rabbitmq_exporter采集的信息太多&#xff0c;尤其是那些队列的细节&#xff0c;所以队列多了&#x…

vue3-深入组件-组件注册和props更多细节

组件注册 定义好的组件需要注册才能被使用。 注册方式有两种 全局注册 局部注册 全局注册 .component() 方法&#xff0c;让组件在当前 Vue 应用中全局可用。 在 main.ts 中 import ./assets/main.cssimport { createApp } from vue import { createPinia } from pinia i…

无人机航迹规划(五):七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划(提供MATLAB代码)

一、七种算法&#xff08;DBO、LO、SWO、COA、LSO、KOA、GRO&#xff09;简介 1、蜣螂优化算法DBO 蜣螂优化算法&#xff08;Dung beetle optimizer&#xff0c;DBO&#xff09;由Jiankai Xue和Bo Shen于2022年提出&#xff0c;该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁…

10. UE5 RPG使用GameEffect创建血瓶修改角色属性

前面我们通过代码实现了UI显示角色的血量和蓝量&#xff0c;并实现了初始化和在数值变动时实时更新。为了测试方便&#xff0c;没有使用GameEffect去修改角色的属性&#xff0c;而是通过代码直接修改的数值。 对于GameEffect的基础&#xff0c;这里不再讲解&#xff0c;如果需要…

微机原理常考填空以及注意事项第(三)弹~

前面已经总结了200个常考题注意事项&#xff0c;可以翻阅查看。 以下仅个人总结的易错以及注意事项&#xff1a; 1&#xff0c;汇编语言源程序的基本格式&#xff1a; DATA SEGMENT;存放数据项的数据段 DATA ENDS EXTRA SEGMENT;存放数据项的附加段 EXTRA ENDS STACK1 SEGM…

Mybatis四大组件

一、Mybatis四大组件 SqlSessionFactoryBuild、SqlSessionFactory、SqlSession、Mapper。 二、SqlSession四大对象 Executor、StatementHandler、ParameterHandler、ResultSetHandler。 这里阐述一下上图的流程 Exeutor发起sql执行任务 1、先调用statementHandler中的pre…

输入某年某月某日,判断这一天是这一年的第几天?(Java)

思路&#xff1a; 1&#xff0c;分别定义三个变量来接收 年 月 日 2&#xff0c;累加已经过完的月份的天数 日期 3&#xff0c;二月份的天数要根据是否是闰年&#xff0c;随之改变 1 3 5 7 8 10 12 ---> 31天 4 6 9 11 ---> 30天 2 ---> 闰…

【bioinfo】收藏生信常用网址

文章目录 文件格式文档SAM/VCF工具手册bwa/samtools基因组统计学wikisam flag值查询序列反向互补TransVar 变异注释UCSC-blat在线比对常用数据库 NCBI/nsembl/HGNC论坛 biostars/SEQanswers查询文献影响因子假设检验查询生信软件查询在线可视化工具Proksee 文件格式文档SAM/VCF…

阿里云国外服务器价格购买与使用策略

阿里云国外服务器优惠活动「全球云服务器精选特惠」&#xff0c;国外服务器租用价格24元一个月起&#xff0c;免备案适合搭建网站&#xff0c;部署独立站等业务场景&#xff0c;阿里云服务器网aliyunfuwuqi.com分享阿里云国外服务器优惠活动&#xff1a; 全球云服务器精选特惠…

为什么JDK1.7的HashMap会出现扩容死链

为什么JDK1.7的HashMap会出现扩容死链&#xff1f; JDK1.7版本的HashMap在多线程的情况下扩容出现死循环&#xff08;扩容死链&#xff09;&#xff0c;根本原因是&#xff1a;HashMap在进行扩容时需要进行数据转移&#xff0c;jdk1.7的版本数据转移使用的是头插法&#xff08…

【每日一题】最大交换

文章目录 Tag题目来源解题思路方法一&#xff1a;暴力法方法二&#xff1a;贪心 写在最后 Tag 【暴力法】【贪心法】【数组】【2024-01-22】 题目来源 670. 最大交换 解题思路 本题的数据规模比较小&#xff0c;暴力法也可以通过。以下将会介绍暴力法和本题最优法。 方法一…

【AIGC】Diffusers:扩散模型的开发手册说明1

主要组件 最先进的扩散管道 diffusion pipelines&#xff0c;只需几行代码即可进行推理。可交替使用的各种噪声调度器 noise schedulers&#xff0c;用于平衡生成速度和质量。预训练模型 models&#xff0c;可作为构建模块&#xff0c;并与调度程序结合使用&#xff0c;来创建…

阿赵UE学习笔记——12、植物系统

阿赵UE学习笔记目录 大家好&#xff0c;我是阿赵。   继续学习虚幻引擎的用法。这次需要使用植物系统在地形上添加一些草和石头的装饰。 一、素材准备 之前介绍过&#xff0c;可以在Quixel上面获取免费的资源&#xff0c;所以我这里就下载了一些资源&#xff0c;有草和石头的…

基于springboot家政服务管理平台源码和论文

随着家政服务行业的不断发展&#xff0c;家政服务在现实生活中的使用和普及&#xff0c;家政服务行业成为近年内出现的一个新行业&#xff0c;并且能够成为大众广为认可和接受的行为和选择。设计家政服务管理平台的目的就是借助计算机让复杂的销售操作变简单&#xff0c;变高效…

代码随想录刷题笔记 DAY12 | 二叉树的理论基础 | 二叉树的三种递归遍历 | 二叉树的非递归遍历 | 二叉树的广度优先搜索

Day 12 01. 二叉树的理论基础 1.1 二叉树的种类 满二叉树&#xff1a;除了叶子节点以外&#xff0c;每个节点都有两个子节点&#xff0c;整个树是被完全填满的完全二叉树&#xff1a;除了底层以外&#xff0c;其他部分是满的&#xff0c;底部可以不是满的但是必须是从左到右连…

Java 设计者模式以及与Spring关系(六) 装饰和模版方法模式

简介: 本文是个系列一次会出两个设计者模式作用&#xff0c;如果有关联就三个&#xff0c;除此外还会讲解在spring中作用。 23设计者模式以及重点模式 我们都知道设计者模式有3类23种设计模式&#xff0c;标红是特别重要的设计者模式建议都会&#xff0c;而且熟读于心&#…

41.while语句

目录 一.什么是while语句 二.语法 三.执行流程图 四.举例 五.视频教程 一.什么是while语句 只要条件为真&#xff0c;while循环中的语句会一直重复执行。 二.语法 while&#xff08;表达式&#xff09;{//代码块 } 三.执行流程图 从流程图可以看出&#xff0c;while循环…

【JAVA语言-第14话】集合框架(一)——Collection集合,迭代器,增强for,泛型

目录 集合框架 1.1 概述 1.2 集合和数组的区别 1.3 Collection集合 1.3.1 概述 1.3.2 常用方法 1.4 迭代器 1.4.1 概述 1.4.2 常用方法 1.4.3 使用步骤 1.5 增强for循环 1.5.1 概述 1.5.2 使用 1.6 泛型 1.6.1 概述 1.6.2 使用泛型的利弊 1.6.2.1 好处 1…

基于TriDet的时序动作检测算法训练自己的slowfast数据

最近一直在研究时序动作识别和检测&#xff0c;也一直关注着目前的最新进展&#xff0c;有好的算法&#xff0c;我都会在我自己的数据集上运行看看&#xff0c;一方面是为自己累积相关算法&#xff0c;另一方面也是想看看&#xff0c;目前最新的算法是否可以应用到一些项目上。…