主頁 > 軟體設計 > 保姆級教程CSS兩萬字筆記大總結【建議收藏】(上篇)

保姆級教程CSS兩萬字筆記大總結【建議收藏】(上篇)

2021-10-19 07:08:59 軟體設計

??CSS必備知識詳解??

  • 第一部分:CSS的基本使用
    • (1)CSS是什么?
    • (2)CSS寫在哪里?
    • (3)CSS的三大引入方式:
      • 1.直接寫在標簽內(直接在標簽內設定)
        • 小知識點:
      • 2.寫在style標簽內(在< head > 標簽內加入< style >標簽進行設定)
      • 3.使用外部.css檔案設定css文本,如1.css
        • 第一種:用@import "1.css"將css檔案引入;
        • 第二種:通過< link >將css檔案引入,
          • 小知識點:
      • 總結—上述三種引入方式的異同:
  • 第二部分:選擇器
    • 1.標簽選擇器:
        • 注意:
    • 2.類選擇器(class選擇器)
        • 小tip:
    • 3.id選擇器
        • 小tip:
    • 4.群組選擇器
    • 5.全選擇器
    • 6.層次選擇器(分為后代,子代,相鄰和兄弟四種選擇器)
      • (1)后代選擇器
      • (2)子代選擇器(可以往里一層一層的選)
      • (3)兄弟選擇器
      • (4)相鄰選擇器(相鄰兄弟選擇器)
    • 7.屬性選擇器
    • 選擇器的一個使用總結:
    • 8.偽類選擇器
  • 第三部分:常用的字體的樣式
  • 第四部分:文本的常用樣式
  • 第五部分:背景的常用樣式
  • 小拓展:使用CSS實作漸變色:
    • (1)漸變色之線性漸變
    • (2)漸變色之徑向漸變
    • (3)拓展一個文本漸變色的實作:
  • In The End!


???????👇
👉🚔直接跳到末尾🚔👈 ——>領取專屬粉絲福利💖
?????????


?👻上兩篇博文保姆級教程HTML兩萬字筆記大總結【建議收藏】(上篇)和保姆級教程HTML兩萬字筆記大總結【建議收藏】(下篇)被眾多小伙伴們閱讀之后,很多小伙伴私信我——催我出CSS和JavaScript的版本~👻

?😬(苦笑)既然小伙伴們學習熱情那么強烈,那我怎么著也不能辜負了你們!所以本博主又連夜苦肝,苦苦熬制出了CSS版本的(篇幅過長,依舊分為上下兩篇:上篇是基礎,下篇是進階~)😬

?😜在這兩篇博文中,本博主就帶領小伙伴們認真地學習一下CSS(Cascading Style Sheets,翻譯:層疊(級聯)樣式表)相關的必備知識——如果說我們上兩篇講的HTML是網頁的結構,那么CSS就是網頁化妝師,😜

請添加圖片描述


重點來啦!重點來啦!!💗💗💗
小伙伴們,快拿出你們的筆記本,開始上課啦!(要打起十足的精神哦~)

第一部分:CSS的基本使用

(1)CSS是什么?

CSS全稱Cascading Style Sheets,翻譯:層疊(級聯)樣式表,
如果說HTML是網頁的結構,那么CSS就是網頁化妝師,

(2)CSS寫在哪里?

CSS有三種寫法:

  1. 直接寫在標簽內
  2. 寫在style標簽內
  3. 使用外部.css檔案

(對應CSS的三種寫法,就有三種引入CSS的方式,見下:)

(3)CSS的三大引入方式:

1.直接寫在標簽內(直接在標簽內設定)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS的引入方式1</title>
</head>
<body>

<!--第一種引入方式:行內樣式-->
<!--注意:只能寫在開始標簽或者自閉合標簽里,不能寫在結束標簽里哦-->
<!-- 直接給標簽添加style屬性,style的屬性值里書寫樣式——樣式與樣式之間用分號隔開;樣式的名稱與樣式值用冒號隔開! -->
<!-- 注意:嵌套標簽設定了最外層的樣式,其內所有標簽都會應用此樣式! -->
<p style="color:red;font-size:30px;">我是段落標簽</p>

