Web进阶:Day1 字体图标、平面转换、空间转换、动画

news2024/11/18 21:24:23

Web进阶:Day1

Date: October 3, 2022
Summary: 字体图标、平面转换、空间转换、动画


字体图标

Untitled

字体图标

字体图标展示的是图标,本质是字体

处理简单的、颜色单一的图片

注:复杂的用CSS精灵,简单的用字体图标

字体图标的优点:

灵活性:灵活地修改样式,例如:尺寸、颜色等

轻量级:体积小、渲染快、降低服务器请求次数

兼容性:几乎兼容所有主流浏览器

使用方便:

  1. 下载字体包
  2. 使用字体图标

图标库

Iconfont:https://www.iconfont.cn/

Untitled

Untitled

具体步骤:

使用字体图标 - Unicode编码:

  1. 引入样式表:iconfont.css
  2. 复制粘贴图标对应的Unicode编码
<span>&#xe6f8;</span>
  1. 设置文字字体
span{
	font-family:'iconfont';
}

使用字体图标 – 类名:

  1. 引入字体图标样式表
<link rel="stylesheet" href="./iconfont.css">
  1. 调用图标对应的类名,必须调用2个类名
    1. iconfont类:基本样式,包含字体的使用等
    2. icon-xxx:图标对应的类名
<span class="iconfont icon-xxx"></span>

案例:基础练习

  • Code:

    <!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.0">
        <title>Document</title>
        <link rel="stylesheet" href="./iconfont/iconfont.css">
        <style>
            i{
                font-size: 60px;
            }
        </style>
    </head>
    <body>
        <!-- iconfont是固定的  icon-favorites-fill是你要的图标-->
        <i class="iconfont icon-favorites-fill"></i>
    </body>
    </html>
    

案例:淘宝

  • Code :

    <head>
        <!-- 
            练习:
                1.引样式表
                2.调用类名
         -->
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>购物车</title>
        <!-- 引样式表 -->
        <link rel="stylesheet" href="./iconfont/iconfont.css">
    
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            
            li {
                list-style: none;
            }
            
            a {
                color: #333;
                text-decoration: none;
            }
            
            .nav {
                width: 200px;
                margin: 50px auto;
                font-size: 12px;
            }
            
            /* 让图标变橙 */
            .orange {
                color: #f40;
            }
        </style>
    </head>
    
    <body>
        <div class="nav">
            <ul>
                <li>
                    <a href="#">
                    ddd    <!-- 调用类名 -->
                        <span class="iconfont icon-cart-Empty-fill orange"></span>
                        <span>购物车</span>
                        <span class="iconfont icon-arrow-down"></span>
                    </a>
                </li>
            </ul>
        </div>
    </body>
    

上传矢量图:

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

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

  1. 与设计师沟通,得到SVG矢量图

  2. IconFont网站上传图标,下载使用

上传矢量图:

上传 → 上传SVG图标

浏览本地图标 → 去除颜色提交

加入购物车 → 下载使用

Untitled




平面转换

平面转换基础:

平面转换概念

改变盒子在平面内的形态(位移、旋转、缩放),这是一种2D转换

平面转换属性

Untitled

语法

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

取值(正负均可)

像素单位数值

百分比(参照物为盒子自身尺寸)

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

eg:

transform: translate(100px, 100px);

/* 百分比: 盒子自身尺寸的百分比 */
/* transform: translate(100%, 50%); */

/* 只给出一个值表示x轴移动距离 */
/* transform: translate(100px); */

/* transform: translateY(100px); */

补充技巧:

translate()如果只给出一个值, 表示x轴方向移动距离

单独设置某个方向的移动距离:translateX() & translateY()

案例:

使用translate快速实现绝对定位的元素居中效果

Untitled

