W3C三劍客——CSS快速入門

W3C3劍客—CSS

萬維網(wǎng)聯(lián)盟(外語縮寫:W3C)標(biāo)準(zhǔn)不是某一個(gè)標(biāo)準(zhǔn),而是一系列標(biāo)準(zhǔn)的集合。網(wǎng)頁主要由三部分組成:結(jié)構(gòu)(Structure)、表現(xiàn)(Presentation)和行為(Behavior)。萬維網(wǎng)聯(lián)盟創(chuàng)建于1994年,是Web技術(shù)領(lǐng)域最具權(quán)威和影響力的國際中立性技術(shù)標(biāo)準(zhǔn)機(jī)構(gòu)。

CSS3 作為變現(xiàn)層,其威力堪比整容。

未加樣式和加了樣式做對比,淘寶:

加上樣式后

1.CSS該如何學(xué)習(xí)?

css的3種引入方式

CSS的選擇器

CSS的基本樣式

CSS幾種布局方式

CSS響應(yīng)式

網(wǎng)頁動畫(專業(yè)的必修,非專業(yè)的了解)

1.1什么是CSS?

Cascading Style Sheets (層疊樣式表)

CSS2 W3C組織于1998年推出的技術(shù)規(guī)范

CSS3 早在2001年W3C就完成了CSS3的草案規(guī)范。CSS3規(guī)范的一個(gè)新特點(diǎn)是被分為若干個(gè)相互獨(dú)立的模塊

1.2CSS如何使用

行內(nèi)式引入,通過Style屬性(不推薦使用,結(jié)構(gòu)與表現(xiàn)高度耦合難以維護(hù))

<h1 style="color: red">CSS行內(nèi)式演示</h1>

1

通過內(nèi)部式Style引入

<style>

? ? /*這是在css中的注釋? */

? ? h1{

? ? ? ? font-size: 100px;?

? ? }? ? ? ?

</style>

123456

外部樣式表引入(推薦使用,結(jié)構(gòu)與表現(xiàn)低耦合,方便維護(hù))

<link rel="stylesheet" href="../CSS/index.css">

1

在html中的位置一覽

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

? ? ? ? /*這是在css中的注釋? 內(nèi)部樣式*/

? ? ? ? h1{

? ? ? ? ? font-size: 100px;?

? ? ? ? }? ? ? ?

? ? </style>

? ? <link rel="stylesheet" href="../CSS/index.css">? <!-- 外部引入樣式-->

</head>

<body>

? ? <!-- 行內(nèi)樣式 -->

<h1 style="color:rgb(182, 17, 17)">CSS行內(nèi)式演示</h1>

</body>

</html>

1234567891011121314151617181920

樣式優(yōu)先級,html從上往下加載,后邊的樣式會覆蓋先前的樣式,樣式變現(xiàn)為就近原則。

除此之外還可以在Style內(nèi)通過import導(dǎo)入,CSS2.1特有,使用較少,可以和link進(jìn)行 替換

2.CSS選擇器

標(biāo)簽選擇器

層次選擇器

id選擇器(重點(diǎn))

類選擇器(重點(diǎn))

偽類選擇器(愛恨原則)

屬性選擇器(重點(diǎn))

2.1標(biāo)簽選擇器

標(biāo)簽選擇器可以快速定位到html中的某一類標(biāo)簽。

<style>

? ? ? ? /*直接以標(biāo)簽名字作為選擇器


? ? 標(biāo)簽名{

? ? 聲明1;

? ? 聲明2;

? ? 聲明3;

? ? ...

? ? }


? ? */

? ? ? ? h1{

? ? ? ? ? font-size: 100px;?

? ? ? ? }? ? ? ?

</style>

123456789101112131415

2.2 id選擇器(重點(diǎn))

id 選擇器,通過標(biāo)簽的id屬性快速定位,一般id就是元素的標(biāo)識,是唯一的

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

? ? ? ? /*

? ? ? ? id 選擇器,通過標(biāo)簽的id屬性快速定位,一般id就是元素的標(biāo)識,是唯一的

? ? ? ? id 選擇器:

? ? ? ? #id名{

? ? ? ? 聲明1;

? ? ? ? ? ? 聲明2;

? ? ? ? ? ? 聲明3;

? ? ? ? ? ? ...

? ? ? ? }

? ? ? ? */

? ? ? ? #txt{

? ? ? ? ? ? color: red;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <p id="txt">這是一行文字</p>

</body>

</html>

1234567891011121314151617181920212223242526

2.3 類選擇器(重點(diǎn))

類選擇器,通過標(biāo)簽的class屬性進(jìn)行定位,一般class屬性可以付給多個(gè)元素,同一個(gè)元素也可以有多個(gè)class值

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