<!-- 優勢:直觀,很容易區分是給哪個標簽添加的樣式 -->
<!-- 劣勢:代碼冗余,樣式過多的話,代碼的可讀性很差-->
<!-- 一般用于測驗,不用于實際開發頁面中  -->

</body>
</html>

小知識點:

在設定屬性color屬性時,如下圖操作,可以對顏色進行更加直觀詳細的選擇:
在這里插入圖片描述

2.寫在style標簽內(在< head > 標簽內加入< style >標簽進行設定)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS的引入方式2</title>
        <!--第二種引入方式:內部樣式-->
        <!-- 優勢:實作了標簽和樣式的分離,讓代碼的可讀性更高 -->
    <style>
        p{
            color: #c481ff
        }
    </style>

</head>
<body>

<p>我是段落標簽</p>

</body>
</html>

3.使用外部.css檔案設定css文本,如1.css

第一種:用@import "1.css"將css檔案引入;

第二種:通過< link >將css檔案引入,

本處用的1.css檔案內容:
在這里插入圖片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS的引入方式3</title>

    <!--第一種:鏈接式(建議使用)-->
    <!--rel屬性(relation)是當前這個HTML頁面與鏈接進來的樣式表之間的關系,在此鏈接進來的是本頁面的樣式表
        href屬性寫樣式表的路徑-->
    <link rel="stylesheet" href="1.css">

    <!--第二種:匯入式(不建議使用)-->
    <style>
        @import "1.css";
    </style>

</head>
<body>

<!--第三種引入方式:外部樣式(有兩種)-->
<!--小提示:新建.css檔案的方法,在pycharm中是新建Stylesheet檔案-->
<!-- 優勢:實作了html檔案和樣式的分離,讓代碼的可讀性更高,而且讓代碼的復用性也更高! -->
<p>我是段落標簽2</p>

</body>
</html>
小知識點:

@import匯入式不推薦使用,因為存在缺陷:在整個網頁裝載完之后再裝載.CSS檔案,如果網頁檔案過大時,會導致先出現無樣式的頁面,閃爍以后再出現樣式網頁,
而推薦使用< link >,因為它是先裝載.css檔案,再裝載網頁

總結—上述三種引入方式的異同:

在實際開發中我們不使用行內樣式!
使用最多的是外部樣式,

一般寫demo的時候使用內部樣式————因為給別人發demo的時候,只發一個檔案即可,  


無論是外部樣式,內部樣式還是行內樣式,都會生效,它們共同為標簽添加樣式,

如果一個標簽通過外部樣式,內部樣式設定了同一類樣式(值不同),會產生覆寫效果————覆寫的原則:后寫的樣式覆寫先寫的樣式!

第二部分:選擇器

(1)選擇器權重:

現實生活中—誰的權利大,就聽誰的,同理,選擇器權重也是一樣,誰的權重值高,應用誰的,這里的權重高低通過精確度評判,精確度越高,權重越大,

(2)選擇器的用處:

用于準確的選中元素(就是HTML種講的標簽),并賦予樣式,

1.標簽選擇器:

作用:根據標簽的名字找到標簽;
注意:它會找到所有的同名標簽,
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>標簽選擇器</title>
    
    <style>
        /*標簽選擇器,直接把頁面中的標簽當做一個選擇器進行選擇*/
        p{
            color: chartreuse;

        }
    </style>
    
</head>
<body>

<p>我是段落標簽1</p>
<p>我是段落標簽2</p>

</body>
</html>

注意:

你可以理解為下圖這個整體叫做選擇器!!!
在這里插入圖片描述

2.類選擇器(class選擇器)

