css定位模式

news2024/11/18 7:39:24

1. 为什么需要定位?

<!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>
</head>

<body>
    <!-- 
        为什么需要定位?
            以上效果(场景1.png 场景2.png),标准流或浮动都无法实现,此时需要定位来实现。
            所以:
                1.浮动 可以让多个块级盒子一行没有缝隙排列显示,经常用于横向排列盒子;
                2.定位 则是可以让盒子自由的在某个盒子内移动位置 或者 固定在屏幕中的某个位置,并且可以压住其他盒子。
     -->


    <!-- 
        1. 定位:将盒子定在某一个位置,所以定位也是在摆放盒子,按照定位的方式移动盒子; 

        2. 定位模式用于指定一个元素在文档中的定位方式,边偏移则决定了该元素的最终位置; 
            定位 = 定位模式 + 边偏移; 
                (1) 定位模式:static, relative, absolute, fixed;
                (2) 边偏移:边偏移就是定位的盒子移动到最终位置; 
                        top,bottom,left,right;
                        top:    顶端偏移量,定义元素[相对于其父元素]上边线的距离; 
                        bottom: 底部偏移量, ... 
                        left:  ...
                        right: ...
      -->
</body>

</html>

2. 五大定位

2.1 静态定位

<!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>
</head>
<body>
    <!-- 
        static定位: 是元素默认的定位方式,无定位的意思。
            (1)静态定位按照标准流特性摆放位置,它没有边偏移;
            (2)静态定位在布局中很少使用;
            (3)可以认为它就是标准流;
    -->
</body>
</html>

2.2 相对定位

<!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>
        .box1 {      
            position: relative;
            top: 100px;
            left: 100px;
            /********************/
            width: 200px;
            height: 200px;
            background-color: red;
        }

        .box2 {
            width: 200px;
            height: 200px;
            background-color: blue;
        }
    </style>
</head>

<body>
    <!-- 
        相对定位: 元素在移动位置的时候,是相对于它原来的位置来说的。
            (1)以自身左上角为起点(参照点),进行相应的偏移;
            (2)原来在标准流的位置继续占有,后面的盒子仍然以标准流的方式对待它。(不脱标,继续保留原来的位置);      
    -->
    <div class="box1">div1</div>
    <div class="box2">div2</div>
    <!-- 
        可以发现:div1相对于它原来的位置(自身左上角为起点)进行了指定的边偏移(top + left); 
         并且div1现在虽然更新了位置, 但是它之前的初始位置还是保留着; 
         所以div2来了以后, 还是紧挨着div1之前的位置; 
     -->
</body>

</html>

在这里插入图片描述

2.3 绝对定位

2.3.1 特点

<!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>
</head>

<body>
    <!-- 
        绝对定位:移动位置的时候,是相对于它的祖先元素为基准来定位的;(拼爹型)      
            (1) 如果没有祖先元素 或 祖先元素没有定位,则以浏览器为准进行定位;      
            (2) 如果祖先元素有定位(相对,绝对,固定定位), 则以最近一级有定位祖先元素为参考点进行移动位置;      
            (3) 绝对定位不占有原来的位置; 脱标了; 【注意:相对定位是占有原来的位置的】      
    -->
</body>

</html>

2.3.2 绝对定位1

<!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>
        .father {
            position: relative;
            width: 500px;
            height: 500px;
            background-color: red;
        }

        .son {
            position: absolute;
            left: 30px;
            bottom: 10px;
            width: 200px;
            height: 200px;
            background-color: blue;
        }
    </style>
</head>

<body>
    <!--    
        (1)如果没有祖先元素 或 祖先元素没有定位,则以浏览器为准进行定位;         
    -->

    
    <!-- 特点(1)验证: -->
    <!-- (1.1) 没有祖先元素, 以浏览器为准进行定位 -->
        <!-- <div class="son"></div> <br><br> -->

    
    <!-- (1.2) 有父亲, 但是父亲没定位, 同样以浏览器为准进行定位; 
        但是父亲加了定位, 那就是以父亲为基准来定位的;
    -->
        <div class="father">
            <div class="son"></div>
        </div>
</body>
</html>