<!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.0">
    <title>绝对定位元素居中效果</title>
    <style>
        .father {
            position: relative;
            width: 500px;
            height: 300px;
            margin: 100px auto;
            border: 1px solid #000;
        }
        
        .son {
            position: absolute;
            left: 50%;
            top: 50%;
            /* margin-left: -100px;
            margin-top: -50px; */

            transform: translate(-50%, -50%);

            width: 203px;
            height: 100px;
            background-color: pink;          
        }
    </style>
</head>
<body>
    <div class="father">
        <div class="son"></div>
    </div>
</body>
</html>

理解:

Untitled

这是初始位置:

left: 50%;
top: 50%;

经过位移转变后:

transform: translate(-50%, -50%);


双开门:

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

右侧盒子背景图

left:向左侧移动自身宽度

right:向右侧移动自身宽度

案例:玛莎拉蒂

在这里插入图片描述

  • Code:

    <!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.0">
        <title>Document</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            
            .box {
                width: 1366px;
                height: 600px;
                margin: 0 auto;
                background: url('./images/bg.jpg');
                /* 超出父级范围的要隐藏 */
                overflow: hidden;
            }
            
            .box::before,
            .box::after {
                float: left;
                content: '';
                width: 50%;
                height: 600px;
                background-image: url(./images/fm.jpg);
                transition: all .5s;
            }
    
            .box::after {
                background-position: right 0;
            }
    
            /* 鼠标移入的时候的位置改变的效果 */
            .box:hover::before {
                transform: translate(-100%);
            }
    
            .box:hover::after {
                transform: translateX(100%);
            }
        </style>
    </head>
    
    <body>
        <div class="box">
    
        </div>
    </body>
    
    </html>
    


旋转

语法

transform: rotate(角度);

注意:角度单位是deg

技巧:取值正负均可

取值为正, 则顺时针旋转

取值为负, 则逆时针旋转

Code:

<!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.0">
    <title>旋转效果</title>
    <style>
        img {
            width: 250px;
            /* 需要保证有时间过渡,否则将会无法运转 */
            transition: all 2s;
        }
        
        img:hover {
            /* 顺 */
            transform: rotate(360deg);

            /* 逆 */
            /* transform: rotate(-360deg); */
        }

        
    </style>
</head>
<body>
    <img src="./images/rotate.png" alt="">
</body>
</html>


转换原点

image-20230107235128305

语法

transform-origin: 原点水平位置 原点垂直位置;

注意 : 默认圆点是盒子中心点

取值

方位名词(left、top、right、bottom、center)

这个是基于哪个点进行旋转,重点常用,下面不常用

像素单位数值

百分比(参照盒子自身尺寸计算)

案例:

image-20230107235140314

<!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.0">
    <title>转换原点</title>
    <style>
        img {
            width: 250px;
            border: 1px solid #000;
            transition: all 2s;
            transform-origin: right bottom;
            transform-origin: left bottom;
        }
        
        img:hover {
            transform: rotate(360deg);
        }
    </style>
</head>
<body>
    <img src="./images/rotate.png" alt="">
</body>
</html>


多重转换

image-20230107235151392

多重转换代码:

transform: translate() rotate();

案例:

<!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.0">
    <title>多重转换</title>
    <style>
        .box {
            width: 800px;
            height: 200px;
            border: 1px solid #000;
        }
        
        img {
            width: 200px;
            transition: all 8s;
        }
        
        .box:hover img {
            /* 边走边转 */
            transform: translate(600px) rotate(360deg);

            /* 旋转可以改变坐标轴向 */
            /* transform: rotate(360deg) translate(600px); */
            
            /* 层叠性 */
            /* transform: translate(600px);
            transform: rotate(360deg); */
        }
    </style>
</head>

<body>
    <div class="box">
        <img src="./images/tyre1.png" alt="">
    </div>
</body>

</html>

多重转换原理

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

所以我们先以translate为基准,在保证坐标轴向的基础上,进一步地让轮胎旋转



缩放

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

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

技巧

一般情况下, 只为scale设置一个值, 表示x轴和y轴等比例缩放

transform: scale(缩放倍数);

scale值大于1表示放大, scale值小于1表示缩小

案例:

