【前端】CSS(引入方式+选择器+常用元素属性+盒模型+弹性布局)

文章目录

  • CSS
    • 一、什么是CSS
    • 二、语法规范
    • 三、引入方式
          • 1.内部样式表
          • 2.行内样式表
          • 3.外部样式
    • 四、选择器
      • 1.选择器的种类
        • 1.基础选择器:单个选择器构成的
            • 1.标签选择器
            • 2.类选择器
            • 3.id 选择器
            • 4.通配符选择器
        • 2.复合选择器
            • 1.后代选择器
            • 2.子选择器
            • 3.并集选择器
            • 4.伪类选择器
    • 五、常用元素属性
      • 1.字体属性
            • 1.设置字体
            • 2.设置大小
            • 3.设置粗细
            • 4.文字样式
      • 2.文本属性
            • RBG
            • 1.文本颜色
            • 2.文本对齐
            • 3.文本缩进
            • 4.文本装饰
            • 5.行高
      • 3.背景属性
            • 1.背景颜色
            • 2.背景图片
            • 3.背景平铺
            • 4.背景位置
            • 5.背景尺寸
      • 4.圆角矩形
            • 生成圆形
            • 生成圆角矩形
    • 六、元素的显示模式
        • 1.块级元素
        • 2.行内元素
        • 3.行内元素和块级元素的区别
        • 4.改变显示模式
    • 七、盒模型
        • 1.边框
            • 边框会把盒子撑大
        • 2.内边距
        • 3.外边距
        • 4.块级元素水平居中
        • 5.去除浏览器默认样式
    • 八、弹性布局
        • 1.flex布局的概念
        • 2.常用属性
          • 1.justify-content
          • 2.align-items

CSS

一、什么是CSS

  • 层叠样式表(Cascading Style Sheets)
  • 对元素位置的排版进行精确控制,实现结构和样式的分离

CSS 控制页面的展示效果

HTML决定页面的结构

二、语法规范

选择器+{一条/N条声明}

  • 选择器:要修改谁
  • 声明:具体要修改什么内容。声明的属性是键值对,用分号区分,键和值用:

通常情况下,把style放在head中

<style>
    p{
        color: #23b47f;
        /* font-size: 50px; */  
    }
</style>

这里注释和html不一样

三、引入方式

1.内部样式表
  • 通过style标签将CSS嵌套到HTML页面中
  • style 一般放在 head 中

可以让样式和页面结构分离,但是当CSS内容多的时候,分离的不够彻底

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
<style>
    p{
        color: #23b47f;
        font-size: 50px;
    }
</style>
</head>
2.行内样式表
    <h3 style=" color: blueviolet; font-size: 30px;">行内样式表</h3>
  • 只针对某个标签生效
  • 适合简易的样式
  • 优先级高,会覆盖掉其他的样式
3.外部样式
  • 创建一个CSS文件
  • 使用Link标签引如CSS
    <link rel="stylesheet" href="./demo02.css">

样式和结构彻底分离

受浏览器缓存影响,修改后不一定立即生效

  • ctrl+f5强制刷新页面

四、选择器

  • 选中页面中要指定的标签元素
  • 先选中才能设置

1.选择器的种类

1.基础选择器:单个选择器构成的
1.标签选择器
p{
    /* 标签选择器 */
    color: red;
    font-size: 40px;
}
2.类选择器
    <p class="html">hello html</p>
    <p class="java">hello Java</p>
    <p class="html">hello Python</p>
    <p class="java">hello eat</p>

.java{
    color:chartreuse;
    font-size: 30px;
}
.html{
    color:blueviolet;
    font-size: 50px;
}
.longurage{
    font-size: 70px;
}

    <p class="html longurage">hello Python</p>

类名用 . 开头的

类选择器可以进行样式的叠加,因此两个类名用空格隔开

3.id 选择器
    <p id="fe">前端开发</p>
    <p id="server">后端开发</p>
#fe{
    color:red;
    font-size: 80px;
}
#server{
    color: blue;
    font-size: 120px;
}
  • 同一个页面,id的值为一
  • id后加#
4.通配符选择器
  • *选取所有的标签
  • 消除所有元素的默认样式。主要消除边距