通過標簽的class屬性,選擇對應的元素,借助了一個類的概念,一處定義,可以多處使用,
使用場景:它的作用對多個標簽(往往需要相同的樣式)設定樣式,
一個標簽可以設定多個class值,值與值之間用空格隔開,這個標簽會具有所有class包含的樣式,
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>類選擇器</title>

    <style>
        /*類選擇器,也稱class選擇器,通過.進行選擇*/
        .p1{
            color:red;
        }
    </style>

</head>
<body>

<p class="p1">我是段落標簽</p>

</body>
</html>

小tip:

類選擇器可以選擇多個,因為class屬性不唯一;
但是id選擇器只能選擇一個,因為id是唯一的,

3.id選擇器

通過標簽的id屬性,選擇對應的元素,
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>id選擇器</title>

    <style>
         /*第三種選擇器:id選擇器  通過#進行選擇*/
        #p2{
            color:cadetblue;
        }
    </style>

</head>
<body>

<p id="p2">我是段落標簽</p>

</body>
</html>

小tip:

以上三個選擇器的權重: id選擇器 > 類選擇器 >標簽選擇器

拓展:如果一個標簽同時通過id選擇器和類選擇器設定了同一個樣式,而我們想要其類選擇器設定的樣式(background-color)生效,但是看上面選擇器權重——類選擇器的權重是低于id選擇器的,應該是id選擇器設定的樣式生效,但是我們可以通過在指定樣式后添加!import來使其生效!!!

!important是權重最大的!!!
注意:!important只能作用于單個樣式的值,它不是選擇器!
在這里插入圖片描述

4.群組選擇器

群組選擇器是可以同時選擇多個標簽的選擇器,
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>群組選擇器</title>

    <style>
        /*第四種選擇器:群組選擇器  不同選擇器之間用逗號隔開,*/
        p,span{
            color: #ff82c1;
        }
    </style>

</head>
<body>

<p>我是段落標簽</p>
<span>我是文本標簽</span>
<h1>我是一級標簽</h1>

</body>
</html>

5.全選擇器

顧名思義,選擇所有標簽!
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>全選擇器</title>

    <style>
        /*第五種選擇器:全選擇器 通過*選擇此頁面的所有元素,進行統一的樣式設定*/
        *{
            color: #a3ff50
        }
    </style>

</head>
<body>

<p>我是段落標簽</p>
<h1>我是一級標題</h1>
<h2>我是二級標簽</h2>
<span>我是文本標簽</span>

</body>
</html>

6.層次選擇器(分為后代,子代,相鄰和兄弟四種選擇器)

注 意:塊狀標簽可以嵌套行內標簽和其他塊狀標簽;行內標簽只能嵌套文本和其他行內標簽,但不能嵌套塊狀標簽,
有個特例:p標簽和h標簽不能嵌套塊狀標簽,也不能嵌套本身,只能嵌套行內標簽!!!

(1)后代選擇器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>后代選擇器</title>

    <style>
        /*層次選擇器第一種:后代選擇器  用空格隔開*/
        /*后代是它里面嵌套的所有標簽*/
        /*此例就是div標簽里的所有的ol標簽,不管ol里嵌套多少ol,都是div的后代*/
        div ol{
            list-style: none;
        }
    </style>
    
</head>
<body>

<div>
    <ol>
        <li>我是有序串列1</li>
        <li>我是有序串列2</li>
        <li>我是有序串列3
            <ol>
                <li>我是有序串列111</li>
                <li>我是有序串列222</li>
            </ol>
        </li>
    </ol>
</div>

</body>
</html>

(2)子代選擇器(可以往里一層一層的選)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>子代選擇器</title>

    <style>
        /*層次選擇器第二種:子代選擇器 用>隔開*/
        /*子代選擇器只能選擇他的兒子,在此就是選擇id為ul1的無序串列的兒子*/
        /* 上述語法格式中的選擇器可以是id選擇器,class選擇器也可以是標簽名選擇器 */
        #ul1>li{
            list-style: none;       /*這個屬性作用是去除串列的樣式,代表去掉無序串列前面的小圓圈*/
        }
    </style>

</head>
<body>

