1. 程式人生 > 其它 >css快速入門(上)

css快速入門(上)

css快速入門(上)

一、什麼是CSS

1、什麼是CSS

  • Cascading Style Sheet 層疊樣式表。
  • CSS:表現(美化網頁)。
    • 字型,顏色,邊距,高度,寬度,背景圖片,網頁定位,網頁浮動。

2、CSS發展史

  • CSS 1.0:1994年 10月提出;
  • CSS 2.0:DIV(塊)+CSS,HTML與CSS結構分離的思想,網頁變得簡單,SEO;
  • CSS 2.1:浮動,定位;
  • CSS 3.0:圓角、陰影、動畫…瀏覽器相容性。

練習格式:

3、快速入門

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--
    規範,<sytle>可以編寫css的程式碼,每一個宣告最好以“;”結尾
    語法:
        選擇器{
                宣告1;
                宣告2;
                宣告3;
             }
    -->

    <style>
        h1{
            color: red;
        }
    </style>
    
</head>
<body>

<h1>CSS測試</h1>

</body>
</html>
  • 建議使用這種規範(單獨寫一個css檔案,用link標籤引入css檔案效果)

4、CSS優勢

  • 內容和表現分離;
  • 網頁結構表現統一,可以實現複用
  • 樣式十分的豐富
  • 建議使用獨立於html的css檔案
  • 利用SEO,容易被搜尋引擎收錄!

5、CSS的3種匯入方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <!--內部樣式-->
    <style>
        h1{
            color: green;
        }
    </style>

    <!--外部樣式-->
    <link rel="stylesheet" href="css/style.css" />
</head>
<body>

<!--優先順序:就近原則-->
<!--行內樣式:在標籤元素中,編寫一個style屬性,編寫樣式即可-->
<h1 style="color: red">這是標籤</h1>
</body>
</html>

  • 拓展:外部樣式兩種方法

    • 連結式 html
    <!--外部樣式-->
        <link rel="stylesheet" href="css/style.css" />
    
    • 匯入式 @import是CSS2.1特有的!
    <!--匯入式-->
        <style>
            @import url("css/style.css");
        </style>
    

二、基本選擇器

作用:選擇頁面上的某一個後者某一類元素

1、標籤選擇器

選擇一類標籤 標籤{}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        h1{
            color: orange;
            background: blue;
            border-radius: 10px;
        }
    </style>
</head>
<body>
<h1>標籤選擇器</h1>
</body>
</html>

2、類選擇器

選擇所有class一致的標籤,跨標籤,格式:.類名{}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

    <style>
        /*類選擇器的格式 .class的名稱{}
            好處:可以多個標籤歸類,是同一個class,可以複用
        */
        .demo1{
            color: blue;
        }
        .demo2{
            color: red;
        }
        .demo3{
            color: aqua;
        }
    </style>
</head>
<body>
<h1 class="demo1">類選擇器:demo1</h1>
<h1 class="demo2">類選擇器:demo2</h1>
<h1 class="demo3">類選擇器:demo3</h1>
</body>
</html>

3、id選擇器

全域性唯一,格式:#id名{}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*id選擇器:id必須保證全域性唯一
            #id名稱{}
            不遵循就近原則,優先順序是固定的
            id選擇器 > 類選擇器 > 標籤選擇器
        */
        #demo1{
            color: aqua;
        }
        .demo2{
            color: red;
        }
        #demo2{
            color: orange;
        }
        h1{
            color: blue;
        }
    </style>
</head>
<body>

<h1 id="demo1">id選擇器:demo1</h1>
<h1 class="demo2" id ="demo2">id選擇器:demo2</h1>
<h1 class="demo2">id選擇器:demo3</h1>
<h1>id選擇器:demo4</h1>
<h1>id選擇器:demo5</h1>
</body>
</html>

優先順序:id > class > 標籤

三、層次選擇器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        /*後代選擇器*/
        body p{
            background: deeppink;
        }
        /*子選擇器*/
        body>p{
            background: olive;
        }
        /*相鄰兄弟選擇器:只選擇一個,相鄰向下*/
        .active+p{
            background: blueviolet;
        }
        /*通用兄弟選擇器,當前選中元素的向下的所有兄弟元素*/
        .active2~p{
            background: dodgerblue;
        }
    </style>
</head>
<body>

<p>後代選擇器p1</p>
<p class="active">子選擇器p2</p>
<p>相鄰兄弟選擇器p3</p>
<p class="active">通用兄弟選擇器p4</p>
<p>通用兄弟選擇器p5</p>

</body>
</html>

1、後代選擇器

在某個元素的後面

/*後代選擇器*/
<style>
body p{
	background:red;
}
</style>

2、子選擇器

一代

/*子選擇器*/
<style>
body>p{
	background:orange;
}
</style>

3、相鄰的兄弟選擇器

同輩 只選擇一個,相鄰向下

/*相鄰兄弟選擇器:只有一個,相鄰(向下)*/
<style>
.active+p{
background: red
}
</style>

<body>
	<p class="active">p1<p>
	<p>p2</p>
</body>

4、通用選擇器

當前選中元素的向下的所有兄弟元素

<style>
/*通用兄弟選擇器,當前選中元素的向下的所有兄弟元素*/
	.active~p{
	background:red;
}
</style>
<body>
	<p class="active">p1<p>
	<p>p2</p>
</body>

四、結構偽類選擇器

