CSS -- CSS选择器精讲(基础选择器,符合选择器,属性选择器,结构伪类选择器,伪选择器)

news2024/11/17 13:29:59

文章目录

  • 1 CSS基础选择器
    • 1.1 选择器的分类
    • 1.2 标签选择器
    • 1.3 类选择器
    • 1.4 id选择器
    • 1.5 通配符选择器
    • 1.6 基础选择器总结
  • 2 CSS的复合选择器
    • 2.1 什么是复合选择器
    • 2.2 后代选择器
    • 2.3 子选择器
    • 2.4 并集选择器
    • 2.5 伪类选择器
    • 2.6 链接伪类选择器
    • 2.7 :focus 伪类选择器
    • 2.8 复合选择器总结
  • 3 属性选择器
  • 4 结构伪类选择器
    • 4.1 选择第n个孩子
    • 4.2 nth-child(n)
    • 4.3 nth-of-type()
    • 4.4 nth-child和nth-of-type的区别
    • 4.5 结构伪类选择器小结
  • 5 伪元素选择器
    • 5.1 案例:经过盒子显示遮罩层
    • 5.2 伪元素清除浮动

1 CSS基础选择器

CSS 选择器参考手册 (w3school.com.cn)

选择器(选择符)就是根据不同需求把不同的标签选出来这就是选择器的作用。 简单来说,就是选择标签用的

1.1 选择器的分类

选择器分为基础选择器和复合选择器两个大类,我们这里先讲解一下基础选择器。

  • 基础选择器是由单个选择器组成的
  • 基础选择器又包括:标签选择器、类选择器、id 选择器和通配符选择器

1.2 标签选择器

标签选择器(元素选择器)是指用 HTML 标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的 CSS 样式。

语法:

标签名{
    属性1: 属性值1; 
    属性2: 属性值2; 
    属性3: 属性值3; 
    ...
}

示例:将所有div的背景颜色设置为红色

div {
	background-color: "red";
}
  • 作用:标签选择器可以把某一类标签全部选择出来,比如所有的 <div> 标签和所有的 <span> 标签。
  • 优点:能快速为页面中同类型的标签统一设置样式。
  • 缺点:不能设计差异化样式,只能选择全部的当前标签。

1.3 类选择器

如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器

类选择器在 HTML 中以 class 属性表示,在 CSS 中,类选择器以一个点.号显示。

语法

.类名 {
    属性1: 属性值1; 
    属性2: 属性值2; 
} 

结构需要用class属性来调用 class 类的意思

<div class=‘red’> 变红色 </div>

例如,将所有拥有 red 类的 HTML 元素均为红色。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>基础选择器之类选择器</title>
    <style>
        /* 类选择器口诀: 样式点定义  结构类(class)调用  一个或多个 开发最常用*/
      .red {
          color: red;
      }
      .star-sing {
        color: green;
      }
      .memeda {  
         color: pink;
      }
    </style>
</head>
<body>
    <ul>
        <li class="red">冰雨</li>
        <li class="red">来生缘</li>
        <li>李香兰</li>
        <li class="memeda">生僻字</li>
        <li class="star-sing">江南style</li>
    </ul>
    <div class="red">我也想变红色</div>
</body>
</html>

image-20221210000157839

① 类选择器使用.(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)。

② 可以理解为给这个标签起了一个名字,来表示。

③ 长名称或词组可以使用中横线来为选择器命名。

④ 不要使用纯数字、中文等命名,尽量使用英文字母来表示。

⑤ 命名要有意义,尽量使别人一眼就知道这个类名的目的。

⑥ 命名规范:见附件( Web 前端开发规范手册.doc)

除了单个类名外,我们也可以以给一个标签指定多个类名,从而达到更多的选择目的。 这些类名都可以选出这个标签.

多类名使用方式

<div class="red font20">亚瑟</div>

(1) 在标签class 属性中写 多个类名