<!--子代選擇器  顏色,字體等等在子代選擇器里會繼承,所以此處用list-style屬性進行觀察-->
<ul id="ul1">
    <li>1</li>
    <li>2</li>
    <li>3
    <ul>
        <li>11</li>
        <li>22</li>
        <li>33</li>
    </ul>
    </li>
</ul>

</body>
</html>

(3)兄弟選擇器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>兄弟選擇器</title>

    <style>
        /*層次選擇器第三種:兄弟選擇器  用~進行選擇*/
        /*只要是有同一個父親的就稱為兄弟*/
        /*在本例中,id為p2的父親是body,所以body里都是他的兄弟
        又因為代碼是從上向下執行的,所以不會選中  我是段落標簽1*/
        #p2~p{
            color:#ff8971
        }
    </style>

</head>
<body>

<p>我是段落標簽1</p>
<p id="p2">我是段落標簽2</p>
<p>我是段落標簽3</p>
<p>我是段落標簽4</p>

</body>
</html>

(4)相鄰選擇器(相鄰兄弟選擇器)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>相鄰兄弟選擇器</title>

    <style>
        /*層次選擇器第四種:相鄰選擇器(相鄰兄弟選擇器)  用+進行選擇*/
        /*先是找兄弟,然后選擇其中相鄰的*/
        /*在本例中,因為代碼是從上向下執行的,所以不會選中  我是段落標簽1*/
        #p2+p{
            color:#ff8971
        }
    </style>

</head>
<body>

<p>我是段落標簽1</p>
<p id="p2">我是段落標簽2</p>
<p>我是段落標簽3</p>
<p>我是段落標簽4</p>

</body>
</html>

7.屬性選擇器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>屬性選擇器</title>

    <style>
        /*屬性選擇器  選中所有p標簽里有name屬性的   常用于Input里
           如果只想選中   我是段落標簽1  ,那么就改為p[name="p1"]即可*/
        p[name]{
            color: red;
        }
    </style>

</head>
<body>

<p name="p1">我是段落標簽1</p>
<p name="p2">我是段落標簽2</p>
<p name="p3">我是段落標簽3</p>
<p>我是段落標簽4</p>

</body>
</html>

選擇器的一個使用總結:

權重大小比較總結一句話:越具體(就是一開始說的準確度)權重越大;越模糊權重越小!
在這里插入圖片描述
在這里插入圖片描述

8.偽類選擇器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>偽類選擇器</title>
    
    <!--偽類選擇器-->
    <!-- 語法格式——  選擇器:偽類名 -->
    <!-- 如果要給一個元素加4個偽類,一定要遵守一個順序(link  visited  hover   active) -->
    <style>
        /*未訪問超鏈接時的樣式    有超鏈接地址時(僅適用于a標簽)*/
        a:link{
            color: #ff25ec;
        }
        /*滑鼠懸浮時的樣式     適用于所有標簽*/
        a:hover{
            color: #3b29ff;
        }
        /*激活狀態時,即點擊的時候    適用于所有標簽*/
        a:active{
            color: #ff9d47;

        }
        /* 訪問過后,點擊完超鏈接之后 (僅適用于a標簽)*/
        a:visited{
            color:green;
        }
    </style>
    
</head>
<body>

<!--#表示空鏈接-->
<a href="#">我是超鏈接</a>

</body>
</html>

第三部分:常用的字體的樣式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>字體的常用樣式</title>
    <style>
        p{
            /*字體的型別(例如:黑體,宋體,仿宋...)*/
            font-family: 黑體;
            
            /*字體的大小(默認字號是16px)*/
            font-size: 30px;
            
            /*字體的樣式(斜體italic  或者   正常normal)*/
            font-style: italic;
            
            /*字體的粗細(默認粗細是normal——400)    bold是粗體*/
            font-weight: bold;
            
            /*字體的小大寫  把英文小寫字母變為大寫字母  大小不變*/
            font-variant: small-caps;
            
            /*字體的復合樣式,要注意順序,其實就是上面樣式的一個總寫
            順序為:style variant weight size/height family  可以少寫!*/
            font:italic small-caps normal 50px 黑體;
        }
    </style>