image-20230107235204085

  • Code:

    <!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.0">
        <title>缩放效果</title>
        <style>
            .box {
                width: 300px;
                height: 210px;
                margin: 100px auto;
                background-color: pink;
            }
    
            .box img {
                width: 100%;
                transition: all 0.5s;
            }
            
            .box:hover img {
                /* width: 150%; */
    
                transform: scale(1.2);
                transform: scale(0.8);
            }
        </style>
    </head>
    
    <body>
        <div class="box">
            <img src="./images/product.jpeg" alt="">
        </div>
    </body>
    
    </html>
    

案例:和平精英

image-20230107235213342

播放按钮

布局 ::after

样式 居中

效果

缩放

透明度(opacity)

  • Code:

    <!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.0">
        <title>Document</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
    
            li {
                list-style: none;
            }
    
            img {
                width: 100%;
            }
    
            .box {
                width: 249px;
                height: 210px;
                margin: 50px auto;
                overflow: hidden;
            }
            
            .box p {
                color: #3b3b3b;
                padding: 10px 10px 0 10px;
            }
    
            .box .pic {
                position: relative;
            }
    
            .box .pic::after {
                /* 播放按钮压在图片上面 - 居中 */
                position: absolute;
                left: 50%;
                top: 50%;
                /* margin-left: -29px;
                margin-top: -29px; */
                /* transform: translate(-50%, -50%); */
    
                content: '';
                width: 58px;
                height: 58px;
                background-image: url(./images/play.png);
    
                /* 大图 */
                transform: translate(-50%, -50%) scale(5);
    
                /* 透明,看不见 */
                opacity: 0;
                transition: all .5s;
            }
    
            /* lihover的时候,  谁变小pic::after */
            .box li:hover .pic::after {
                opacity: 1;
                transform: translate(-50%, -50%) scale(1);
            }
        </style>
    </head>
    <body>
        <div class="box">
            <ul>
                <li>
                    <div class="pic"><img src="./images/party.jpeg" alt=""></div>
                    <p>【和平精英】“初火”音乐概念片:四圣觉醒......</p>
                </li>
            </ul>
        </div>
    </body>
    </html>
    


渐变

渐变是多个颜色逐渐变化的视觉效果

一般用于设置盒子的背景

方式1:

background-image: linear-gradient(
		颜色1,
		颜色2
);

方式2:

background-image: linear-gradient(
    transparent,
    rgba(0,0,0, .6)
);

案例:

image-20230107235224227

Code:

  • <!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.0">
          <title>Document</title>
          <style>
              .box{
                  width: 300px;
                  height: 200px;
                  background-image: linear-gradient(
                      transparent,
                      rgba(0,0,0, .6)
                  );
              }
          </style>
      </head>
      <body>
          <div class="box"></div>
      </body>
      </html>
    


案例:华为渐变产品

image-20230107235234423

Code:

  • <!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.0">
          <title>Document</title>
          <style>
              .box {
                  position: relative;
              }
      
              .box img {
                  width: 300px;
              }
      
              .box .title {
                  position: absolute;
                  left: 15px;
                  bottom: 20px;
      
                  /* 放在顶层 */
                  z-index: 2;
                  width: 260px;
                  color: #fff;
                  /* 字体大小 */
                  font-size: 20px;
                  /* 字体粗细 */
                  font-weight: 700;
              }
      
              .box .mask {
                  position: absolute;
                  
                  left: 0;
                  top: 0;
      
                  opacity: 0;
                  width: 300px;
                  height: 212px;
                  background-image: linear-gradient(
                      transparent,
                      rgba(0, 0, 0, .6)
                  );
                  transition: all .5s;
              }
      
              .box:hover .mask {
                  opacity: 1;
              }
      
          </style>
      </head>
      <body>
          <div class="box">
              <img src="./images/product.jpeg" alt="?">
              <div class="title">OceanStor Pacific 海量存储斩获2021 Interop金奖</div>
              <div class="mask"></div>
          </div>
      
      </body>
      </html>
    