(2) 多个类名中间必须用空格分开

(3) 这个标签就可以分别具有这些类名的样式

多类名使用场景

(1) 可以把一些标签元素相同的样式(共同的部分)放到一个类里面.

(2) 这些标签都可以调用这个公共的类,然后再调用自己独有的类.

(3) 从而节省CSS代码,统一修改也非常方便.

<div class="pink fontWeight font20">亚瑟</div>
<div class="font20">刘备</div>
<div class="font14 pink">安其拉</div>
<div class="font14">貂蝉</div>
  • 各个类名中间用空格隔开
  • 简单理解:就是给某个标签添加了多个类,或者这个标签有多个名字
  • 这个标签就可以分别具有这些类名的样式
  • 从而节省CSS代码,统一修改也非常方便.
  • 多类名选择器在后期布局比较复杂的情况下,还是较多使用的

1.4 id选择器

id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。

HTML 元素以 id 属性来设置 id 选择器,CSS 中 id 选择器以# 来定义

注意:id 属性只能在每个 HTML 文档中出现一次。

语法

#id名 {
    属性1: 属性值1; 
    ...
}

例如,将 id 为 nav 元素中的内容设置为红色。

#nav {
    color:red;
}

id选择器和类选择器的区别

① 类选择器(class)好比人的名字,一个人可以有多个名字,同时一个名字也可以被多个人使用

② id 选择器好比人的身份证号码,全中国是唯一的,不得重复。

③ id 选择器和类选择器最大的不同在于使用次数上

④ 类选择器在修改样式中用的最多,id 选择器一般用于页面唯一性的元素上,经常和 JavaScript 搭配使用。

1.5 通配符选择器

在 CSS 中,通配符选择器使用*定义,它表示选取页面中所有元素(标签)

语法

* {
    属性1: 属性值1; 
    属性2: 属性值2; 
}

通配符选择器不需要调用, 自动就给所有的元素使用样式

特殊情况才使用,后面讲解使用场景(以下是清除所有的元素标签的内外边距)

* {
    margin: 0;
    padding: 0;
}

1.6 基础选择器总结

image-20221210001456580

  • 每个基础选择器都有使用场景,都需要掌握
  • 如果是修改样式, 类选择器是使用最多的

2 CSS的复合选择器

2.1 什么是复合选择器

在 CSS 中,可以根据选择器的类型把选择器分为基础选择器复合选择器,复合选择器是建在基础选择器之上,对

基本选择器进行组合形成的。

  • 复合选择器可以更准确、更高效的选择目标元素(标签)
  • 复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的
  • 常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等

2.2 后代选择器

后代选择器又称为包含选择器,可以选择父元素里面子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代

语法:

元素1 元素2 { 样式声明 }

上述语法表示选择元素 1 里面的所有元素 2 (后代元素)。

例如:

ul li { 样式 } /* 选择 ul 里面所有的 li标签元素 */
  • 元素1 和 元素2 中间用空格隔开
  • 元素1 是父级,元素2 是子级,最终选择的是元素2
  • 元素2 可以是儿子,也可以是孙子等,只要是元素1 的后代即可
  • 元素1 和 元素2 可以是任意基础选择器

2.3 子选择器

子元素选择器(子选择器)只能选择作为某元素的最近一级子元素。简单理解就是选亲儿子元素

语法:

元素1 > 元素2 { 样式声明 }

上述语法表示选择元素1 里面的所有直接后代(子元素) 元素2

例如:

div > p { 样式声明 } /* 选择 div 里面所有最近一级 p 标签元素 */
  • 元素1 和 元素2 中间用 大于号 隔开
  • 元素1 是父级,元素2 是子级,最终选择的是元素2
  • 元素2 必须是**亲儿子,**其孙子、重孙之类都不归他管. 你也可以叫他 亲儿子选择器

2.4 并集选择器

并集选择器可以选择多组标签, 同时为他们定义相同的样式。通常用于集体声明.