</head>
<body>

<p>我是段落標簽</p>
<p>HELLO</p>
<p>hello</p>


</body>
</html>

第四部分:文本的常用樣式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文本常用樣式</title>
    <style>
        p{
            /*用于設定標簽內的文本的對齊方式————left(左對齊,默認);center(居中對齊);right(右對齊)*/
            text-align: left;
			
			/* 用于設定標簽內單行文本的高度*/
			line-height:40px;			

            /*首行縮進  em是一個中文字距  也可以用px單位   1em=16px*/
            text-indent:2em;

            /*文本線   underline是下劃線;  line-through稱為洗掉線  overline(上劃線)  none為去除文本線*/
            text-decoration: underline;

            /*字與字之間的距離*/
            letter-spacing: 1em;

            /*詞距  在底下p標簽里寫文本,空格隔開就是一個單詞*/
            word-spacing:50px;

            /*行高     可以撐起高度*/
            /*撐起高度就是可以通過設定行高把元素的高度撐到行高那么高*/
            /*有個應用:單行文本垂直居中(在垂直方向居中):高度=行高*/
            line-height: 50px;		
			
			/* 用于設定換行模式————normal(默認,滿了一行后正常換行);nowrap(不換行)*/
			white-space: normal;
			
			/* 用于設定內容超出標簽的處理辦法————hidden(超出部分隱藏);*/
			overflow: hidden;
			
			/* 用于設定文本溢位標簽時,文本要做什么事情————ellipsis(用于設定顯示省略號) */
			text-overflow: ellipsis; 
        }

        a{
            /*用于設定文本的裝飾模式————underline(下劃線);line-through(中劃線);overline(上劃線)*/
            /* 可以通過設定為none去除超鏈接下的下劃線! */
            text-decoration: none;
        }

    </style>
</head>
<body>

<!--注意:如果是行內標簽,比如span是行內標簽,始終都是居中狀態,改對齊方式沒用,
因為行內元素設定寬高無效,只與內容有關,-->

<p>我是一個段落標簽</p>
<p>中國 上海 河南</p>
<a href="">111</a>

</body>
</html>

行高的應用之實作單行文本垂直居中:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>行高的一個應用</title>
    <style>
        p{
            /*通過讓行高=高度,實作單行文本的垂直居中*/
            height: 200px;  /*高度*/
            line-height: 200px;  /*行高*/
        }
    </style>
</head>
<body>

<p>我是段落標簽</p>

</body>
</html>
(本人運營微信公眾號:孤寒者)
(歡迎喜歡Python,喜歡編程的小伙伴們的關注哦~)

第五部分:背景的常用樣式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>背景的常用樣式</title>
    <style>
        div{
            /*設定div的寬高*/
            /* 行元素無法設定寬高;塊元素或者行級塊元素可以設定寬高,如果不設定寬高,那么使用默認寬度——和父標簽的寬度一樣;如果不設定高度,那么使用默認高度是由內容撐起!  */
            width:300px;
            height:300px;

            /*設定背景顏色*/
            /* 背景顏色的寫法:1.代表顏色的英文單詞(例如:red,yellow...);
            				2.#加6位16進制數(6位中前兩位是紅,中間兩位是綠,后兩位是藍,紅綠藍的取值范圍是00~FF/ff)————開發中最常用的寫法;
            				3.rgb(紅,綠,藍)函式獲取一個顏色————一般用于JS代碼;
            				4.rgba(紅,綠,藍,不透明度)函式獲取一個顏色————一般用于JS代碼  */
            background-color: #a3ff50;

            /*背景圖片 url寫圖片的路徑*/
            background-image: url("");

            /*設定背景的大小  也可使用百分比,是參照它的容器*/
            background-size:100px 100px;

            /*背景平鋪  不平鋪 平鋪意思:如果背景圖很小,那么就可以在這個div上放多個,不平鋪就是只放一個*/
            background-repeat: no-repeat;

            /*背景定位  可以使用百分比定位(兩個百分比資料,第一個是相對于左,第二個是相對于上)*/
            background-position: center;

            /*復合樣式 也要按照順序(中間空格隔開,如果不想定位而設定大小,將定位的那個屬性值寫為0)
            屬性的順序是:background-color bacfground-image background-repeat background-position/background-size */
            background:red url("")  ;

        }
    </style>