? ? ? ? /*

? ? ? ? 當(dāng)一個(gè)元素有多個(gè)class值時(shí)用空格隔開,并且后邊的樣式會覆蓋前邊的樣式

? ? ? ? 如下,class1中有font-size屬性,class2中也有font-size屬性,這時(shí)同時(shí)把

? ? ? ? .class1 和 .class1都付給了p ,則class2 會覆蓋class1的font-size

? ? ? ? .類名{

? ? ? ? 聲明1;

? ? ? ? ? ? 聲明2;

? ? ? ? ? ? 聲明3;

? ? ? ? ? ? ...

? ? ? ? }

? ? ? ? */

? ? ? ? .class1{

? ? ? ? ? ? color: red;

? ? ? ? ? ? font-size: 14px;

? ? ? ? }

? ? ? ? .class2{

? ? ? ? ? ? font-size: 36px;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <p class="class1">我是p1</p>

? ? <p class="class1 class2">我是p2</p>

</body>

</html>

1234567891011121314151617181920212223242526272829303132

2.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>

? ? ? ? /* 給ul一個(gè)樣式,它的子元素都會繼承它的樣式 */

? ? ? ? ul{

? ? ? ? ? ? color: red;

? ? ? ? }

? ? ? ? /* 同樣的如果想通過父元素來定位子元素,可以通過

? ? ? ? ? ? 父元素 子元素{

? ? ? ? ? ? ? ? 聲明1;

? ? ? ? ? ? ? ? 聲明2;

? ? ? ? ? ? ? ? 聲明3;

? ? ? ? ? ? ? ? 聲明4;

? ? ? ? ? ? ? ? ...

? ? ? ? ? ? }

? ? ? ? ? ? 的方式進(jìn)行定位

? ? ? ? ? ? 同時(shí)如果子元素有樣式跟父元素一樣則會覆蓋

? ? ? ? 除此之外還有下一個(gè)相鄰兄弟選擇器

? ? ? ? #p1+p 則為#p1的像一個(gè)相鄰并且為p的元素(了解,一般不用)

? ? ? ? 下邊全部兄弟元素

? ? ? ? #p1~p 下方所有為p的兄弟元素(了解,一般不用)

? ? ? ? ? */

? ? ? ? p{

? ? ? ? ? ? color: red;

? ? ? ? }

? ? ? ? p span{

? ? ? ? ? ? font-size: 36px;

? ? ? ? ? ? color: aqua;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <ul>

? ? ? ? <li>1</li>

? ? ? ? <li>2</li>

? ? ? ? <li>3</li>

? ? ? ? <li>4</li>

? ? ? ? <li>5</li>

? ? </ul>

? ? <span>這是外邊的span</span>

? ? <p><span>這是p的子元素span</span></p>

</body>

</html>

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647

2.5 偽類選擇器

偽類選擇器,并不是真正的選擇器,而是在原來選擇器的基礎(chǔ)上進(jìn)行更精準(zhǔn),狀態(tài)不同時(shí)的元素變化的定位,常用于超鏈接,表單等。(愛恨原則)

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

? ? ? ? ? ? ? ? 聲明2;

? ? ? ? ? ? ? ? 聲明3;

? ? ? ? ? ? ? ? 聲明4;

? ? ? ? ? ? ? ? ...

? ? ? ? ? ? }

? ? ? ? */

? ? ? ? #u li:first-child{

? ? ? ? ? ? /* first-child 選擇器下邊的第一個(gè)子元素 */

? ? ? ? ? ? color: rgb(226, 15, 15);

? ? ? ? }

? ? ? ? #u li:last-child{

? ? ? ? ? ? /* last-child 選擇器下邊最后一個(gè)子元素 */

? ? ? ? ? ? color: aqua;

? ? ? ? }

? ? ? ? ul li:nth-child(2){

? ? ? ? ? ? /* nth-child() 選擇器下指定子元素 */

? ? ? ? ? ? color: rgb(13, 238, 99);

? ? ? ? }

? ? ? ? /* 超鏈接常用的四個(gè)偽類(愛恨原則):link :visited :hover :active */

? ? ? ? #u li a:link{/*鏈接狀態(tài)*/

? ? ? ? ? ? color: black;

? ? ? ? ? ? text-decoration: none;

? ? ? ? }

? ? ? ? #u li a:visited{/*訪問過后*/

? ? ? ? ? ? color: blue;

? ? ? ? ? ? text-decoration: none;

? ? ? ? }? ?

? ? ? ? #u li a:hover{/*當(dāng)鼠標(biāo)放上去時(shí)*/

? ? ? ? ? ? color: red;

? ? ? ? ? ? text-decoration: none;

? ? ? ? }

? ? ? ? #u li a:active{/*當(dāng)鼠標(biāo)點(diǎn)下去還未松開時(shí)*/

? ? ? ? ? ? color: green;

? ? ? ? ? ? text-decoration: none;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <ul id="u">

? ? ? ? <li>1</li>

? ? ? ? <li>2</li>

? ? ? ? <li>3</li>

? ? ? ? <li>4</li>