综合案例:

案例;

image-20230107235245422

Code: HTML

  • <!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.0">
          <title>华为新闻</title>
          <link rel="stylesheet" href="./iconfont/iconfont.css">
          <link rel="stylesheet" href="./css/demo.css">
      </head>
      
      <body>
          <div class="box">
              <ul>
                  <li>
                      <a href="#">
                          <div class="pic">
                              <img src="./images/product.jpeg" alt="">
                          </div>
                          <div class="txt">
                              <h4>产品</h4>
                              <h5>OceanStor Pacific 海量存储斩获2021 Interop金奖</h5>
                              <p>
                                  <span>了解更多</span>
                                  <i class="iconfont icon-arrow-right"></i>
                              </p>
                          </div>
      
                          <!-- 添加渐变背景 -->
                          <div class="mask"></div>
                      </a>
                  </li>
                  <li>
                      <a href="#">
                          <div class="pic">
                              <img src="./images/huawei1.jpeg" alt="">
                          </div>
                          <div class="txt">
                              <h4>行业洞察</h4>
                              <h5>迈向智能世界2030</h5>
                              <p>
                                  <span>了解更多</span>
                                  <i class="iconfont icon-arrow-right"></i>
                              </p>
                          </div>
                          <!-- 添加渐变背景 -->
                          <div class="mask"></div>
                      </a>
                  </li>
                  <li>
                      <a href="#">
                          <div class="pic">
                              <img src="./images/huawei2.jpeg" alt="">
                          </div>
                          <div class="txt">
                              <h4>《ICT新视界》刊首语</h4>
                              <h5>笃行致远,共建具有获得感、幸福感、安全感的智慧城市</h5>
                              <p>
                                  <span>了解更多</span>
                                  <i class="iconfont icon-arrow-right"></i>
                              </p>
                          </div>
                          <!-- 添加渐变背景 -->
                          <div class="mask"></div>
                      </a>
                  </li>
              </ul>
          </div>
      </body>
      
      </html>
    
  • Code:CSS

    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    
    li {
        list-style: none;
    }
    
    a {
        text-decoration: none;
    }
    
    img {
        width: 100%;
        vertical-align: middle;
    }
    
    .box {
        width: 1110px;
        height: 247px;
        margin: 20px auto;
        /* background-color: pink; */
    }
    
    .box li {
        position: relative;
        float: left;
        width: 350px;
        height: 247px;
        margin-right: 30px;
        /* 溢出隐藏 */
        overflow: hidden;
    }
    
    .box li:last-child {
        margin-right: 0;
    }
    
    .box .txt {
        position: absolute;
        left: 0;
        bottom: -50px;
        width: 350px;
        height: auto;
        padding: 20px 30px;
        z-index: 1;
        color: #fff;
        transition: transform .5s;
        /* transition: all .5s; */
    }
    
    .box .txt h4 {
        font-size: 14px;
        font-weight: 400;
        line-height: 2em;
        color: #fff;
    }
    
    .box .txt h5 {
        margin-bottom: 40px;
        font-size: 18px;
        line-height: 1.5em;
        color: #fff;
    }
    
    .box .txt p {
        color: #fff;
        font-size: 14px;
    }
    
    .box .txt p .iconfont {
        color: #c7000b;
        vertical-align: middle;
        font-size: 20px;
        font-weight: 700;
    }
    
    /* 1. 渐变背景的盒子 */
    .box .mask {
        position: absolute;
        left: 0;
        top: 0;
        width: 350px;
        height: 247px;
        background-image: linear-gradient(
            transparent,
            rgba(0,0,0,.6)
        );
        opacity: 0;
        transition: all .5s;
    }
    
    /* 2. hover效果 */
    /* 2.1 图片缩放 */
    .box li .pic img {
        transition: all .5s;
    }
    .box li:hover .pic img {
        transform: scale(1.2);
    }
    
    /* 2.2 渐变背景显示 */
    .box li:hover .mask {
        opacity: 1;
    }
    
    /* 2.3 文字向上移动 */
    .box li:hover .txt {
        transform: translateY(-50px);
    }
    

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

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