并集选择器是各选择器通过英文逗号,连接而成,任何形式的选择器都可以作为并集选择器的一部分。

语法:

元素1,元素2 { 样式声明 }

上述语法表示选择元素1 和 元素2

例如:

ul, div { 样式声明 } /* 选择 ul 和 div标签元素 */
  • 元素1 和 元素2 中间用逗号隔开
  • 逗号可以理解为的意思
  • 并集选择器通常用于集体声明

2.5 伪类选择器

伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素。

伪类选择器书写最大的特点是用冒号:表示,比如 :hover 、 :first-child 。

因为伪类选择器很多,比如有链接伪类、结构伪类等,所以这里先给大家讲解常用的链接伪类选择器

2.6 链接伪类选择器

  1. 为了确保生效,请按照 LVHA 的循顺序声明 :link -> :visited -> :hover -> :active。不能颠倒顺序!

    image-20221210110421833

  2. 记忆法:love hate 或者 lv 包包 hao 。

  3. 因为 a 链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式。

链接伪类选择器实际工作开发中的写法:

/* a 是标签选择器 所有的链接 */ 
a { 
    color: gray;
}
/* :hover 是链接伪类选择器 鼠标经过 */
a:hover { 
    color: red; /* 鼠标经过的时候,由原来的 灰色 变成了红色 */
}

案例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>复合选择器之链接伪类选择器</title>
    <style>
        /* 1.未访问的链接 a:link  把没有点击过的(访问过的)链接选出来 */
        a:link {
            color: #333;
            text-decoration: none;
        }

        /*2. a:visited 选择点击过的(访问过的)链接 */
        a:visited {
            color: orange;
        }

        /*3. a:hover 选择鼠标经过的那个链接 */
        a:hover {
            color: skyblue;
        }

        /* 4. a:active 选择的是我们鼠标正在按下还没有弹起鼠标的那个链接 */
        a:active {
            color: green;
        }
    </style>
</head>

<body>
    <a href="#">小猪佩奇</a>
    <a href="http://www.xxxxxxxx.com">未知的网站</a>
</body>

</html>

2.7 :focus 伪类选择器

:focus 伪类选择器用于选取获得焦点的表单元素。

焦点就是光标,一般情况 <input> 类表单元素才能获取,因此这个选择器也主要针对于表单元素来说。

input:focus { 
 	background-color:yellow;
}

2.8 复合选择器总结

image-20221210110818055

3 属性选择器

属性选择器可以根据元素特定属性的来选择元素。 这样就可以不用借助于类或者id选择器。

image-20221213125144439

image-20221213125409569

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>CSS3新增属性选择器</title>
    <style>
        /* 必须是input 但是同时具有 value这个属性 选择这个元素  [] */
        /* input[value] {
            color:pink;
        } */
        /* 只选择 type =text 文本框的input 选取出来 */
        input[type=text] {
            color: pink;
        }
        /* 选择首先是div 然后 具有class属性 并且属性值 必须是 icon开头的这些元素 */
        div[class^=icon] {
            color: red;
        }
        section[class$=data] {
            color: blue;
        }
        div.icon1 {
            color: skyblue;
        }
        /* 类选择器和属性选择器 伪类选择器 权重都是 10 */
    </style>
</head>
<body>
    <!-- 1. 利用属性选择器就可以不用借助于类或者id选择器 -->
    <!-- <input type="text" value="请输入用户名">
    <input type="text"> -->
    <!-- 2. 属性选择器还可以选择属性=值的某些元素 重点务必掌握的 -->
    <input type="text" name="" id="">
    <input type="password" name="" id="">
    <!-- 3. 属性选择器可以选择属性值开头的某些元素 -->
    <div class="icon1">小图标1</div>
    <div class="icon2">小图标2</div>
    <div class="icon3">小图标3</div>
    <div class="icon4">小图标4</div>
    <div>我是打酱油的</div>
    <!-- 4. 属性选择器可以选择属性值结尾的某些元素 -->
    <section class="icon1-data">我是安其拉</section>
    <section class="icon2-data">我是哥斯拉</section>
    <section class="icon3-ico">哪我是谁</section>