在这里插入图片描述

2.3.3 绝对定位2

<!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>
        .grandfater {
            position: relative;
            width: 800px;
            height: 800px;
            background-color: green;
        }

        .father {
            width: 500px;
            height: 500px;
            background-color: red;
        }

        .son {
            position: absolute;
            left: 30px;
            bottom: 10px;
            width: 200px;
            height: 200px;
            background-color: blue;
        }
    </style>
</head>

<body>
    <!--  
        (2)如果祖先元素有定位(相对,绝对,固定定位), 则以最近一级的有定位祖先元素为参考点移动位置;          
    -->

    <!-- 特点(2)验证 -->
    <div class="grandfater">
        <div class="father">
            <div class="son"></div>
        </div>
    </div>
    <!-- 
        运行可知:此时父亲没有定位,但是爷爷有定位,那么就以爷爷为基准进行定位; 
     -->
</body>
</html>

在这里插入图片描述

2.3.4 绝对定位3

<!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: 600px;
            height: 400px;
            background-color: red;
        }

        .damao {
            position: absolute;
            top: 20px;
            left: 80px;
            width: 200px;
            height: 200px;
            background-color: green;
        }

        .ermao {
            width: 300px;
            height: 300px;
            background-color: blue;
        }
    </style>
</head>

<body>
    <!--  
        (3)绝对定位不占有原来的位置; 脱标了; 
    -->

    <!-- 特点(3)验证: -->
    <div class="box">
        <div class="damao">damao(进行了绝对定位)</div>
        <div class="ermao">ermao</div>
    </div>
    <!-- 
        运行可知:此时damao添加了绝对定位, 那么它将脱标了;
        此时ermao将会上移, 占据damao之前的位置; 
     -->
</body>
</html>

在这里插入图片描述

2.4 固定定位

2.4.1 固定定位

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=\, initial-scale=1.0">
    <title>Document</title>
    <style>
        .test {
            position: fixed;
            top: 100px;
            /* right: 40px; */
            left: 40px;
        }
    </style>
</head>

<body>
    <!-- 
        固定定位:
            元素固定在浏览器可视区的位置; 
            可视窗口:能看得见的部分就是可视窗口; 
            使用场景:可以在浏览器页面滚动时元素的位置不会改变; 

        特点:
            1. 以浏览器的【可视窗口】为参照点移动元素; 
            2. 跟父元素没有任何关系; 
            3. 不随滚动条滚动而滚动; 
            4. 固定定位不再占有原先的位置(脱标); 
     -->
    <div class="test">
        <img src="./pvp.png" alt="">
    </div>
    <!-- 
        此时运行可知:
            1. 缩小浏览器, 发现总是以浏览器的可视窗口为基准定位的;
            2. 滚动浏览器, 发现并不随浏览器的移动而移动; 
     -->
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
    <p>sf sf sdf sd </p>
</body>
</html>

请添加图片描述

2.4.2 固定定位_版心

<!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: 800px;
            height: 2000px;
            background-color: green;
            margin: 0 auto;
        }
        .fixed {
            position: fixed;
            left: 50%;               /* 1. 走浏览器宽度的一半 */
            margin-left: 405px;      /* 2. 走版心的一半*/
            width: 50px;
            height: 150px;
            background-color: red;
        }
    </style>
</head>
<body>
    <!-- 
        固定定位小技巧:固定在版心右侧位置; 
     -->
    <div class="fixed"></div>
    <div class="box">版心盒子</div>
</body>
</html>

在这里插入图片描述

2.5 粘性定位

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body {
            height: 3000px;
        }

        .nav {
            position: sticky;
            top: 0;                                 /* 当距离浏览器上边沿为0时,变成了粘性定位 */
            width: 800px;
            height: 50px;
            background-color: red;
            margin: 100px auto;
        }
    </style>
</head>

<body>
    <!-- 
        position: sticky;
        粘性定位:可以看作是 相对定位 和 固定定位 的混合, 一般跟页面滚动搭配使用; 
        特点:
            1. 以浏览器的可视窗口为参照点移动元素; (固定定位的特点)
            2. 粘性定位占有原先的位置;           (相对定位的特点) 
            3. 必须添加top,left,right,bottom其中一个才有效; 
            4. 兼容性较差,当前阶段使用较少, IE不支持; 
     -->
    <div class="nav">我是导航栏</div>
