天天看點

css學習

1、什麼是CSS

如何學習

  1. CSS是什麼
  2. CSS怎麼用
  3. CSS選擇器(重點,難點)
  4. 美化網頁(文字,陰影,超連結,清單,界面。。。。)
  5. 盒子模型
  6. 浮動
  7. 定位
  8. 網頁動畫(特效)

1.1、什麼是CSS

Cascading Style Sheet 層疊級聯樣式表

CSS:表現(美化頁面)

字型,顔色,邊距,高度,寬度,圖檔

1.3、快速入門

練習格式:

style

基本入門

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--規範 <style> 中可以編寫css的代碼,每一個聲明最好使用分好結尾
    文法:
        選擇器{
            聲明1;
            聲明2;
            聲明3;
        }
    
    
    -->
    <style>
        h1{
            color: red;
        }

    </style>


</head>
<body>

<h1>我是标題</h1>

</body>
</html>
           

建議使用這種規範

css的優勢

  1. 内容和表現分離
  2. 網頁結構表現統一,可以實作複用
  3. 樣式十分豐富
  4. 建議使用獨立于html的css檔案
  5. 利于SEO,容易被搜尋引擎收錄!

1.4、css四種導入方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--内部樣式-->
    <style>
        h1{
            color: green;
        }
    </style>

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


</head>
<body>
<!--優先級:覆寫原則-->
<!--行内樣式:在标簽中,編寫一個style屬性,編寫樣式即可-->
<h1 style="color: red">我是标題</h1>

</body>
</html>
           

2、選擇器

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

2.1、基本選擇器

1.标簽選擇器:選擇一類标簽 标簽{}

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

    <style>
        <!--标簽選擇器會選擇頁面上所有的這個标簽-->
        h1{
            color: red;
        }

        p{
            color: green;
            font-size: 80px;
        }
    </style>

</head>
<body>

<h1>學Java</h1>
<h1>學Java</h1>
<p>聽課</p>

</body>
</html>
           

2.類選擇器class:選擇所有class屬性一緻的标簽,可以跨标簽 .類名{}

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

    <style>
        /*類選擇器的格式: .class的名稱{}
        好處:可以多個标簽歸類,是同一個class


        */
        .yt{
            color: #4db331;
        }
        .you{
            color: #a63037;
        }

    </style>


</head>
<body>

<h1 class="yt">标題1</h1>
<h1 class="you">标題2</h1>
<h1 class="you">标題3</h1>

<p class="you">段落</p>

</body>
</html>
           

3.ID選擇器:全局唯一,不能重複 #id名{}

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

    <style>
        /*id選擇器, id必須保證全局唯一!
        #id名稱{}

        幾個選擇器中不遵循就近原則,固定的
        優先級:id選擇器> class選擇器 > 标簽選擇器
        */
        #yt{
            color: red;
        }
    </style>

</head>
<body>

<h1 id="yt">标題1</h1>
<h1>标題2</h1>
<h1>标題3</h1>
<h1>标題4</h1>

</body>
</html>
           

幾個選擇器中不遵循就近原則,固定的

優先級:id選擇器> class選擇器 > 标簽選擇器

2.2、層次選擇器

1.後代選擇器:在某個元素後面

<style>
        /*後代選擇器 空格*/
        body p{
            background-color: #a63037;
            color: #59ca28;
        }

    </style>
           

2.子選擇器, 一代 兒子

/*子選擇器 大于符号*/
        body>p{
            background-color: yellow;
        }
           

3.相鄰兄弟選擇器 同輩

/*相鄰兄弟選擇器 :隻有一個,向下 加号*/
        .active + p{
            background-color: blue;
        }
           

4.通用選擇器

/*通用兄弟選擇器,目前選中元素的向下的所有兄弟元素*/        .active~p{            background-color: chartreuse;        }
           

2.3、結構僞類選擇器

僞類:

/*ul的第一個子元素 */        ul li:first-child{            background-color: #a63037;        }      /*ul的最後一個子元素 */        ul li:last-child{            background-color: #4db331;        }
           

2.4、屬性選擇器(常用)

id + class結合

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title>    <style>        .demo a{            float: left;            display: block;            height: 50px;            width: 50px;            border-radius: 30px;            background: #4db331;            text-align:center;            color: gray;            text-decoration: none;            margin-left: 5px;            font:bold 20px/50px Arial;        }        /*屬性名 或者 屬性名=屬性值(正則)        = 絕對等于        *= 包含這個元素        ^= 以這個元素開始        $= 以這個結尾        */        /*存在id屬性的元素  a[屬性]{}*/        /*        a[id]{            background: yellow;        }        a[title]{            background: red;        }        */        /*class 中有links的元素*/        a[class *="links"]{            background: blue;        }        /*選中href中以http開頭的元素*/        a[href^=http]{            background: yellow;        }        a[href $= pdf]{            background:red;        }    </style></head><body><p class="demo">    <a href="http://www.baidu.com" class="links item first" id="first">1</a>    <a href="" class="links item active" target="_blank" title="test">2</a>    <a href="images/123.html" class="links item">3</a>    <a href="images/123.png" class="links item">4</a>    <a href="images/123.jpg" class="links item">5</a>    <a href="abc" class="links item">6</a>    <a href="/a.pdf" class="links item">7</a>    <a href="/abc.pdf" class="links item">8</a>    <a href="abc.doc" class="links item">9</a>    <a href="abcd.doc" class="links item last">10</a></p></body></html>
           
= 絕對等于*= 包含這個元素^= 以這個元素開始$= 以這個結尾
           

3、美化網頁元素

3.1、 為什麼要美化網頁

1、有效的傳遞資訊

2、頁面漂亮,吸引客戶

3、凸顯主題

4、提高使用者體驗

span标簽:重點要突出的字,使用span标簽套起來

3.2、字型樣式

<head>    <meta charset="UTF-8">    <title>Title</title>    <!--    font-family:字型    font-size:字型大小    font-weight: 字型粗細    color:字型的顔色    -->    <style>        body{            font-family: 楷體;            color: #4db331;            text-align: center;        }        h1{            font-size: 50px;        }        .p1{            font-weight: bold;        }    </style></head>
           

3.3、文本樣式

1、顔色 color rgb rgba

2、文本對齊方式 text-align = center

3、首行縮進 text-indent: 2em;

4、行高 line-height

5、裝飾 text-decoration

6、文本圖檔對齊 vertical-align

3.4、文本陰影和超連結僞類

<style>        /*預設的顔色*/        a{            text-decoration: none;            color: black;        }        /*滑鼠懸浮的狀态*/        a:hover{            color: #59ca28;        }        /*滑鼠按住未釋放的狀态*/        a:active{            color: red;        }        #price{            text-shadow: #59ca28 10px 10px 10px;        }    </style>
           

正常情況下,基本上隻使用:

a:hover{            color: #59ca28;        }
           

3.5、清單

list-style:

​ none 去掉原點

​ circle 空心原點

​ decimal 數字

3.6、背景

背景圖檔

<style>        div{            width: 1000px;            height: 700px;            border: 1px solid red;            background-image: url("images/a.PNG");//預設全部是平鋪的        }        .div1{            background-repeat: repeat-x;        }        .div2{             background-repeat: repeat-y;         }        .div3{             background-repeat: no-repeat;         }    </style>
           

4、盒子模型

4.1、 什麼是盒子模型

margin: 外邊距

padding:内邊距

border: 邊框

4.2、邊框

<style>        body{            /*body 總有一個預設的外邊距margin*/            margin: 0px;        }        /*border: 粗細,樣式,顔色*/        #box{            width: 300px;            height: 150px;            border: 1px solid red;        }        form{            background: gray;        }        div:nth-of-type(1) input{            border: 3px solid black;        }    </style>
           

border: 3px solid black;

實線:solid

虛線:dashed

4.3、内外邊距

外邊距的妙用:居中

margin: 0 auto;
           

上下左右

4.4、圓角邊框

border-radius:10px;
           

4.5、盒子陰影

box-shadow: 10px 10px 1px
           

5、浮動

5.1、标準文檔流:

文檔流指的是元素排版布局過程中,元素會預設自動從左往右,從上往下的流式排列方式

塊級元素:獨占一行

h1~h6 p div 清單、、、、、
           

行内元素:不獨占一行

span a img .....
           

行内元素可以包含在塊級元素中,反之不可以

5.2、display

display:block;

block 塊元素

inline 行内元素

inline-block 是塊元素,但是可以内聯,在一行

none:消失

5.3、float

1、左右浮動 float

float:right;

float:left;

5.4、父級邊框塌陷問題

clear:right; 右側不允許有浮動元素

clear: left; 左側不允許有浮動元素

clear: both; 兩側不允許有浮動元素

clear: none;

解決方案

1、增加父級元素高度

2、增加一個空的div标簽,清楚浮動

<div ></div>.clear{    clear:both;    margin:0;    padding:0;}
           

3、overflow

在父級元素中增加一個 overflow:hidden;

overflow: scroll;//産生滾動條

4、父類增加一個僞類:after

#father:after{    content:'';    display:block;    clear:both;}
           

小結:

1.浮動元素後面增加div

​ 簡單,代碼中盡量避免空的div

2.設定父元素的高度

​ 簡單,元素假設有了固定的高度,就會被限制

3.overflow

​ 簡單,下拉的一些場景避免使用

4.父類增加一個僞類:after

​ 推薦使用,但寫法複雜

5.5、對比

  • diplay

    方向不可以控制

  • float

    浮動起來會脫離标準文檔流

6、定位

6.1、相對定位

position: relative;

相對于原來的位置,進行指定的偏移,仍然在标準文檔流中,原來的位置會被保留

上左下右

top left bottom right

6.2、絕對定位

定位:基于xxx定位,上下左右

1、沒有父類元素定位的前提下,相對于浏覽器定位

2、如果父類元素存在,通常相對于父類元素偏移

不在原來的位置

6.3、固定定位

position: fixed

6.4、z-index

7、動畫

上一篇: 學習CSS
下一篇: css學習