相关文章

Verilog语法笔记(夏宇闻第三版)-条件语句

目录 if_else语句&#xff1a; 五点说明&#xff1a; case语句&#xff1a; 真值表&#xff1a; ​例&#xff1a; ​由于使用条件语句不当在设计中生成了原本没想到有的锁存器&#xff1a; if_else语句&#xff1a; if语句是用来判定所给定的条件是否满足&#xff0c;…

(十四)面向对象的三大特征

目录 前言: 一、面向对象三大特征之一:封装 二、面向对象三大特征之二:继承 三、面向对象三大特征之三:多态 前言: 面向对象的三大特征:封装、继承、多态。 一、面向对象三大特征之一:封装 1.概述: 封装是把过程和数据包围起来&#xff0c;对数据的访问只能通过已定义的接口…

使用Idea编码常用的28种技巧方式

一丶列表: 1丶查看代码历史版本 2丶调整idea的虚拟内存&#xff1a; 3丶idea设置成eclipse的快捷键 4丶设置提示词忽略大小写 5丶关闭代码检查 6丶设置文档注释模板 7丶显示方法分隔符 8丶设置多行tab 9丶快速匹配方法的大括号位置 10丶代码结尾补全 11丶模糊搜索方法 12丶预览…

用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载

用 Python selenium爬取实时股票新闻并存入mysql数据库中1.分析需求2.创建表3.分析需要爬取的网页内容4.python里面selenium进行爬虫操作1.添加包2.连接数据库3.selenium爬虫前配置4.对股票新闻内容爬取并存入mysql中5.翻页功能6.运行程序首先我们先明确我们的主要目标就是要爬…

5、SySeVR复现——Data preprocess(上)

目录 1、环境 2、生成切片对应的hash 3、获取要删除的切片位置信息 4、对切片进行token化 1、环境 从数据预处理开始&#xff0c;操作系统&#xff1a;windows 10 &#xff0c;软件&#xff1a;pycharm 注&#xff1a;对官方提供的文件&#xff0c;做了一些改动&#xff0c…

插槽 slot

文章目录一、什么是插槽二、插槽内容三、渲染作用域四、默认内容五、具名插槽六、作用域插槽一、什么是插槽 我们使用 <slot> 作为一个占位符&#xff0c;父组件就可以把要传递的内容显示到占位符所在位置上&#xff0c;提高组件使用的灵活性。 二、插槽内容 父组件向…

安信可VC系列语音识别的使用教程

安信可VC-02语音识别的应用&#xff0c;本篇只讲述在Windows系统下的应用。Linux下的请参考官方文档介绍和说明。 1-安信可VC-02离线语音识别简介 VC系列模组是我司开发的一款AI离线语音识别的产品&#xff0c;主芯片是云知声推出的离线语音识别芯片锋鸟M(US516P6)&#xff0c…

Redis基础语法和SpringBoot集成使用

在初期&#xff0c;已经讲述了Redis安装问题。现在正式进入Redis的入门阶段。 Redis客户端 命令行客户端 redis-cli [options] [commands]常用到的 options 有&#xff1a; -h 127.0.0.1: 指定要连接的Redis的IP地址【默认127.0.0.1】-p 6379: 指定连接Redis的端口【默认63…

jenkins前端页面自动运维值yarn编译运行项目

配置步骤如下 首先需要在系统管理中心安装node相关插件 安装完成之后&#xff0c;在系统管理——>全局工具配置——>NodeJS 点击新增Nodejs 此处自定义别名&#xff0c;我这里是Nodejs16&#xff0c;取消自动安装前面的复选框&#xff0c;下方选择我们的nodejs安装目录&…

云服务器定时执行python脚本