</body>
</html>

请添加图片描述

3. 子绝父相

<!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>
</head>
<body>
    <!-- 子绝父相:子级是绝对定位的话,父亲要使用相对定位。 -->

     <!-- 
        1. 子级绝对定位,不会占有位置,可以放到父盒子里面的任何一个地方,不会影响其他的兄弟盒子; 
        2. 父盒子需要加定位,限制子盒子在父盒子中的显示; 
        3. 父盒子布局时,需要占有位置,因此父亲只能是相对定位; 
            ---这就是子绝父相的由来,所以相对定位经常用来作为绝对定位的父级。
     -->



     <!-- 
        总结: 因为父亲是需要占有位置的,所以使用相对定位;
              子盒子不需要占有位置,因此是绝对定位。

        详细解释:
            相对定位不脱标, 所以父亲使用相对定位, 保证不影响后面的盒子的插入; 
            (假如说父亲使用了绝对定位, 那么父亲就脱标了, 不占有原来位置了, 此时后面的盒子就会占据父亲原来的位置, 这显然是不合理的;)
            
            子盒子只要把它限制在父盒子里面就可以了, 使得它的定位是相对于父亲来说的就OK了;
            所以子盒子使用绝对定位; (绝对定位的基准是相对定位, 并且它是脱标的)
            => 可以参考轮播图进行理解(两边存在切换按钮, 下面也有切换按钮)
     -->
</body>
</html>

轮播图示例
在这里插入图片描述

4. 定位堆叠顺序

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .common {
            position: absolute;
            top: 0;
            left: 0 ;
            width: 200px;
            height: 200px;
        }
        .damao {
            z-index: 1;
            background-color: red;
        }
        .ermao {
            z-index: 2;
            top: 50px;
            left: 50px;
            background-color: green;
        }
        .sanmao {
            top: 100px;
            left: 100px;
            background-color: blue;
        }
    </style>
</head>
<body>
    <!-- 
        在使用定位布局的时候,可能会出现盒子重叠的情况。
        此时,可以使用z-index来控制盒子的前后次序(z轴)。
     -->
    <!-- 
        定位堆叠顺序:z-index: 1;
        数值可以是正数,负数,或者是0,默认是auto;
        数值越小,在堆叠顺序中就越靠后;
        如果z-index值相同,那么按照书写顺序,后来居上!
        Notice1:[[[只有定位的盒子才有z-index属性!]]] 并且数值后面不能有单位!
        Notice2:说白了,谁的值越大,谁就压住别人显示了出来;
    -->
     <div class="common damao">大毛</div>
     <div class="common ermao">二毛</div>
     <div class="common sanmao">三毛</div>
</body>
</html>

在这里插入图片描述

5. 定位拓展

5.1 定位盒子居中

<!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: 200px;
            height: 200px;
            background-color: green;
            margin: 0 auto;
        }
        .tempBox {
            position: absolute;
            /* position: fixed; */
            /* position: relative; */
            width: 200px;
            height: 200px;
            background-color: blue;
            margin: 0 auto;
        }
        .Box {
            position: absolute;
            /* position: fixed; */
            left: 50%;
            margin-left: -100px;
            top: 50%;
            margin-top: -100px;
            width: 200px;
            height: 200px;
            background-color: red;
        }
    </style>
</head>
<body>
    <!-- 
        加了绝对定位(或固定定位)的盒子不能通过margin:0 auto系列来进行水平居中,
        但是可以通过上述算法倒腾出来。(但是相对定位可以通过auto居中)
        居中算法:
            left: 50%;
            margin-left: -100px;        //宽度的一半
            top: 50%;   
            margin-top: -100px;         //高度的一半
     -->
    <!-- <div class="box">普通盒子通过margin的auto来实现水平居中</div> -->
    <!-- <div class="tempBox">加了 绝对定位/固定定位 的盒子不能通过auto来实现水平居中</div> -->
    <div class="Box">定位盒子实现水平居中</div>