? ? ? ? <li><a href="###">這是超鏈接</a></li>

? ? ? ? <li>6</li>

? ? ? ? <li>7</li>

? ? ? ? <li>8</li>

? ? ? ? <li>9</li>

? ? ? ? <li>10</li>

? ? </ul>? ?

</body>

</html>

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263

2.6屬性選擇器(重點(diǎn))

通過屬性或?qū)傩灾祦矶ㄎ?/p>

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

? ? ? ? ul{

? ? ? ? ? ? background-color: antiquewhite;

? ? ? ? }

? ? ? ? /* 屬性選擇器通過元素的屬性或?qū)傩灾刀ㄎ?/p>

? ? ? ? ? ? 例:我要定位所有具有id這個(gè)屬性的li標(biāo)簽

? ? ? ? ? ? li[id]{

? ? ? ? ? ? ? ? 聲明1;

? ? ? ? ? ? ? ? 聲明2;

? ? ? ? ? ? ? ? 聲明3;

? ? ? ? ? ? ? ? 聲明4;

? ? ? ? ? ? ? ? ...

? ? ? ? ? ? }

? ? ? ? ? ? 例:我要定位所有class為class1的元素

? ? ? ? ? ? li[class=class1]{

? ? ? ? ? ? ? ? 聲明1;

? ? ? ? ? ? ? ? 聲明2;

? ? ? ? ? ? ? ? 聲明3;

? ? ? ? ? ? ? ? 聲明4;

? ? ? ? ? ? ? ? ...

? ? ? ? ? ? }

? ? ? ? */

? ? ? ? li[id]{

? ? ? ? ? ? font-size: 36px;

? ? ? ? }

? ? ? ? li[id=b]{

? ? ? ? ? ? color: red;

? ? ? ? }

? ? ? ? li[class]{

? ? ? ? ? ? color: aquamarine;

? ? ? ? }

? ? ? ? li[class=class1]{

? ? ? ? ? ? background-color: brown;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <ul>

? ? <li id="a">1</li>

? ? <li id="b">2</li>

? ? <li text="自定義">3</li>

? ? <li>4</li>

? ? <li>5</li>

? ? <li>6</li>

? ? <li class="class1">7</li>

? ? <li class="class2">8</li>

? ? <li>9</li>

? ? <li>10</li></ul>

</body>

</html>

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556

3.文本常用樣式

顏色

背景顏色

字體

字號

行距

字間距

縮進(jìn)

行寬度,高度

水平對齊

陰影等

更多其他

<!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{

? ? ? ? ? ? font-size: 18px; /*改變字體大小*/

? ? ? ? ? ? font-family: 宋體; /*改變字體*/

? ? ? ? }

? ? ? ? #p1{

? ? ? ? ? ? color: green; /*調(diào)節(jié)字體顏色*/

? ? ? ? ? ? background-color: bisque;? /*調(diào)節(jié)背景顏色*/

? ? ? ? }

? ? ? ? #p2{

? ? ? ? ? ? height: 100px; /*調(diào)節(jié)高度*/

? ? ? ? ? ? line-height: 50px; /*調(diào)節(jié)行高*/

? ? ? ? ? ? background-color: aqua;

? ? ? ? }

? ? ? ? #p3{

? ? ? ? ? ? text-align: center; /*調(diào)節(jié)水平居中*/

? ? ? ? ? ? text-shadow: aquamarine 5px 15px 1px; /*文字陰影,第一個(gè)是水平偏移,第二個(gè)是垂直偏移,第三個(gè)是模糊*/

? ? ? ? }

? ? ? ? #p4{

? ? ? ? ? ? letter-spacing: 1px; /*調(diào)節(jié)字母距,中文字距*/

? ? ? ? ? ? text-indent: 2rem; /*縮進(jìn)2字*/

? ? ? ? ? ? word-spacing: 1rem; /*詞距離*/

? ? ? ? }

? ? ? ? #p5{

? ? ? ? ? ? width: 50rem; /*限制寬度可放字?jǐn)?shù)*/

? ? ? ? ? ? background-color: rgb(184, 115, 12);

? ? ? ? }

? ? </style>

</head>

<body>

? ? <p id="p1">超文本是一種組織信息的方式,它通過超級鏈接方法將文本中的文字、圖表與其他信息媒體相關(guān)聯(lián)。這些相互關(guān)聯(lián)的信息媒體可能在同一文本中,也可能是其他文件,或是地理位置相距遙遠(yuǎn)的某臺計(jì)算機(jī)上的文件。這種組織信息方式將分布在不同位置的信息資源用隨機(jī)方式進(jìn)行連接,為人們查找,檢索信息提供方便。</p>