偽類

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>偽類選擇器</title>
    <style>
        ul li:first-child{
            /*ul的第一個子元素*/
            background: mediumaquamarine;
        }
        ul li:last-child{
            /*ul的最後一個子元素*/
            background: lightpink;
        }
        /*
        選中p1:定位到父元素,選擇當前的第一個元素
        選擇當前P元素的父級元素,選中父級元素的第一個,並且是當前元素才生效!
         */
        p:nth-child(1){
            background: greenyellow;
        }
        p:nth-of-type(2){
            /*選中父元素下的第二個p元素*/
            background: lightseagreen;
        }
        a:hover{
            color: red;
        }
    </style>
</head>
<body>

<a href="">滑鼠移過來我變紅色</a>
<p>p1</p>
<p>p2</p>
<p>p3</p>
<ul>
    <li>li01</li>
    <li>li02</li>
    <li>li03</li>
</ul>

</body>
</html>

五、屬性選擇器

id+class結合

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>屬性選擇器</title>
    <style>
        .demo a{
            float: left;
            display: block;
            height: 50px;
            width: 50px;
            border-radius: 10px;
            background: aquamarine;
            text-align: center;
            color: #ffffff;
            text-decoration: none;
            margin-right: 5px;
            line-height:50px;
            font: bold 20px/50px Arial;
        }
        /*
        屬性名,屬性名 = 屬性值(正則)
              = 表示絕對等於
             *= 表示包含
             ^= 表示以...開頭
             $= 表示以...結尾
             存在id屬性的元素
                a[]{}
         */
        a[id]{
            background: deeppink;
        }
        a[id=first]{
            /*id=first的元素*/
            background: greenyellow;
        }

        a[class*="links"]{
            /*class 中有links的元素*/
            background: #1643b1;
        }

        a[href^=http]{
            /*選中href中以http開頭的元素*/
            background: aquamarine;
        }
        a[href$=pdf]{
            /*選中href中以http開頭的元素*/
            background: aquamarine;
        }
    </style>
</head>
<body>

<p class="demo">
    <a href="https://www.baidu.com/" class="links item first" id="first">百度</a>
    <a href="" class="links item active" target="_blank " title="test">連結</a>
    <a href="img/hello.html" class="links item">網頁</a>
    <a href="img/str1.png" class="links item">png</a>
    <a href="img/str2.jpg" class="links item">jpg</a>
    <a href="abc" class="links item">鏈2</a>
    <a href="/fy.pdf" class="links item">pdf</a>
    <a href="/quit.pdf" class="links item">pdf2</a>
    <a href="dump.doc" class="links item">doc</a>
    <a href="kiko.doc" class="links item last">doc2</a>
</p>

</body>
</html>

六、美化網頁

1、為什麼要美化網頁

  • 有效的傳遞頁面資訊
  • 美化網頁,頁面漂亮才能吸引客戶
  • 凸顯頁面的主題
  • 提高使用者的體驗

span標籤:重點要突出的字,使用span標籤套起來

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        #title1{
            font-size: 50px;
        }
    </style>
</head>
<body>

學習<span id="title1">CSS</span>
</body>
</html>

font-family:字型
font-size:字型大小
font-weight:字型粗細

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body{
            font-family: 楷體;
            color: red;
        }
        h3{
            font-size: 50px;
        }
        .p1{
            font-weight: bold;
        }
    </style>
</head>
<body>

<h3>學習CSS</h3>
<p class="p1">P</p>

</body>
</html>

常用寫法

/* 也可以填px,但不能超過900,相當於bloder */
font-weight:bolder;
/*常用寫法:*/
font:oblique bloder 12px "楷體"

2、文字樣式

  • 顏色–>color

  • 文字對齊方式–>text-align:center

  • 首行縮排–>text-indent:2em

  • 行高–>line-height:300px;

  • 下劃線–>text-decoration

text-decoration:underline/*下劃線*/
text-decoration:line-through/*中劃線*/
text-decoration:overline/*上劃線*/
text-decoration:none/*超連結去下劃線*/
  • 圖片、文字水平對齊
img,span{vetical-align:middle}

3、超連結偽類

<style>
	a{/*超連結有預設的顏色*/
		text-decoration:none;
		color:#000000;
	}
	a:hover{/*滑鼠懸浮的狀態*/
		color:orange;
	}
	a:active{/*滑鼠按住未釋放的狀態*/
		color:green
	}
	a:visited{/*點選之後的狀態*/
		color:red
	}
</style>

4、陰影

/*	第一個引數:表示水平偏移
	第二個引數:表示垂直偏移
	第三個引數:表示模糊半徑
	第四個引數:表示顏色
*/
text-shadow:5px 5px 5px 顏色

5、列表ul li

/*list-style{
	none:去掉原點
	circle:空心圓
	decimal:數字
	square:正方形
}*/
ul li{
	height:30px;
	list-style:none;
	text-indent:1em;
}
a{
	text-decoration:none;
	font-size:14px;
	color:#000;
}
a:hover{
	color:orange;
	text-decoration:underline
}
/*放在div中,作為導航欄*/
<div id="nav"></div>
#nav{
	width:300px;
}

6、背景

  • 背景顏色:background

  • 背景圖片

background-image:url("");/*預設是全部平鋪的*/
background-repeat:repeat-x/*水平平鋪*/
background-repeat:repeat-y/*垂直平鋪*/
background-repeat:no-repeat/*不平鋪*/
  • 綜合使用
background:red url("圖片相對路徑") 270px 10px no-repeat
background-position:/*定位:背景位置*/

7、漸變

body{
     background-color: #0cd7f3;
     background-image: linear-gradient(43deg, #0093E9 0%, #80D0C7 46%, #23F549 100%);
}