* {
    background-color:antiquewhite;
}
2.复合选择器
  • 把多种基础选择器综合运用起来
1.后代选择器

包含选择器,选择父类中的子元素

元素1 元素2 {样式声明}
     ol li{
        color: red;
    }

    ul li{
        color: aqua; 
    }
    .hobby li{
        color: red;
    }

元素 1 和 元素 2 要使用空格分割

元素 1 是父级, 元素 2 是子级, 只选元素 2 , 不影响元素 1

元素 2 不一定非是 儿子, 也可以是孙子

2.子选择器
.two>a {
    color: red;
}
  • 只能选择亲儿子
  • 使用大于号分割
3.并集选择器
  • 用于选择多组标签. (集体声明)
  • 逗号 分割
div, h3 {
    color: red;
}
4.伪类选择器
  • 用来定义元素的状态

1.链接伪类选择器

 a:link 选择未被访问过的链接

a:visited 选择已经被访问过的链接

a:hover 选择鼠标指针悬停上的链接

a:active 选择活动链接(鼠标按下了但是未弹起)
a:link {
    color: black;
    /* 去掉 a 标签的下划线 */
    text-decoration: none;
}
a:visited {
    color: green;
}
a:hover {
    color: red;
}
a:active {
    color: blue;
}
  • 清空浏览器历史记录: ctrl + shift + delete

  • 按照 LVHA 的顺序书写,把 active 拿到前面去, 就会导致 active 失效

2 :force 伪类选择器

  • 选取获取焦点的 input 表单元素.
<div class="three">
    <input type="text">
    <input type="text">
    <input type="text">
    <input type="text">
</div>
.three>input:focus {
    color: red;
}

被选中的表单的字体就会变成红色

五、常用元素属性

1.字体属性

1.设置字体

font-family

    <style>
           .font-family .one {
               font-family: 'Microsoft YaHei';
          }
           .font-family .two {
               font-family: '宋体';
          }
       </style>
++++++++++++++++++++++++++++++++++++++
    <div class="font-family">
        <div class="one">
            这是微软雅黑
             </div>
        <div class="two">
            这是宋体
        </div>
    </div>

2.设置大小

font-size

    p {
        font-size: 100px;
    }
  • chrome 默认大小是 16px
  • 可以给 body 标签使用 font-size
  • 标题标签需要单独指定大小
  • 实际上它设置的是字体中字符框的高度;实际的字符字形可能比这些框高或矮
3.设置粗细
    .font-family .two {
        font-family: '宋体';
        font-size: 30px;
        font-weight: bold;
    }

  • 700 == bold, 400 是不变粗, == normal
  • 取值范围是 100 ~ 900
4.文字样式
        /* 设置倾斜 */
        font-style: italic;
		/* 取消倾斜 */
        font-style :normal;
    .font-style em {
        font-style: normal;
    }
 <div class="font-style">
           <em>倾斜的</em>
           <div class="one">
            正常的
            </div>
    </div>
  • 经常需要把倾斜的改正常

2.文本属性

RBG
  • R (red), G (green), B (blue) 的方式表示颜色(色光三原色)
  • 每个颜色用一个字节表示
  • 一个字节8个比特位, 表示的范围是 0-255, 十六进制表示为 00-FF
  • 255, 255, 255 表示白色; 0, 0, 0 就表示黑色
1.文本颜色
color: red;
color: #ff0000;
color: rgb(255, 0, 0);
2.文本对齐
  • 控制文字水平方向上的对齐

  • lorem 生成一长段文字

<style>
    h1 {
        text-align: left;
    }
    h2 {
        text-align: center;
    }
    h3 {
        text-align: right;
    }
</style>
3.文本缩进
  • 控制段落的 首行 缩进 (其他行不影响)

  • 单位可以使用 px 或者 em.使用 em 更好,1 个 em 就是当前元素的文字大小.

  • 缩进可以是负的, 表示往左缩进. (会导致文字就冒出)

    p {
        text-indent: 2em;
        /* text-indent: 20px; */
    }
4.文本装饰
underline 下划线. [常用]
none 啥都没有. 可以给 a 标签去掉下划线. 
overline 上划线. [不常用]
line-through 删除线 [不常用]

    p {
        text-indent: 2em;
        /* text-indent: -20px; */
        text-decoration: underline;
    }
   a {
        text-decoration: none;
    }
    <a href="#">不跳转</a>
    