? ? <p id="p2">HTML的英文全稱是 Hyper Text Markup Language,即超文本標(biāo)記語言。HTML是由Web的發(fā)明者 Tim Berners-Lee和同事 Daniel W. Connolly于1990年創(chuàng)立的一種標(biāo)記語言,它是標(biāo)準(zhǔn)通用化標(biāo)記語言SGML的應(yīng)用。用HTML編寫的超文本文檔稱為HTML文檔,它能獨(dú)立于各種操作系統(tǒng)平臺(如UNIX, Windows等)。使用HTML語言,將所需要表達(dá)的信息按某種規(guī)則寫成HTML文件,通過專用的瀏覽器來識別,并將這些HTML文件“翻譯”成可以識別的信息,即現(xiàn)在所見到的網(wǎng)頁。</p>

? ? <p id="p3">自1990年以來,HTML就一直被用作WWW的信息表示語言,使用HTML語言描述的文件需要通過WWW瀏覽器顯示出效果。HTML是一種建立網(wǎng)頁文件的語言,通過標(biāo)記式的指令(Tag),將影像、聲音、圖片、文字動畫、影視等內(nèi)容顯示出來。事實(shí)上,每一個(gè)HTML文檔都是一種靜態(tài)的網(wǎng)頁文件,這個(gè)文件里面包含了HTML指令代碼,這些指令代碼并不是一種程序語言,只是一種排版網(wǎng)頁中資料顯示位置的標(biāo)記結(jié)構(gòu)語言,易學(xué)易懂,非常簡單。HTML的普遍應(yīng)用就是帶來了超文本的技術(shù)―通過單擊鼠標(biāo)從一個(gè)主題跳轉(zhuǎn)到另一個(gè)主題,從一個(gè)頁面跳轉(zhuǎn)到另一個(gè)頁面,與世界各地主機(jī)的文件鏈接超文本傳輸協(xié)議規(guī)定了瀏覽器在運(yùn)行HTML文檔時(shí)所遵循的規(guī)則和進(jìn)行的操作。HTTP協(xié)議的制定使瀏覽器在運(yùn)行超文本時(shí)有了統(tǒng)一的規(guī)則和標(biāo)準(zhǔn)</p>

? ? <p id="p4">超級文本標(biāo)記語言是標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用,也是一種規(guī)范,一種標(biāo)準(zhǔn),它通過標(biāo)記符號來標(biāo)記要顯示的網(wǎng)頁中的各個(gè)部分。網(wǎng)頁文件本身是一種文本文件,通過在文本文件中添加標(biāo)記符,可以告訴瀏覽器如何顯示其中的內(nèi)容(如:文字如何處理,畫面如何安排,圖片如何顯示等)。瀏覽器按順序閱讀網(wǎng)頁文件,然后根據(jù)標(biāo)記符解釋和顯示其標(biāo)記的內(nèi)容,對書寫出錯(cuò)的標(biāo)記將不指出其錯(cuò)誤,且不停止其解釋執(zhí)行過程,編制者只能通過顯示效果來分析出錯(cuò)原因和出錯(cuò)部位。但需要注意的是,對于不同的瀏覽器,對同一標(biāo)記符可能會有不完全相同的解釋,因而可能會有不同的顯示效果。</p>

? ? <p id="p5">HTML是用來標(biāo)記Web信息如何展示以及其他特性的一種語法規(guī)則,它最初于1989年由GERN的Tim Berners-Lee發(fā)明。HTML基于更古老一些的語言SGML定義,并簡化了其中的語言元素。這些元素用于告訴瀏覽器如何在用戶的屏幕上展示數(shù)據(jù),所以很早就得到各個(gè)Web瀏覽器廠商的支持。</p>

</body>

</html>

12345678910111213141516171819202122232425262728293031323334353637383940414243

4.列表與鏈接常用樣式

愛恨原則

取消下劃線

列表取消默認(rèn)樣式

父元素li加樣式

更多

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

? ? ? ? #u li {

? ? ? ? ? ? margin-top: 10px;/*頂部間距*/

? ? ? ? ? ? background-color: aquamarine;

? ? ? ? ? ? width: 6rem;

? ? ? ? ? ? height:35px;

? ? ? ? ? ? line-height: 35px;?

? ? ? ? ? ? border-radius: 15px; /*設(shè)置圓角*/

? ? ? ? ? ? border-bottom: 1.5px solid; /*底部邊框*/

? ? ? ? ? ? list-style: none; /*列表取消默認(rèn)樣式*/

? ? ? ? ? ? text-align: center; /* 設(shè)置文本居中 */

? ? ? ? }

? ? ? ? #u li a{

? ? ? ? ? ? color: black;

? ? ? ? ? ? text-decoration: none; /*取消下劃線*/

? ? ? ? }

? ? ? ? #u li a:link{/*未訪問時(shí)的普通鏈接*/

? ? ? ? ? ? color: black;

? ? ? ? }

? ? ? ? #u li a:visited{/*訪問過后*/

? ? ? ? ? ? color: red;

? ? ? ? }

? ? ? ? #u li:hover{/*鼠標(biāo)放上去時(shí)*/

? ? ? ? ? ? background-color: yellowgreen;