</body>
</html>

在这里插入图片描述

5.2 定位的特殊特性

<!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>
        .cls1 {
            position: absolute;
            /* position: fixed; */
            /* position: relative; */
            width: 200px;
            height: 200px;
            background-color: red;
        }
        .cls2 {
            position: fixed;
            /* position: absolute; */
            /* position: relative; */
            background-color: green;
        }
    </style>
</head>
<body>
    <!-- 
        定位的特殊特性:
            1. 行内元素添加 绝对定位 或者 固定定位(相对定位不行),可以直接设置高度和宽度;
            2. 块级元素添加 绝对定位 或者 固定定位(相对定位不行),如果不给宽度或者高度,默认宽度大小是内容的大小;
            3. 脱标的盒子不会触发外边距塌陷;
               浮动元素,绝对定位,固定定位的元素都不会触发外边距合并问题。
     -->
     <span class="cls1">行内元素</span>

     <div class="cls2">块级元素</div>
</body>
</html>

在这里插入图片描述

5.3 浮动元素不会压住标准流的文字定位会压住

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /*  1. 浮动的情况之下不会压住文字/图片  */
        .box1 {
            float: left;
            width: 150px;
            height: 150px;
            background-color: green;
            margin-bottom: 100px;
        }

        /* 2.绝对定位/相对定位会压住下面标准流的所有内容! */
        .box2 {
            position: absolute;
            /* position: fixed; */
            /* position: relative; */
            width: 150px;
            height: 150px;
            background-color: rgb(226, 154, 154);
        }
    </style>
</head>
<body>
    <!-- 
        1. 浮动元素只会压住它下面标准流的盒子,但是不会压住下面标准流盒子里面的文字(图片);
         (之前:浮动的盒子不会影响其前面的标准流,只会影响其后面的标准流)

        2. 绝对定位/固定定位(相对定位不会)会压住下面标准流的所有内容!

        3. 浮动之所以不会压住文字,是因为浮动最初产生的目的就是为了做文字环绕效果的!
     -->

     <!-- 验证1:  -->
     <!-- <div class="box1"></div> -->
     <!-- <p>分数低防守打法就是龙卷风了设计费sl</p> -->
    
     <!-- 验证2: -->
     <div class="box2"></div>
     <p>HelloWorld, I am coming!</p>
</body>
</html>

在这里插入图片描述

6. 案例

原型图
在这里插入图片描述

tb.jpg
在这里插入图片描述

<!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;
        }

        .tb-promo {
            position: relative;
            width: 520px;
            height: 280px;
            margin: 100px auto;
        }

        .tb-promo img {
            width: 520px;
            height: 280px;
        }

        .prev,
        .next {
            position: absolute;
            top: 50%;
            margin-top: -15px;
            width: 20px;
            height: 30px;
            background-color: rgba(0, 0, 0, .7);
            text-decoration: none;
            text-align: center;
            color: #fff;
            line-height: 30px;
            text-decoration: none;
        }

        .prev {
            left: 0;
            border-top-right-radius: 15px;
            border-bottom-right-radius: 15px;
        }

        .next {
            right: 0;
            border-top-left-radius: 15px;
            border-bottom-left-radius: 15px;
        }

        .promo-nav {
            position: absolute;
            bottom: 15px;
            left: 50%;
            margin-left: -35px;
            width: 70px;
            height: 13px;
            border-radius: 7px;
            background-color: rgba(255, 255,255, .3);
        }
        .promo-nav li {
            float: left;
            list-style: none;
            width: 8px;
            height: 8px;
            background-color: #fff;
            border-radius: 50%;
            margin: 3px;
        }
        .promo-nav .selected {
            background-color: #ff5000;
        }
    </style>
</head>

<body>
    <div class="tb-promo">
        <img src="./tb.jpg" alt="">
        <a href="#" class="prev">&lt;</a>
        <a href="#" class="next">&gt;</a>
        <ul class="promo-nav">
            <li class="selected"></li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>
</body>

</html>

7. 网页布局总结