</head>
<body>

<div>

</div>

</body>
</html>

小拓展:使用CSS實作漸變色:

在之前講解Canvas的文章中我們還通過canvas實作了各種漸變,可以看看哦~
《為了讓師妹20分鐘學會canvas,我熬夜苦肝本文外加一個小專案【??建議收藏??】》

(1)漸變色之線性漸變

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>漸變色之線性漸變</title>
    <style>
        #div1{
            width:300px;
            height: 300px;
            /*linear-gradient()函式用于實作線性漸變*/
            /*注意:顏色的漸變實作是靠漸變的影像實作的,在函式里可以放多個顏色實作漸變*/
            /*漸變的效果默認是從上往下漸變填入的顏色
            to right,to left,to top,to buttom right(從左上往右下漸變)
            也可以以一定角度進行漸變,格式為:度數deg,比如:90deg */
            background-image: linear-gradient(to left,skyblue,pink);
        }
    </style>
</head>
<body>

<div id="div1" class="div2">

</div>

</body>
</html>
(本人運營微信公眾號:孤寒者)
(歡迎喜歡Python,喜歡編程的小伙伴們的關注哦~)

(2)漸變色之徑向漸變

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>漸變色之徑向漸變</title>
    <style>
        #div1{
            width: 200px;
            height: 300px;
            /*radial-gradient()函式用于實作徑向漸變*/
            /*注意:顏色的漸變實作都是靠漸變的影像實作的*/
            /*默認是從最中心向外發散進行漸變(ellipse是橢圓形狀的漸變)
                						circle(形狀變為圓)*/
            background-image: radial-gradient(ellipse,skyblue,pink,white);

        }
    </style>
</head>
<body>

<div id="div1">

</div>

</body>
</html>

(3)拓展一個文本漸變色的實作:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>漸變色之文字漸變</title>
    <style>
        span{
            /*給背景設定漸變色*/
            /*默認文字的顏色漸變是從上往下漸變的
                改漸變的方向的話在顏色前面加,比如:to right*/
            background-image: linear-gradient(to right,blue,black);
            /*規定這個背景漸變色繪制的區域 在此設定為文本那個區域*/
            -webkit-background-clip: text;
            /*把原本的文字設定為透明的*/
            color: transparent;
        }
    </style>
</head>
<body>

<!--文字本身是不能設定漸變的,我們是通過設定背景的漸變來實作文字的漸變的-->
<span>我是漸變的文字,我超級帥!</span>

</body>
</html>

In The End!

在這里插入圖片描述

從現在做起,堅持下去,一天進步一小點,不久的將來,你會感謝曾經努力的你!

?本博主會持續更新爬蟲基礎分欄及爬蟲實戰分欄(為了小伙伴們更好的進行頁面決議,也會更新部分前端必備知識點博文!),認真仔細看完本文的小伙伴們,可以點贊收藏并評論出你們的讀后感,并可關注本博主,在今后的日子里閱讀更多爬蟲文!

	如有錯誤或者言語不恰當的地方可在評論區指出,謝謝!
	如轉載此文請聯系我說明用以意并標注出處及本博主名,謝謝!

?

👇🏻可通過點擊下面——>關注本人運營 公眾號👇🏻

【可以公眾號里私聊并標明來自CSDN,會拉你進入技術交流群(群內涉及各個領域大佬級人物,任何問題都可討論~)--->互相學習&&共同進步(非誠勿擾)】

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/323061.html

標籤:其他

上一篇:性能優化系列:每個程式員都應該知道的數字

下一篇:堆疊和佇列C語言實作附加力扣題

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more