? ? ? ? }

? ? ? ? #u li a:active{/*點(diǎn)擊時(shí)*/

? ? ? ? ? ? color: blue;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <ul id="u">

? ? ? ? <li><a href="#1">超鏈接1</a></li>

? ? ? ? <li><a href="#2">超鏈接2</a></li>

? ? ? ? <li><a href="#3">超鏈接3</a></li>

? ? ? ? <li><a href="#4">超鏈接4</a></li>

? ? ? ? <li><a href="#5">超鏈接5</a></li>

? ? ? ? <li><a href="#6">超鏈接6</a></li>

? ? ? ? <li><a href="#7">超鏈接7</a></li>

? ? ? ? <li><a href="#8">超鏈接8</a></li>

? ? </ul>?

</body>

</html>

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849

5.背景圖像應(yīng)用與漸變

背景圖片

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

? ? ? ? div{

? ? ? ? ? ? width: 1000px;

? ? ? ? ? ? height: 800px;

? ? ? ? ? ? background-image: url("https://tse2-mm.cn.bing.net/th/id/OIP.Y_REHAvabXSUWA_m0yEpKQHaEo?pid=Api&rs=1");

? ? ? ? ? ? border: 1px solid;

? ? ? ? }/* 默認(rèn)是鋪滿容器*/

? ? ? ? #box1{

? ? ? ? ? ? background-repeat: repeat-x;

? ? ? ? }/* 橫向重復(fù)*/

? ? ? ? #box2{

? ? ? ? ? ? background-repeat: repeat-y;

? ? ? ? }/* 縱向重復(fù)*/

? ? ? ? #box3{

? ? ? ? ? ? background-repeat: no-repeat;

? ? ? ? }/* 不重復(fù)*/

? ? ? ? #box4{

? ? ? ? ? ? background-repeat: no-repeat;

? ? ? ? ? ? background-size: 100%; /*不重復(fù)橫向鋪滿*/

? ? ? ? }

? ? </style>

</head>

<body>

? ? <div id="box1"></div>

? ? <div id="box2"></div>

? ? <div id="box3"></div>

? ? <div id="box4"></div>

</body>

</html>

1234567891011121314151617181920212223242526272829303132333435

顏色漸變

專業(yè)詳細(xì)

調(diào)色漸變網(wǎng)站效率copy

調(diào)色漸變網(wǎng)站效率copy2

6.盒子模型

margin:外邊距(往外擠)

boder:邊框(內(nèi)外邊界)

padding:內(nèi)邊距(往里邊擠)

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

? ? ? ? *{ /*初始化,去掉默認(rèn)盒子模型樣式*/

? ? ? ? ? ? margin: 0;

? ? ? ? ? ? padding: 0;

? ? ? ? }

? ? ? ? #box{

? ? ? ? ? ? border: 1px solid black; /* 邊框1px 實(shí)線 黑色*/

? ? ? ? ? ? width: 400px;

? ? ? ? ? ? font:24px 楷體;

? ? ? ? ? ? margin: auto; /*快速居中*/

? ? ? ? }

? ? ? ? #box div{

? ? ? ? ? ? margin: 20px 75px; /*上下邊距20px 左右邊距75px*/

? ? ? ? }

? ? ? ? #box div:last-child{

? ? ? ? ? ? text-align: center; /*最后一個(gè)盒子(按鈕)設(shè)置文本居中*/

? ? ? ? }

? ? ? ? #box div input:nth-child(2){

? ? ? ? ? ? height: 22px; /*輸入框高度22px*/

? ? ? ? }

? ? ? ? input[type="submit"]{

? ? ? ? ? ? height: 30px; /*按鈕高度30px*/

? ? ? ? ? ? width: 80px; /* 寬度80px*/

? ? ? ? }

? ? </style>

</head>

<body>


? ? <div id="box">

? ? ? ? <div>

? ? ? ? ? ? <span>賬號</span>

? ? ? ? ? ? <input type="text">

? ? ? ? </div>

? ? ? ? <div>

? ? ? ? ? ? <span>密碼</span>

? ? ? ? ? ? <input type="password">

? ? ? ? </div>

? ? ? ? <div><span><input type="submit" value="登錄">

? ? ? ? </span>

? ? </div>?

? ? </div>

</body>

</html>

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051

元素占用寬度 = margin+border+padding+內(nèi)容寬度

6.2.圓角邊框

border-radius: 0 0 0 0 ; (分別對應(yīng)四個(gè)角)

border-radius: 100 ; (如果只設(shè)置一個(gè)直接作用于四個(gè)角)

border-radius: 100 50 ;(如果只設(shè)置兩個(gè)則分別對應(yīng) 左上右下 右上左下)

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

? ? ? ? .app{

? ? ? ? ? ? border: 1px solid red;

? ? ? ? ? ? width: 100px;

? ? ? ? ? ? height: 100px;

? ? ? ? ? ? margin-left: 20px;

? ? ? ? ? ? float: left;

? ? ? ? }