</body>
</html>

4 结构伪类选择器

结构伪类选择器主要根据文档结构来选择器元素, 常用于根据父级选择器里面的子元素

image-20221213125510115

first-child

4.1 选择第n个孩子

image-20221213130148983

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>CSS3新增结构伪类选择器</title>
        <style>
            /* 1. 选择ul里面的第一个孩子 小li */
            ul li:first-child {
                background-color: pink;
            }
            /* 2. 选择ul里面的最后一个孩子 小li */
            ul li:last-child {
                background-color: green;
            }
            /* 3. 选择ul里面的第2个孩子 小li */
            ul li:nth-child(2) {
                background-color: skyblue;
            }
            ul li:nth-child(6) {
                background-color: purple;
            }
        </style>
    </head>
    <body>
        <ul>
            <li>我是第1个孩子</li>
            <li>我是第2个孩子</li>
            <li>我是第3个孩子</li>
            <li>我是第4个孩子</li>
            <li>我是第5个孩子</li>
            <li>我是第6个孩子</li>
            <li>我是第7个孩子</li>
            <li>我是第8个孩子</li>
        </ul>
    </body>
</html>

4.2 nth-child(n)

nth-child(n) 选择某个父元素的一个或多个特定的子元素(重点)

  • n 可以是数字,关键字和公式
  • n 如果是数字,就是选择第 n 个子元素, 里面数字从1开始…
  • n 可以是关键字:even 偶数,odd 奇数
  • n 可以是公式:常见的公式如下 ( 如果n是公式,则从0开始计算,但是第 0 个元素或者超出了元素的个数会被忽略 )
  • 只写n的话表示遍历所有的元素(从0到超过范围),可以根据这个构造公式

image-20221213130449177

隔行变色:

image-20221213130508540

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>CSS3新增结构伪类选择器-nth-child</title>
        <style>
            /* 1.把所有的偶数 even的孩子选出来 */
            ul li:nth-child(even) {
                background-color: #ccc;
            }
            /* 2.把所有的奇数 odd的孩子选出来 */
            ul li:nth-child(odd) {
                background-color: gray;
            }
        </style>
    </head>
    <body>
        <ul>
            <li>我是第1个孩子</li>
            <li>我是第2个孩子</li>
            <li>我是第3个孩子</li>
            <li>我是第4个孩子</li>
            <li>我是第5个孩子</li>
            <li>我是第6个孩子</li>
            <li>我是第7个孩子</li>
            <li>我是第8个孩子</li>
        </ul>
    </body>
</html>

4.3 nth-of-type()

使用起来和nth-child()一样的,只不过是将指定元素进行排序然后选择,比nth-child()好用一些

image-20221213131741193

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>CSS3新增选择器nth-type-of</title>
        <style>
            ul li:first-of-type {
                background-color: pink;
            }
            ul li:last-of-type {
                background-color: pink;
            }
            ul li:nth-of-type(even) {
                background-color: skyblue;
            }
        </style>
    </head>
    <body>
        <ul>
            <li>我是第1个孩子</li>
            <li>我是第2个孩子</li>
            <li>我是第3个孩子</li>
            <li>我是第4个孩子</li>
            <li>我是第5个孩子</li>
            <li>我是第6个孩子</li>
            <li>我是第7个孩子</li>
            <li>我是第8个孩子</li>
        </ul>
    </body>
</html>

4.4 nth-child和nth-of-type的区别

区别:

  1. nth-child 对父元素里面所有孩子排序选择(序号是固定的) 先找到第n个孩子,然后看看是否和E匹配

  2. nth-of-type 对父元素里面指定子元素进行排序选择。 先去匹配E ,然后再根据E 找第n个孩子