<!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>
</head>
<body>
    <!-- 
        一个完整的网页, 是标准流、浮动、定位一起完成布局, 每个都有自己专门的用法;
        1. 标准流: [可以让盒子上下排列或者左右排列], 垂直的块级盒子显示就用标准流布局; 
        2. 浮动:   可以让多个块级元素一行显示或者左右对齐盒子, [多个块级盒子水平显示就用浮动] ; 
        3. 定位:   定位最大的特点就是有层叠的概念, 就是可以让多个盒子前后叠压来显示; 
                    [如果元素自由在某个盒子内移动就用定位布局]; 
     -->
</body>
</html>

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

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

相关文章

自动化专业求职方向与前景分析(合集)

自动化专业求职方向与前景分析 自动化专业求职方向 自动化专业是近几年高校教育改革中几个控制类专业合并后形成的宽口径专业&#xff0c;其实自动化就是搞控制的&#xff0c;用老师的话说就是控制一切可以控制的物理量&#xff0c;还说学自动化的人都要有控制的欲望。所谓控制…

Augmented Language Models(增强语言模型)

Augmented Language Models: A Survey 先上地址&#xff1a;https://arxiv.org/pdf/2302.07842.pdf 概率论难以支撑通用人工智能技术的诞生。—— Yann LeCun LLMs取得的巨大进展不再多说&#xff0c;它目前被诟病最多的问题是其会提供非事实但看似可信答案&#xff0c;即幻觉…

数组排序——从荷兰国旗问题到快速排序

本文首先将会介绍荷兰国旗问题&#xff0c;再讲述如何从该问题过渡到快速排序。 荷兰国旗问题 荷兰国旗问题&#xff08;Dutch National Flag Problem&#xff09;是由荷兰计算机科学家Edsger Dijkstra所提出&#xff0c;该问题的描述如下&#xff1a; 给定n个红、白、蓝三种颜…

JNDI学习笔记

最近在研究JNDI注入漏洞&#xff0c;就先浅浅的学习以下JNDI相关知识。 JNDI对各种目录服务的实现进行抽象和统一化。 在 Java 应用中除了以常规方式使用名称服务(比如使用 DNS 解析域名)&#xff0c;另一个常见的用法是使用目录服务作为对象存储的系统&#xff0c;即用目录服务…

SpringBoot --- 基础篇

一、快速上手SpringBoot 1.1、概述 SpringBoot开发团队认为原始的Spring程序初始搭建的时候可能有些繁琐&#xff0c;这个过程是可以简化的&#xff0c;那原始的Spring程序初始搭建过程都包含哪些东西了呢&#xff1f;为什么觉得繁琐呢&#xff1f;最基本的Spring程序至少有一…

大数据:VMware | Ubuntu | Hadoop | Spark | VMwaretools | Python 安装配置总结

一.环境概述 Linux发行版&#xff1a;Ubuntu虚拟机应用&#xff1a;VMware Workstation ProHadoop版本&#xff1a;3.1.3|伪分布式集群JDK版本&#xff1a;JDK1.8.0_162Spark版本:2.4.0Scala版本:2.12.8Python版本:3.6.8 | 3.7.16 二.Ubuntu 2.1 光盘文件 首先进入链接Down…

因为AI,我被裁了;MJ设计海报全流程;独立开发者每周收入2.3K美元;MJ常用参数超详细介绍 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; 受 AI 影响&#xff0c;这 8 家公司开始裁员…… 为了搞清楚 AI 最近在影响哪些行业、哪些职业&#xff0c;作者花了三天事件找到了八…

基于SSM的网络在线考试系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 前言…

《Java并发编程实战》课程笔记(二)

可见性、原子性和有序性问题&#xff1a;并发编程 Bug 的源头 源头之一&#xff1a;缓存导致的可见性问题 在单核时代&#xff0c;所有的线程都是在一颗 CPU 上执行&#xff0c;CPU 缓存与内存的数据一致性容易解决。 因为所有线程都是操作同一个 CPU 的缓存&#xff0c;一个…

《面试1v1》ThreadLocal

我是 javapub&#xff0c;一名 Markdown 程序员从&#x1f468;‍&#x1f4bb;&#xff0c;八股文种子选手。 面试官&#xff1a; 你好&#xff0c;请问你对 ThreadLocal 有了解吗&#xff1f; 候选人&#xff1a; 您好&#xff0c;我知道 ThreadLocal 是一个 Java 中的类&a…