? ? ? ? .app2{

? ? ? ? ? ? border: 1px solid red;

? ? ? ? ? ? width: 100px;

? ? ? ? ? ? height: 50px;

? ? ? ? ? ? margin-left: 20px;

? ? ? ? ? ? float: left;

? ? ? ? }

? ? ? ? .app3{

? ? ? ? ? ? border: 1px solid red;

? ? ? ? ? ? height: 100px;

? ? ? ? ? ? width: 50px;

? ? ? ? ? ? margin-left: 20px;

? ? ? ? ? ? float: left;

? ? ? ? }

? ? ? ? .class1{ /*直接變成一個(gè)圓*/

? ? ? ? ? ? border-radius: 100px;

? ? ? ? }

? ? ? ? .class2{ /*直接變成一個(gè)橢圓*/

? ? ? ? ? ? border-radius: 100px 0;

? ? ? ? }

? ? ? ? .class3{ /*直接變成一個(gè)門型*/

? ? ? ? ? ? border-radius: 100px 100px 0 0;

? ? ? ? }

? ? ? ? .class4{/*圓角矩形*/

? ? ? ? ? ? border-radius: 10px 10px 10px 10px;

? ? ? ? }

? ? ? ? .class5{/*半圓*/

? ? ? ? ? ? border-radius: 50px 50px 0 0;

? ? ? ? }

? ? ? ? .class6{/*側(cè)邊半圓*/

? ? ? ? ? ? border-radius: 50px? 0 0 50px;

? ? ? ? }

? ? ? ? .class7{/*1/4 圓扇形*/

? ? ? ? ? ? border-radius: 100px? 0 0 0;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <div class=" app class1 "></div>

? ? <div class=" app class2"></div>

? ? <div class=" app class3 "></div>

? ? <div class=" app class4 "></div>

? ? <div class=" app2 class5 "></div>

? ? <div class=" app3 class6 "></div>

? ? <div class=" app class7 "></div>

</body>

</html>

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061

實(shí)際應(yīng)用案例

圓形頭像

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

? ? ? ? img{

? ? ? ? ? ? width: 100px;

? ? ? ? ? ? height: 100px;

? ? ? ? ? ? border-radius:100px ;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <img src="https://i2.hdslb.com/bfs/face/00413d88b0fb54c1681cceb72d11c9ef0ca6a031.jpg_64x64.jpg" alt="">

</body>

</html>

123456789101112131415161718

6.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>

? ? ? ? #box{

? ? ? ? ? ? width: 100px;

? ? ? ? ? ? height: 100px;

? ? ? ? ? ? border-radius: 100px;

? ? ? ? ? ? border: 3px solid rosybrown;

? ? ? ? ? ? box-shadow:5px 1px 5px rgb(185, 113, 125);? /*盒子陰影 右偏移量 下偏移量 模糊度 顏色*/

? ? ? ? }

? ? </style>

</head>

<body>

? ? <div id="box"></div>

</body>

</html>

1234567891011121314151617181920

7.浮動

行內(nèi)元素 (寬度由內(nèi)容撐開,不會獨(dú)占一行)

塊元素 (寬高由內(nèi)容撐開,可以設(shè)置寬高,獨(dú)占一行)

行內(nèi)塊級元素(不會獨(dú)占一行的塊級元素)

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

? ? ? ? *{

? ? ? ? ? ? padding: 0;

? ? ? ? ? ? margin: 0;

? ? ? ? }

? ? ? ? ul{

? ? ? ? ? ? margin: 0 auto;

? ? ? ? ? ? width: 800px;

? ? ? ? }

? ? ? ? li{

? ? ? ? ? ? padding: 0 30px;

? ? ? ? ? ? display: inline-block; /*設(shè)置為行內(nèi)塊級元素*/

? ? ? ? ? ? background-color: antiquewhite;

? ? ? ? }

? ? ? ? li:hover{

? ? ? ? ? ? background-color: rgb(238, 12, 12);

? ? ? ? }

? ? ? ? li a{

? ? ? ? ? ? text-decoration: none;

? ? ? ? ? ? color: black;

? ? ? ? ? ? font-size: 20px;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <ul>

? ? ? ? <li><a href="#">首頁</a></li>

? ? ? ? <li><a href="#">新品</a></li>

? ? ? ? <li><a href="#">熱賣</a></li>

? ? ? ? <li><a href="#">折扣</a></li>

? ? ? ? <li><a href="#">粉絲精選</a></li>

? ? ? ? <li><a href="#">關(guān)于</a></li>

? ? ? ? <li><a href="#">退出</a></li>

? ? </ul>

</body>

</html>

12345678910111213141516171819202122232425262728293031323334353637383940414243

左、右浮動與清除浮動

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

? ? ? ? #box{

? ? ? ? ? ? background-color: rgb(211, 165, 165);

? ? ? ? }

? ? ? ? #box div:first-child{

? ? ? ? ? ? float: left; /*左浮動*/

? ? ? ? }