image-20221213132516935

image-20221213131900209

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>CSS3新增选择器nth-type-of</title>
        <style>
            /* nth-child 会把所有的盒子都排列序号 */
            /* 执行的时候首先看  :nth-child(1) 之后回去看 前面 div */
            section div:nth-child(1) {
                background-color: red;
            }
            
            /* nth-of-type 会把指定元素的盒子排列序号 */
            /* 执行的时候首先看  div指定的元素  之后回去看 :nth-of-type(1) 第几个孩子 */
            section div:nth-of-type(1) {
                background-color: blue;
            }
        </style>
    </head>
    <body>
        <!-- 区别 -->
        <section>
            <p>光头强</p>
            <div>熊大</div>
            <div>熊二</div>
        </section>
    </body>

</html>

4.5 结构伪类选择器小结

  • 结构伪类选择器一般用于选择父级里面的第几个孩子
  • nth-child 对父元素里面所有孩子排序选择(序号是固定的) 先找到第n个孩子,然后看看是否和E匹配
  • nth-of-type 对父元素里面指定子元素进行排序选择。 先去匹配E ,然后再根据E 找第n个孩子
  • 关于 nth-child(n) 我们要知道 n 是从 0 开始计算的,要记住常用的公式
  • 如果是无序列表,我们肯定用 nth-child 更多
  • 类选择器、属性选择器、伪类选择器,权重为 10

5 伪元素选择器

伪元素选择器可以帮助我们利用CSS创建新标签元素,而不需要HTML标签,从而简化HTML结构

image-20221213132229282

注意:

  • before 和 after 创建一个元素,但是属于行内元素
  • 新创建的这个元素在文档树中是找不到的,所以我们称为伪元素
  • 语法: element::before {}
  • before 和 after 必须有 content 属性
  • before 在父元素内容的前面创建元素,after 在父元素内容的后面插入元素
  • 元素选择器和标签选择器一样,权重为 1

div::after权重为2

5.1 案例:经过盒子显示遮罩层