5.行高
  • 上下文本行之间的基线距离
    p {
        text-indent: 2em;
        /* text-indent: -20px; */
        text-decoration: underline;
        line-height: 30px;
    }
  • 行高 = 上边距 + 下边距 + 字体大小

3.背景属性

1.背景颜色
  • 默认是 transparent (透明) 的. 可以通过设置颜色的方式修改
    body {
        background-color:blanchedalmond;
    }
2.背景图片
  • 比 image 更方便控制位置(图片在盒子中的位置)
    div {
        width: 500px;
        height: 700px;
       
        background-image: url(https://n.sinaimg.cn/spider20240403/541/w889h452/20240403/16f6-1605b48ddfd6cbf9f6f5f4e8e052308f.jpg);
    }

url 上可以加引号, 也可以不加

3.背景平铺
repeat: 平铺
no-repeat: 不平铺
repeat-x: 水平平铺
repeat-y: 垂直平铺

默认是repeat

  • 背景颜色和背景图片可以同时存在. 背景图片在背景颜色的上方
    div {
        width: 700px;
        height: 400px;
        background-image: url(../image/男.png);
        background-repeat: no-repeat;
    }
4.背景位置
    div {
        width: 700px;
        height: 400px;
       
        /* background-image: url(https://n.sinaimg.cn/spider20240403/541/w889h452/20240403/16f6-1605b48ddfd6cbf9f6f5f4e8e052308f.jpg); */
    
        background-image: url(../image/男.png);
        background-repeat: repeat-y;
        background-position: 200px 200px; /*对背景图片的位置进行移动*/
    }

参数的三种风格:

  1. 方位名词: (top, left, right, bottom)
  2. 精确单位: 坐标或者百分比(以左上角为原点)
  3. 混合单位: 同时包含方位名词和精确单位
  • 两个参数都是方位名词, 则前后顺序无关. (top left 和 left top 等效)

  • 只有一个名词,第二个默认居中(left水平居中)

  • 参数是精确值:第一个是x,第二个是y

  • 参数是精确值:只有一个,是x是值,另一个默认居中

  • 混合单位,第一个是x的,第二个为y

    计算机中的平面坐标系, 一般是左手坐标系(y轴向下)

5.背景尺寸
		background-size: 700px 400px;
		background-size: 80%;
	
        background-size: cover;
        background-size: contain;
  • 填写具体的值
  • 填百分比
  • cover: 扩展至足够大,图像完全覆盖背景区域.超出范围(溢出盒子)
  • contion:扩展至完全适应内容区域的最大尺寸(被盒子框住)

4.圆角矩形

通过 border-radius 使边框带圆角效果

    div {
        width: 400px;
        height: 200px;
        border: 2px green solid; 
        /*solid显示线条  */
        border-radius: 20px;
    
    }
  • length 是内切圆的半径. 数值越大, 弧线越强烈
生成圆形
  • 让 border-radius 的值为正方形宽度的一半
    div {
        width: 400px;
        height: 400px;
        border: 2px green solid; 
        /*solid显示线条  */
        border-radius: 50%;
    
    }
生成圆角矩形
  • border-radius 的值为矩形高度的一半
    div {
        width: 400px;
        height: 200px;
        border: 2px green solid; 
        /*solid显示线条  */
        border-radius: 100px;
    
    }
  • 还可以,针对四个角分别设置
border-radius:2em;                             
等价于                                              
border-top-left-radius:2em;
border-top-right-radius:2em;
border-bottom-right-radius:2em;
border-bottom-left-radius:2em;

border-radius: 10px 20px 30px 40px;
等价于
border-top-left-radius:10px;
border-top-right-radius:20px;
border-bottom-right-radius:30px;
border-bottom-left-radius:40px;

六、元素的显示模式

1.块级元素
h1 - h6
p
div
ul
ol
li
  • 独占一行
  • 高度, 宽度, 内外边距, 行高都可以控制
  • 和父元素一样宽
  • 是一个容器(盒子), 里面可以放行内和块级元素
<style>
    .demo1 .parent {
        width: 500px;
        height: 500px;
        background-color: green;
   }
    .demo1 .child {
        /* 不写 width, 默认和父元素一样宽 */
        /* 不写 height, 默认为 0 (看不到了) */
        height: 200px;
        background-color: red;
   }
</style>
<div class="demo1">
    <div class="parent">
        <div class="child">
           child1
        </div>
        <div class="child">
           child2
        </div>
    </div>
</div>
  • 文字类的元素内不能使用块级元素

    p 标签主要用于存放文字, 内部不能放块级元素, 尤其是div

2.行内元素
a
strong
b
em
i
del
s
ins
u
span
  • 不独占一行, 一行可以显示多个
  • 无法设置高度, 宽度, 行高
  • 默认宽度就是本身的内容
  • 行内元素只能容纳文本和其他行内元素, 不能放块级元素
  • 行内元素 的宽度和高度会根据其内容进行改变
3.行内元素和块级元素的区别

1.块级元素独占一行, 行内元素不独占一行

2.块级元素可以设置宽高, 行内元素不能设置宽高

3.块级元素四个方向都能设置内外边距, 行内元素垂直方向不能设置.

4.改变显示模式
  • 使用 display 属性可以修改元素的显示模式
  • 可以把 div 等变成行内元素, 也可以把 a , span 等变成块级元素
display: block 改成块级元素 [常用]
display: inline 改成行内元素 [很少用]
display: inline-block 改成行内块元素

    a{
        display: block;
    }

    <a href="#">test1</a>
    <a href="#">test2</a

七、盒模型

  • 每一个 HTML 元素就相当于是一个矩形的 “盒子”
边框 border
内容 content
内边距 padding
外边距 margin
1.边框
粗细: border-width

样式: border-style, 默认没边框. solid 实线边框 dashed 虚线边框 dotted 点线边框

颜色: border-color
    div{
        width: 200px;
        height: 100px;
        border-color: black;
        border-style: solid;
        border-width: 10px;
    }

简写: border: black solid 10px;
边框会把盒子撑大
  • 通过 box-sizing 属性可以修改浏览器的行为, 使边框不再撑大盒子
    div{
        width: 200px;
        height: 100px;
        border-color: black;
        border-style: solid;
        border-width: 10px;
        box-sizing: border-box;
    }
* {
    box-sizing: border-box;
}
2.内边距
  • padding 设置内容和边框之间的距离
  • 默认内容是顶着边框来放置的. 用 padding 来控制这个距离
        padding-left: 5px;
        padding-top: 5px;
        padding-right: 5px;
        padding-bottom: 5px;

简写: padding: 5px;
还有按照顺时针写四个px
3.外边距
  • 控制盒子和盒子之间的距离
    div{
        border: solid green 5px;
        /* margin-top: 5px;
        margin-bottom: 5px;
        margin-left: 5px;
        margin-right: 5px; */
        /* margin: 5px; */
        margin: 5px 5px 6px 6px;
    }
4.块级元素水平居中
  • 前提:指定宽度(如果不指定宽度, 默认和父元素一致)

  • 把水平 margin 设为 auto

    div{
        border: solid green 5px; 
        width: 200px;
        height: 100px;

        margin: auto;
        /* 居中的是盒子,调整的是外边框 */
        
        text-align: center;
    }
margin-left: auto; margin-right: auto;
margin: auto;
margin: 0 auto;

三种写法都可以

  • 对于垂直居中, 不能使用 "上下 margin 为 auto " 的方式
5.去除浏览器默认样式
    * {
        margin: 0px;
        padding: 0px;
    }

八、弹性布局

1.flex布局的概念
  • flex 是 flexible box 的缩写(弹性盒子)
  • 任何一个 html 元素, 都可以指定为 display:flex 完成弹性布局
  • 本质是给父盒子添加 display:flex 属性, 来控制子盒子的位置和排列方式
  • 当父元素设置为 display: flex 之后, 子元素的 float, clear, vertical-align 都会失效
    div {
        height: 700px;
        width: 700px;
        background-color: green;
        display: flex;
        /*定义在直接的父级元素上 
        加上后不再是行内元素,大小为自己设置的宽高 */
    }
  • flex container :被设置display:flex属性的元素
  • flex item: 子元素成为这个容器的成员。可以纵向排列或者横向排列
  • flex direction(主轴):控制排列方向
2.常用属性
1.justify-content
  • 设置主轴上的子元素排列方式
        justify-content:flex-end;
        /* 项目位于容器的结尾 */
        justify-self: start;
        /* start是默认情况,默认在容器的开头 */

平分剩余空间
        justify-content: space-between;
        /* 项目在行与行直接有间隙 */
        justify-content: space-around;
         /* 在项目的行之前,行之后,行之间留上空间 */
2.align-items
  • 设置侧轴上的元素排列方式
  • align-items 只能针对单行元素来实现. 如果有多行元素, 就需要使用 item-contents
        align-items: stretch;
        align-items:start;
        align-items:end;
        align-items: center;
        align-items: space-around;
        align-items: space-between;

stretch(拉伸)是 align-content 的默认值

  • 如果子元素没有被显示指定高度,就会填充父元素的高度

点击移步博客主页,欢迎光临~

偷cyk的图

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一文教你配置 Tomcat 9.0.19 + Java 12.0.2,并启用 SSL——以 Windows Server 2019 平台为例

Tomcat 的运行依赖 JAVA 环境&#xff01;安装的时候会让你选择 JDK 所在路径。 Linux 下的安装教程已更新&#xff1a; 操作系统&#xff1a;Windows Server 2019 Datacenter JAVA 版本&#xff1a;12.0.2 Tomcat 版本&#xff1a;9.0.19 GeoServer 版本&#xff1a;2.23.2 …

【机器学习入门】使用YOLO模型进行物体检测

系列文章目录 第1章 专家系统 第2章 决策树 第3章 神经元和感知机 识别手写数字——感知机 第4章 线性回归 第5章 逻辑斯蒂回归和分类 第5章 支持向量机 第6章 人工神经网络(一) 第6章 人工神经网络(二) 卷积和池化 第6章 使用pytorch进行手写数字识别 文章目录 系列文章目录前…

LeetCode-51. N 皇后【数组 回溯】

LeetCode-51. N 皇后【数组 回溯】 题目描述&#xff1a;解题思路一&#xff1a;回溯&#xff0c; 回溯三部曲。验证是否合法只需要检查:1.正上方&#xff1b;2. 左上方&#xff1b;3.右上方。因为是从上到下&#xff0c;从左到右遍历的&#xff0c;下方不可能有皇后。解题思路…

计算机网络基础(一)

目录 一.互联网和因特网 二.因特网的发展历程 三.因特网的功能 3.1边缘部分 3.1.1&#xff1a;客户服务器方式&#xff08;C/S方式&#xff09; 3.1.2&#xff1a;对等方式 3.2.核心部分 3.2.1&#xff1a;电路交换 3.2.2.报文交换 3.2.3&#xff1a;分组交换 四.计…

Python | Leetcode Python题解之第11题盛最多水的容器

题目&#xff1a; 题解&#xff1a; class Solution:def maxArea(self, height: List[int]) -> int:l, r 0, len(height) - 1ans 0while l < r:area min(height[l], height[r]) * (r - l)ans max(ans, area)if height[l] < height[r]:l 1else:r - 1return ans

基于Python的自然语言的话题文本分类(V2.0),附源码

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

Java 哈希表

一、哈希表的由来 我们的java程序通过访问数据库来获取数据&#xff0c;但是当我们对数据库所查询的信息进行大量分析后得知&#xff0c;我们要查询的数据满足二八定律&#xff0c;一般数据库的数据基本存储在磁盘当中。这使得每次查询数据将变得无比缓慢。为此我们可以将经常…

逆向案例十二——看准网企业信息json格式的信息

网址&#xff1a;【全国公司排行|排名榜单|哪家好】-看准网 打开开发者工具——刷新——网络——XHR——下滑页面加载新的页面——找到数据包 发现参数加密&#xff0c;返回的数据也进行了加密 按关键字在下方搜索 kiv进入第一个js文件 ctrlf打开文件里面的搜索框继续搜kiv找到…

多模态系列-综述Video Understanding with Large Language Models: A Survey

本文是LLM系列文章,针对《Video Understanding with Large Language Models: A Survey》的翻译。 论文链接:https://arxiv.org/pdf/2312.17432v2.pdf 代码链接:https://github.com/yunlong10/Awesome-LLMs-for-Video-Understanding 大型语言模型下的视频理解研究综述 摘要…

替换空格(替换特定字符)

&#x1f600;前言 在字符串处理中&#xff0c;经常会遇到需要替换特定字符的情况。本文将介绍一道经典的字符串替换问题&#xff1a;将字符串中的空格替换成 “%20”。我们将探讨一种高效的解决方法&#xff0c;通过倒序遍历字符串来实现原地替换&#xff0c;避免额外空间的开…

吴恩达:AI 智能体工作流

热门文章推荐&#xff1a; &#xff08;1&#xff09;《为什么很多人工作 3 年 却只有 1 年经验&#xff1f;》&#xff08;2&#xff09;《一文掌握大模型提示词技巧&#xff1a;从战略到战术巧》&#xff08;3&#xff09;《AI 时代&#xff0c;程序员的出路在何方&#xff1…

Python+Yolov8框选位置目标识别人数统计计数

程序示例精选 PythonYolov8框选位置目标识别人数统计计数 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《PythonYolov8框选位置目标识别人数统计计数》编写代码&#xff0c;代码整洁&#…

深度探索Sketch:功能、历程、替代软件及技巧一览

Sketch 它是一个适合所有设计师的矢量绘图应用程序。矢量绘图也是设计网页、图标和界面的最佳方式。但除了矢量编辑的功能外&#xff0c;我们还增加了一些基本的位图工具&#xff0c;如模糊和颜色校正。 为什么选择Sketch Sketch 它是为图标设计和界面设计而生的。它是一个优…

职场新变革:AI赋能ICT劳动力联盟的行动与展望

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

【活动创作】未来AI技术方面会有哪些创业机会

放假期间突然看到这个活动创作&#xff0c;觉得很有意思&#xff0c;既然如此&#xff0c;我就先让AI来回答一下吧&#xff0c;哈哈 1、文心一言 首先来看看文心一言的回答&#xff1a; 2、讯飞星火 然后来看看讯飞星火的回答&#xff1a; 3、个人感受 最后来说说给人感受吧&am…

美国CPC认证是什么?为什么必须办理CPC认证呢?

美国CPC认证&#xff0c;全称为Childrens Product Certificate&#xff0c;是儿童产品认证的意思。它主要针对的是在美国市场销售的儿童产品&#xff0c;如玩具、家具、童车、餐椅、床上用品等。CPC认证要求产品安全性高&#xff0c;符合美国加州65、16 CFR等法规要求&#xff…

【Linux】达梦数据库安装部署(附详细图文)

目录 一、安装前的准备工作 1.检查操作系统配置 &#xff08;1&#xff09;获取系统位数 getconf LONG_BIT &#xff08;2&#xff09;查看操作系统release信息 cat /etc/system-release &#xff08;3&#xff09;查询系统名称 uname -a &#xff08;4&#xff09;查看操…

Filter

文章目录 Filter快速入门url-pattern生命周期FilterConfigFilterChain 过滤器链执行顺序 Filter Filter 过滤器它是 JavaWeb 的三大组件之一(Servlet 程序、Listener 监听器、Filter 过滤器)。 Filter 过滤器它的作用是&#xff1a;拦截请求&#xff0c;过滤响应。 快速入门 创…

撸代码时,有哪些习惯一定要坚持?

我从2011年开始做单片机开发&#xff0c;一直保持以下撸代码的习惯。 1.做好代码版本管理 有些人&#xff0c;喜欢一个程序干到底&#xff0c;直到实现全部的产品功能&#xff0c;我以前做51单片机的项目就是这样。 如果功能比较多的产品&#xff0c;我不建议这样做&#xff0…

【CSS】背景模糊,不模糊主体文字

问题 背景模糊&#xff0c;不模糊文本 效果图 t1 t2 t3 实现思路 自定义css变量存储图片地址&#xff0c;方便后期更改使用伪元素实现背景模糊达到不遮挡主体文本 transform: scale(1.5)吧图片放大1.5倍&#xff0c;避免设置背景模糊出现白边。 overflow: hidden 超出隐藏&…