? ? ? ? #box div:nth-child(2){

? ? ? ? ? ? float: left; /*左浮動*/

? ? ? ? }

? ? ? ? #box div:last-child{

? ? ? ? ? ? float: right;

? ? ? ? }

? ? ? ? img{

? ? ? ? ? ? width: 300px;

? ? ? ? }

? ? ? ? #box div:last-child{

? ? ? ? ? ? clear: both; 清除兩邊浮動

? ? ? ? }

? ? </style>

</head>

<body>

? ? <div id="box">

? ? <span>我是box盒子,我是非浮動的</span>

? ? <div><img src="https://tse1-mm.cn.bing.net/th/id/OIP.MASmSGUEiRwOc86zsRb1OwHaEK?pid=Api&rs=1" alt=""></div>

? ? <div><p>

? ? ? ? 1、南方的八月間,驕陽似火。中午時(shí)分,太陽把樹葉都曬得卷縮起來。知了扯著長聲聒個(gè)不停,給悶熱的天氣更添上一層煩燥。

? ? </p></div>

? ? <div><img src="http://www.08lr.cn/uploads/allimg/170607/1-1F60GA955.jpg" alt=""></div>

? ? </div>

</body>

</html>

1234567891011121314151617181920212223242526272829303132333435363738

父級元素塌陷問題

解決方法:

給腹肌元素增加一個(gè)height

再套一個(gè)空的div,并清除該盒子的浮動或者加一個(gè)偽類元素after,before

如果出現(xiàn)內(nèi)容超出邊界的問題,可以使用樣式 overflow: scroll; 設(shè)置為滾動條

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

? ? ? ? p{

? ? ? ? ? ? float: left;

? ? ? ? ? ? width: 30px;

? ? ? ? ? ? padding: 0 20px;

? ? ? ? ? ? background-color: aquamarine;

? ? ? ? }

? ? ? ? p:nth-child(4),p:nth-child(7),p:nth-child(10){

? ? ? ? ? ? clear: both;

? ? ? ? }

? ? ? ? #box{

? ? ? ? ? ? border: 1px solid;

? ? ? ? }?

? ? ? ? #clear{

? ? ? ? ? ? clear: both; /* 通過空盒子清除浮動來保證父盒子不會塌陷*/

? ? ? ? ? ? margin: 0;

? ? ? ? ? ? padding: 0;

? ? ? ? }? ?

? ? ? ? #box2 p{

? ? ? ? ? ? width: 100px;

? ? ? ? ? ? height: 100px;

? ? ? ? ? ? overflow: scroll; /*如果超出邊界用增加一個(gè)滾動條*/

? ? ? ? }

? ? </style>

</head>

<body>

? ? <div id="box">

? ? ? ? <p>1</p>

? ? ? ? <p>2</p>

? ? ? ? <p>3</p>

? ? ? ? <p>4</p>

? ? ? ? <p>5</p>

? ? ? ? <p>6</p>

? ? ? ? <p>7</p>

? ? ? ? <p>8</p>

? ? ? ? <p>9</p>

? ? ? ? <p>10</p>

? ? ? ? <p>11</p>

? ? ? ? <p>12</p>

? ? ? ? <div id="clear"></div>

? ? </div>

? ? <div id="box2">

? ? ? ? <p>1、南方的八月間,驕陽似火。中午時(shí)分,太陽把樹葉都曬得卷縮起來。知了扯著長聲聒個(gè)不停,給悶熱的天氣更添上一層煩燥。

? ? ? ? </p>

? ? </div>

</body>

</html>

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253

8.定位

8.1相對定位

position: relative; 基于原來的位置進(jìn)行定位

top: -20px; left: 10px;right: 20px;bottom: -50px;

相對定位不會脫離標(biāo)準(zhǔn)文檔流,原來位置保留

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

? ? ? ? div{

? ? ? ? ? ? width: 1000px;

? ? ? ? ? ? height: 250px;

? ? ? ? ? ? margin: auto;

? ? ? ? ? ? border: 1px solid;

? ? ? ? }

? ? ? ? .a1{

? ? ? ? ? ? width: 800px;

? ? ? ? ? ? height: 50px;

? ? ? ? ? ? border: 1px solid;

? ? ? ? ? ? background-color: antiquewhite;

? ? ? ? ? ? position: relative;

? ? ? ? ? ? top: -20px;

? ? ? ? ? ? left: 10px;

? ? ? ? }

? ? ? ? .a2{

? ? ? ? ? ? width: 800px;

? ? ? ? ? ? height: 50px;

? ? ? ? ? ? border: 1px solid;

? ? ? ? ? ? background-color: rgb(207, 157, 91);

? ? ? ? }