image-20221213133547095

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>伪元素选择器使用场景2-仿土豆网显示隐藏遮罩案例</title>
        <style>
            .tudou {
                position: relative;
                width: 444px;
                height: 320px;
                background-color: pink;
                margin: 30px auto;
            }

            .tudou img {
                width: 100%;
                height: 100%;
            }

            .tudou::before {
                /* 这个必须得加 */
                content: '';
                /* 隐藏遮罩层 */
                display: none;
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(0, 0, 0, 0.4) url(images/arr.png#pic_center) no-repeat center;
            }

            /* 当我们鼠标经过了 土豆这个盒子,就让里面before遮罩层显示出来 */
            .tudou:hover::before {
                /* 而是显示元素 */
                display: block;
            }
        </style>
    </head>
    <body>
        <div class="tudou">
            <img src="images/tudou.jpg" alt="" />
        </div>
    </body>
</html>

5.2 伪元素清除浮动

清除伪元素的方法

  1. 额外标签法也称为隔墙法,是 W3C 推荐的做法。

  2. 父级添加 overflow 属性

  3. 父级添加after伪元素

  4. 父级添加双伪元素

额外标签法也称为隔墙法,是 W3C 推荐的做法。

image-20221213133729173

注意: 要求这个新的空标签必须是块级元素。

添加after伪元素清除浮动

image-20221213133829826

双伪元素清除浮动

image-20221213133911005

image-20221213133950621

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

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

相关文章

正点原子-Linux嵌入式开发学习-第二期04

第十一讲&#xff1a;BSP工程管理 BSP管理其实就是以前学stm32一样的单独为led写.h和.c&#xff0c;并且文件夹有很多种 使用ubuntu的vscode创建bsp文件 第一步&#xff1a;新建bsp文件夹&#xff0c;在bsp文件夹新建各个外设或者功能的文件夹&#xff08;一定是在相应的文件夹…

nodejs+vue+elementui鲜花销售商城管理系统410

前台&#xff1a; (1) 用户注册&#xff1a;用户名&#xff0c;密码&#xff0c;确认密码&#xff0c;邮箱&#xff0c;手机号&#xff0c;真实姓名&#xff0c;收货地址 (2) 用户登录&#xff1a;用户名&#xff0c;密码&#xff0c;验证码 登录后在主页显示欢迎信息&am…

2022年保险行业和产品研究报告

第一章 行业概况 保险业是经营风险的特殊行业。保险是以契约形式确立双方经济关系&#xff0c;以缴纳保险费建立起来的保险基金&#xff0c;对保险合同规定范围内的灾害事故所造成的损失&#xff0c;进行经济补偿或给付的一种经济形式。 保险是专门以风险为经营对象、为人们提…

RK3568开发环境搭建

前面我给大家展示了RK3568的开发板&#xff0c;但是并没有对RK3568的芯片资源进行描述&#xff0c;这里简单给大家看下该芯片的资源&#xff0c;具体的请看瑞芯微官网https://www.rock-chips.com/ 对芯片有了写了解之后&#xff0c;下面就开始搭建开发环境&#xff0c;让我们早…

Databend 开源周报 #72

Databend 是一款强大的云数仓。专为弹性和高效设计&#xff0c;自由且开源。 即刻体验云服务&#xff1a;https://app.databend.com。 What’s New 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 Features & Improvements Multiple Catalogs …

操作系统:虚拟存储器 练习题(带有答案和解析)

文章目录1.虚拟存储器概述1.1.常规存储管理方式的特征和局部性原理1.2.虚拟存储器的定义和特征1.3.虚拟存储器的实现方法2.请求分页存储管理方式2.1.请求分页中的硬件支持2.2.请求分页中的内存分配3.页面置换算法3.1.最佳置换算法和先进先出置换算法3.2.最近最久未使用和最少使…

Spring事件处理

在实际业务开发中&#xff0c;有时候复杂性的业务之间需要解耦&#xff0c;常用的方法&#xff1a;同步、异步、MQ。但 MQ 重啊&#xff0c;非必要不提升架构复杂度。 针对同步和异步使用方式&#xff1a;&#xff11;.定时器 &#xff12;.Spring Event. Spring Event: 观察者…

网站反爬指南:政府网站篇

目录 前言 黑灰产为何盯上政务网站&#xff1f; 如何反爬&#xff1f; 前言 网络爬虫正在成为政务网站们最大的威胁之一。 随着网络安全被提升到国家层面&#xff0c;网站安全管理和防护日趋重要&#xff0c;政务网站既要确保网站信息的及时和准确&#xff0c;又要能应对网络…

15. Spring事务管理

1. Spring事务简介 事务作用&#xff1a;在数据层保障一系列的数据库操作同成功同失败Spring事务作用&#xff1a;在数据层或**业务层**保障一系列的数据库操作同成功同失败 2. 案例 2.1 需求和分析 需求&#xff1a;实现任意两个账户间转账操作需求微缩&#xff1a;A账户减…

如何使用 SAP OData 服务向 ABAP 服务器上传文件试读版

本教程到目前为止开发的 OData 图书管理服务&#xff0c;可以在 ABAP 系统里对图书数据进行增删改查。 本步骤我们继续介绍如何通过 SAP OData 服务&#xff0c;实现向 ABAP 系统上传文件的需求。我们采取 Postman 进行文件上传。 先看一下通过本文介绍的步骤&#xff0c;实现…

word基础功能应用:带圈字符如此妙法,好玩有趣

很多人把Word当成码字的记事本&#xff0c;其实它的逆天操作&#xff0c;远比你想象得还要强大。比如&#xff0c;Word中的“带圈字符”功能。 01、基本用法 Word中&#xff0c;点击【开始】-【带圈字符】按钮&#xff0c;即可启用“带圈字符”功能。 比如&#xff0c;我们可…

自然语言处理学习笔记-lecture10-机器翻译01

机器翻译的产生与发展 机器翻译 (machine translation, MT) 是用计算机把一种语言(源语言, source language) 翻译成另一种语言(目标语言, target language) 的一门学科和技术。 机器翻译的困难如下&#xff1a; 自然语言中普遍存在的歧义和未知现象机器翻译不仅仅是字符串的…

Spring IOC和Bean生命周期以及源码分析

这篇文章主要讲解 IOC 容器的创建过程&#xff0c;让大家对整体有一个全局的认识,文章目录如图: 1. 基础知识 1.1 什么是 Spring IOC &#xff1f; IOC 不是一种技术&#xff0c;只是一种思想&#xff0c;一个重要的面向对象编程的法则&#xff0c;它能指导我们如何设计出松耦…

springboot小区物业管理系统maven idea1562

本小区物业管理系统以springboot作为框架&#xff0c;以MySql作为后台运行的数据库&#xff0c;使用Tomcat用为系统的服务器&#xff0c;同时使用JSP显示业主界面。本系统主要包括以下功能模块&#xff1a;个人中心、业主管理、费用缴纳管理、疫情防控管理、小区车位管理、车位…

基于 Traefik 的 Basic Auth 配置

前言 Traefik是一个现代的HTTP反向代理和负载均衡器&#xff0c;使部署微服务变得容易。 Traefik可以与现有的多种基础设施组件&#xff08;Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...&#xff09;集成&#xff0c;并自动和动态地配置自…

Allegro如何快速统计串阻前后端的长度操作指导

Allegro如何快速统计串阻前后端的长度操作指导 Allegro可以快捷的统计出串阻前后端的长度,并且归一到一个网络中,方便查看 比如需要统计1-3的总长 具体操作如下 选择Analyze-Model Assignment出现SI Design Audit窗口,直接点击ok<

CSS -- CSS3中3D转换相关属性讲解(translate3d,rotate3d,perspective,transform-style)

文章目录3D转换1 三维坐标系2 3D移动 translate3d3 透视 perspective4 3D 旋转 rotate3d5 3D旋转 rotate3d6 3D呈现 transform-style7 3D案例3D转换 我们生活的环境是3D的&#xff0c;照片就是3D物体在2D平面呈现的例子。 3D特点&#xff1a; 近大远小。物体后面遮挡不可见 …

[论文阅读] PointSeg: Real-Time Semantic Segmentation Based on 3D LiDAR Point Cloud

文章目录1. 主要思想2. 具体方法2.1 数据投影2.2 网络结构3. 实验支撑4. 总结启示5. 相关文献paper 原论文的链接 code: 源代码链接 67.4 (car) 19.2(ped) 32.7(cyclist)|90 fps/GPU 1. 主要思想 通过什么方式&#xff0c;解决了什么问题 在SqueezeSeg的基础上&#xff0c;利用…

小学生C++编程基础 课程8(A)

912.买水果 (课程8&#xff09; 登录 913.1或2 (课程8&#xff09; 登录 914.and和or &#xff08;课程8&#xff09; 难度&#xff1a;1 登录 915.在区间里 ( 课程8 ) 难度&#xff1a;1 登录 916.区间交集 ( 课程8 ) 难度&#xff1a;1 登录 917.区间并集 ( 课程8 ) 难度…

zabbix“专家坐诊”第178期问答汇总

大家好&#xff0c;我是乐乐。早在三年前&#xff0c;我们就在社区举办了zabbix公益问答活动&#xff0c;并且定在每周三邀请资深的zabbix技术工程师&#xff0c;为社群的小伙伴进行免费的答疑。到现在已经178期了。后续我将会把每期的答疑汇总分享在百家&#xff0c;供广大的z…