【坐标变换】坐标系坐标变换简单推导--未完待续

如图所示&#xff0c;假设已知坐标系 ( X , Y ) (X,Y) (X,Y)&#xff0c;旋转后的坐标系为 ( X ′ , Y ′ ) (X,Y) (X′,Y′)&#xff0c;旋转角度为 θ \theta θ&#xff0c;假设点p在 ( X , Y ) (X,Y) (X,Y)坐标系下为 ( x , y ) (x,y) (x,y)&#xff0c;坐标在旋转后的坐标…

速来!谷歌师兄的LeetCode刷题笔记开源了!

有小伙伴私聊我说刚开始刷LeetCode的时候&#xff0c;感到很吃力&#xff0c;刷题效率很低。我以前刷题的时候也遇到这个问题&#xff0c;直到后来看到这个谷歌师兄总结的刷题笔记&#xff0c;发现LeetCode刷题都是套路呀&#xff0c;掌握这些套路之后&#xff0c;就变得非常简…

kubernetes高可用+harbor高可用

kubernetes高可用harbor高可用 基于kubeadm安装kubernetes高可用集群全部主机环境初始化双主节点部署keepalive双主节点初始化kubeadm在k8smaster1节点上初始化k8s在k8smaster2节点上做扩容操作 harbor高可用集群初始化harbor1节点安装环境在另一台节点上配置使用私有harbor仓库…

初学QT:使用QtDesigner绘制一个简单的界面(Day01)

关于Qt 打算在这里记录我学习qt过程中遇见的问题的收获 今天是学习qt的第一天&#xff0c;首先找了一个界面打算照着这个界面写一个一样的 因为是第一天&#xff0c;所以我用的是qt designer写的 其中遇到的问题&#xff1a; 设置背景图片 首先不能直接添加图片到背景图片中…

如何在华为OD机试中获得满分?Java实现【分界线】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

在 Alma Linux 9 上安装 Node.js 的 3 种不同方法

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时&#xff0c;用于构建快速、可扩展的网络应用程序。在 Alma Linux 9 上安装 Node.js 可以为开发者提供强大的工具和库来开发服务器端应用程序。 本文将介绍三种不同的方法来安装 Node.js 在 Alma Linux 9 上。 1. 方法一…

LLMs的自动化工具系统(HuggingGPT、AutoGPT、WebGPT、WebCPM)

在前面两篇博文中已经粗略介绍了增强语言模型和Tool Learning&#xff0c;本篇文章看四篇代表性的自动化框架&#xff0c;HuggingGPT、AutoGPT、WebGPT、WebCPM。 Augmented Language Models&#xff08;增强语言模型&#xff09;Toolformer and Tool Learning&#xff08;LLM…

chatgpt赋能python:了解PythonSpace:Python编程中的重要概念

了解Python Space&#xff1a;Python编程中的重要概念 Python Space是Python编程的一个关键概念&#xff0c;可以帮助你更好地理解Python中的命名空间和作用域。在这篇文章中&#xff0c;我们将深入探讨Python Space&#xff0c;介绍命名空间的概念&#xff0c;讨论命名空间和…

支付系统设计四:支付核心设计03-快捷发送短信(失败转代扣)

文章目录 前言一、背景1. 应用架构2. 分层支撑机制 二、银行卡快捷支付1. 用户操作流程2. 系统执行流程--正常2.1 发送短信2.2 短信确认 3. 系统执行流程--异常3.1 异常环节3.1.1 路由失败3.1.2 调用支付渠道失败 3.2 异常处理3.2.1 路由失败3.2.2 调用支付渠道失败 4. 流程解析…

指导实验心得5篇实用技巧

指导实验心得1 我觉得化工原理实验是一门验证性课程&#xff0c;它把我们在化工原理学到的各种单元操作化为实实在在的东西&#xff0c;而让我们把学到的知识认识到它的实在性。流体输送——离心泵、过滤——板框压滤机、对流传热——套管式换热器、吸收蒸馏——填料塔板式塔、…