? ? ? ? .a3{

? ? ? ? ? ? width: 800px;

? ? ? ? ? ? height: 50px;

? ? ? ? ? ? border: 1px solid;

? ? ? ? ? ? background-color: rgb(168, 99, 9);

? ? ? ? ? ? position: relative;

? ? ? ? ? ? right: 20px;

? ? ? ? ? ? bottom: -50px;

? ? ? ? }

? ? </style>

</head>

<body>


? ? <div>

? ? ? ? <p class="a1"></p>

? ? ? ? <p class="a2"></p>

? ? ? ? <p class="a3"></p>

? ? </div>

</body>

</html>

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849

8.2絕對定位

基于xxx進(jìn)行定位

position: absolute; 不在標(biāo)準(zhǔn)文檔流中,原來位置會丟失

如果父元素沒有定位則會相對于瀏覽器進(jìn)行定位,所以一般我們把父元素設(shè)置為相對定位(子絕父相)

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

? ? ? ? #app{

? ? ? ? ? ? width: 500px;

? ? ? ? ? ? height: 500px;

? ? ? ? ? ? border: 1px solid red;

? ? ? ? ? ? padding: 10px;

? ? ? ? ? ? position: relative;

? ? ? ? }

? ? ? ? p{

? ? ? ? ? ? width: 110px;

? ? ? ? ? ? height: 100px;

? ? ? ? ? ? background-color: antiquewhite;

? ? ? ? }

? ? ? ? #app p:first-child{

? ? ? ? ? ? position: absolute;

? ? ? ? ? ? background-color: aqua;

? ? ? ? ? ? left: 400px;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <div id="app">

? ? ? ? <p></p>

? ? ? ? <p></p>

? ? ? ? <p></p>

? ? ? ? <p></p>

? ? </div>

</body>

</html>

123456789101112131415161718192021222324252627282930313233343536

8.3固定定位

固定定位會一直定在瀏覽器的某一個(gè)地方

position: fixed; /固定定位/

<!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: 2000px;

? ? ? ? }

? ? ? ? #app1{

? ? ? ? ? ? width: 100px;

? ? ? ? ? ? height: 100px;

? ? ? ? ? ? background-color: aqua;

? ? ? ? ? ? position: absolute;/*絕對定位*/

? ? ? ? ? ? right: 0;

? ? ? ? ? ? bottom: 0;

? ? ? ? }

? ? ? ? #app2{

? ? ? ? ? ? width: 50px;

? ? ? ? ? ? height: 50px;

? ? ? ? ? ? background-color: rgb(32, 223, 7);

? ? ? ? ? ? position: fixed;/*固定定位*/

? ? ? ? ? ? right: 0;

? ? ? ? ? ? bottom: 0;

? ? ? ? }

? ? </style>

</head>

<body>

? ? <div id="app1"></div>

? ? <div id="app2"></div>

</body>

</html>

123456789101112131415161718192021222324252627282930313233

?

9.Z-index與透明

z-index類似于PS中的圖層

越是底層數(shù)字越小,層級向上層數(shù)字逐次增加

透明度設(shè)置(opacity)屬性

還可以通過rgb的第四個(gè)參數(shù)來實(shí)現(xiàn)透明度

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

? ? ? ? *{

? ? ? ? ? ? padding: 0;

? ? ? ? ? ? margin: 0;

? ? ? ? }

? ? ? ? #app{

? ? ? ? ? ? width: 325px;

? ? ? ? ? ? height: 200px;

? ? ? ? ? ? border: 1px solid;

? ? ? ? ? ? position: relative;

? ? ? ? ? ? z-index: 1;

? ? ? ? }

? ? ? ? #app div p{

? ? ? ? ? ? position: absolute;

? ? ? ? ? ? bottom: 80px;

? ? ? ? ? ? font-size: 48px;

? ? ? ? ? ? padding: 0 113px;

? ? ? ? ? ? color: white;

? ? ? ? ? ? background-color: rgba(0, 0, 0, 0.418); /*設(shè)置透明度*/

? ? ? ? ? ? /* opacity: 0.5; 設(shè)置透明度 */

? ? ? ? ? ? z-index: 0; /*設(shè)置為最底層*/

? ? ? ? }


? ? </style>

</head>

<body>

? ? <div id="app">

? ? ? ? <div><img src="https://tse4-mm.cn.bing.net/th/id/OIP.qrW9tphUIlHLMj4xDop9QAHaEK?w=294&h=180&c=7&o=5&dpr=1.1&pid=1.7" alt=""></div>

? ? ? ? <div><p>Java</p></div>

? ? </div>

</body>

</html>

1234567891011121314151617181920212223242526272829303132333435363738

10.CSS動畫

插好眼了可以傳送

CSS原生動畫雖然可以實(shí)現(xiàn),但是實(shí)現(xiàn)起來比較復(fù)雜,我們完全可以用JavaScript代替,但是CSS的效率會更高。

甚至一些3D動畫,用JavaScript難以實(shí)現(xiàn)。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容