文章目录前言crontab简介基本语法定时任务具体内容python 脚本定时任务前言 在服务器上定时执行任务有两种方式&#xff0c;一种是at定时任务&#xff0c;一种是crond任务调度&#xff0c;at命令是一次性定时计划任务&#xff0c;at的守护进程 atd会以后台模式运行&#xff0c…

Spring注解之@validated使用

概念 spring-boot中可以用validated来校验数据&#xff0c;如果数据异常则会统一抛出异常&#xff0c;方便异常中心统一处理。 注解源码&#xff1a; Validated 作用在类、方法和参数上 Target({ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER}) Retention(…

python初级教程十一 urllib

urllib Python urllib 库用于操作网页 URL&#xff0c;并对网页的内容进行抓取处理。 本文主要介绍 Python3 的 urllib。 urllib 包 包含以下几个模块&#xff1a; urllib.request - 打开和读取 URL。 urllib.error - 包含 urllib.request 抛出的异常。 urllib.parse - 解…

【Python入门指北】操作数据库

文章目录一、1.数据库2.练手案例二、redis数据库一、 1.创建一个数据库 [guanmaster1 ~]$ mysql -uroot -p123456 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL…

Apache IoTDB PMC 乔嘉林荣获 2022 杰出开源贡献者|开源技术强大,开源文化活跃...

2022 年 12 月 29 日至 30 日&#xff0c;2022 木兰峰会正式召开&#xff0c;会上发布了中国开源云联盟 2022 年度评选名单。本次评审专家包括数十位开源领域专家、社区领袖、科研院所专家&#xff0c;共评选出杰出开源贡献者 3 人。其中&#xff0c;清华大学助理研究员、博士后…

【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.16 完结和后续:《Qt开发专题-自定义控件》

本节对应的视频讲解&#xff1a;B_站_视_频 https://www.bilibili.com/video/BV1NW4y1K7eL 1. 为什么需要自定义控件 绘图最大的一个应用场景就是自定义控件&#xff0c;Qt 本身提供的一些控件是有限的&#xff0c;并且它提供的一些控件很可能不满足我们的需要 这种情况下&a…

pygame - 图片移动优化

目录 一、优化过程分析 1、pygame - 图片移动中图片移动模式 2、优化过程 二、代码段 1、附注释 2、无注释 三、效果展示 一、优化过程分析 1、pygame - 图片移动中图片移动模式 按一次方向键&#xff0c;图片移动一小步&#xff1b; 若需要一直往某个方向移动&…

【LaTex】LaTex 极简安装教程

文章目录Latex 安装教程1. 下载texlive.iso2. 点击装载3. 运行 install-tl-windows.bat 进行安装4. 验证是否安装成功5. 安装开发工具Latex 安装教程 1. 下载texlive.iso https://mirrors.tuna.tsinghua.edu.cn/ctan/systems/texlive/Images/ 2. 点击装载 下载完成后&#x…

【博客580】内核如何决定数据包的源ip

内核如何决定数据包的源ip 1、Traversing of packets Receive&#xff1a; 某个interface收到数据包 -> PREROUTING (manage, nat) -> routing -> 是发送给本机的数据包? -> INPUT (manage, filter) -> app 不是 -> FORWARD (manage, filter) -> POST…

《Dubbo源码剖析与实战》学习笔记 Day1

流量控制 为了系统的健壮性和稳定性考虑&#xff0c;通常要对访问进行有效的控制&#xff0c;防止流量突然暴增&#xff0c;引发一系列服务雪崩效应。 1.单机限流 大概逻辑就是把每个请求当作一个小朋友&#xff0c;把最细粒度Dubbo服务中的方法当作游乐场&#xff0c;每个方…

Go第 12 章 :1-家庭收支记账软件项目

Go第 12 章 &#xff1a;1-家庭收支记账软件项目 12.1 项目开发流程说明 12.2 项目需求说明 模拟实现基于文本界面的《家庭记账软件》该软件能够记录家庭的收入、支出&#xff0c;并能够打印收支明细表 12.3 项目的界面 12.4 项目代码实现 12.4.1 实现基本功能(先使用面向过…