CSS 技術

瀏覽本篇文章前可以先看之前的前端網頁介紹html常用標籤以便更容易理解

本文目錄:

CSS相關查閱文檔://kohler.lanzouo.com/i0XFcz8svob

文檔截圖

CSS 技術介紹

CSS 是「層疊樣式表單」。是用於(增強)控制網頁樣式並允許將樣式資訊與網頁內容分離的一種標記性語言。

CSS 語法規則


選擇器:瀏覽器根據「選擇器」決定受 CSS 樣式影響的 HTML 元素(標籤)。
屬性 (property): 是你要改變的樣式名,並且每個屬性都有一個值。屬性和值被冒號分開,並由花括弧包圍,這樣就組成了一個完整的樣式聲明(declaration),例如:

    p {
    color: blue
    }

多個聲明:如果要定義不止一個聲明,則需要用分號將每個聲明分開。雖然最後一條聲明的最後可以不加分號(但盡量在每條聲明的末尾都加上分號)
例如:

p{

color:red;
font-size:30px;
}

註:一般每行只描述一個屬性

CSS 注釋:

/*注釋內容*/

CSS 和 HTML 的結合方式

第一種:

在標籤的 style 屬性上設置」key:value value;」,修改標籤樣式。

例:分別定義兩個 div、span 標籤,分別修改每個 div 標籤的樣式為:邊框 1 個像素,實線,紅色。

<div style="border: 1px solid red;">div 標籤 1</div>
<div style="border: 1px solid red;">div 標籤 2</div>
<span style="border:  1px solid red;">span 標籤 1</span>
<span style="border:  1px solid red;">span 標籤 2</span>

1px表示邊框為1個像素,solid表示邊框為實現,red表示邊框為紅色。

效果:

--style 標籤專門用來定義 css 樣式程式碼

我們通過添加style屬性來給給原來的標籤添加樣式:
通過使用border來添加了邊框,然後1px代表1像素,solid代表是實線,red代表是紅色

CSS的邊框樣式可以參考鏈接://www.w3school.com.cn/css/css_border.asp

問題:這種方式的缺點?

  1. 如果標籤多了。樣式多了。程式碼量非常龐大。
  2. 可讀性非常差。
  3. Css 程式碼沒什麼復用性可方言。

第二種

在 head 標籤中,使用 style 標籤來定義各種自己需要的 css 樣式。格式如下:

xxx {
Key : value value; }

例:分別定義兩個 div、span 標籤,分別修改每個 div 標籤的樣式為:邊框 1 個像素,實線,紅色。

<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
  <!--style標籤專門用來定義css樣式標籤,在這個標籤里的是css程式碼-->
  <style type="text/css">
  div{
  border: 1px solid red; }
  span{
  border: 1px solid red; }
  </style>
</head>
<body>
<div>div 標籤 1</div>
<div>div 標籤 2</div>
<span>span 標籤 1</span>
<span>span 標籤 2</span>
</body>
</html>

效果:

這次我們是在head標籤內就添加style標籤來實現我們想要的CSS樣式,無論後面有多少標籤都可以使用這個樣式。
我們提前設置好對哪些標籤添加CSS樣式,然後後面不用再添加style屬性就可以實現我們想要的CSS樣式
這種方式的缺點。
1.只能在同一頁面內復用程式碼,不能在多個頁面中復用 css 程式碼。
2.維護起來不方便,實際的項目中會有成千上萬的頁面,要到每個頁面中去修改。工作量太大了。

第三種

把 css 樣式寫成一個單獨的 css 文件,再通過 link 標籤引入即可復用。
使用 html 的<link rel="stylesheet" type="text/css" href="./styles.css" />標籤 導入 css 樣式文件。
css 文件內容(命名為1.css):

div{
border: 1px solid yellow; }
span{
border: 1px solid red; }

html文件內容:

<head>
<meta charset="UTF-8">
<title>Title</title>
<!--link 標籤專門用來引入 css 樣式程式碼-->
<link rel="stylesheet" type="text/css" href="1.css"/>
</head>
<body>
<div>div 標籤 1</div>
<div>div 標籤 2</div>
<span>span 標籤 1</span>
<span>span 標籤 2</span>
</body>
</html>

效果:

這個效果跟之前的效果是一樣的,只不過是實現方式不同。
優勢:

  1. 可以在很多頁面使用
  2. 維護方便

CSS 選擇器

標籤名選擇器

標籤名選擇器的格式是:

標籤名{
		
	屬性:值; 
  }

標籤名選擇器,可以決定哪些標籤被動的使用這個樣式。
例:在所有 div 標籤上修改字體顏色為藍色,字體大小 30 個像素。邊框為 1 像素黃色實線。並且修改所有 span 標籤的字體顏色為黃色,字體大小 20 個像素。邊框為 5 像素藍色虛線。

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS 選擇器</title>
    <style type="text/css"> 
      div{
        border: 1px solid yellow; color: blue;
        font-size: 30px; }
    span{
        border:  5px dashed   blue; color: yellow;
        font-size: 20px; }
      /*deshed表示虛線*/
    </style>
</head>
<body>
<div>div 標籤 1</div>
<div>div 標籤 2</div>
<span>span 標籤 1</span>
<span>span 標籤 2</span>
</body>
</html>

效果:

在這裡我們針對div標籤邊框設置的是

  • 標籤的邊框為1像素的黃色實線
  • 標籤的字體設置的是藍色
  • 標籤的字體的大小為30個像素

對span標籤設置的是

  • 標籤的邊框為5像素的藍色虛線
  • 標籤的字體為黃色
  • 標籤的字體大小為20個像素

id 選擇器

id 選擇器的格式是:

#id 屬性值{
	屬性:值; 
  }

id 選擇器,可以讓我們通過 id 屬性選擇性的去使用這個樣式。
例:分別定義兩個 div 標籤,
第一個 div 標籤定義 id 為 id001 ,然後根據 id 屬性定義 css 樣式修改字體顏色為藍色,字體大小 30 個像素。邊框為 1 像素黃色實線。
第二個 div 標籤定義 id 為 id002 ,然後根據 id 屬性定義 css 樣式 修改的字體顏色為紅色,字體大小 20 個像素。邊框為 5 像素藍色點線。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>ID 選擇器</title>
    <style type="text/css">
        #id001 {
            color: blue;
            font-size: 30px;
            border: 1px yellow solid;
        }
        #id002{
            color: red;
            font-size: 20px;
            border: 5px blue dotted ; }
      /*dotted表示點線*/
</style>
</head>
    <body>
        <div id="id001">div 標籤 1</div>
        <div id="id00">div 標籤 2</div>
 </body>
</html>

效果:

這次我們是對兩個div標籤進行設置
兩個都是div標籤
但是我們對兩個div設置了id,兩個id是不一樣的
就類似於給起了個名字 名字是不相同的
對id為id001的我們設置:

  • 標籤的邊框為1像素黃色實線
  • 標籤的字體為藍色
  • 標籤的字體大小為30像素

對id為id002的我們設置:

  • 標籤的邊框為5像素藍色點線
  • 標籤的字體為紅色
  • 標籤的字體大小為20像素

class 選擇器(類選擇器)

class 類型選擇器的格式是:

.class 屬性值
{
屬性:值;
}

class 類型選擇器,可以通過 class 屬性有效的選擇性地去使用這個樣式。

例:

  1. 修改 class 屬性值為 class01 的 span 或 div 標籤,字體顏色為藍色,字體大小 30 個像素。邊框為 1 像素黃色實線。
  2. 修改 class 屬性值為 class02 的 div 標籤,字體顏色為灰色,字體大小 26 個像素。邊框為 1 像素紅色實線。
<html>
<head>
<meta charset="UTF-8">
<title>class 類型選擇器</title>
<style type="text/css">
.class01{ color: blue;
font-size: 30px;
border: 1px solid yellow; }
.class02{ color: grey;
font-size: 26px; border: 1px solid red;
}
</style>
</head>
<body>
<div class="class02">div 標籤 class01</div>
<div class="class01">div 標籤</div>
<span class="class02">span 標籤 class01</span>
<span>span 標籤 2</span>
</body>
</html>

效果:

我們定義了兩個class:class01class02
class01:

  • 標籤字體顏色為藍色
  • 標籤字體大小為30個像素
  • 標籤的邊框為一個像素的黃色實線

class02:

  • 標籤字體顏色為灰色
  • 標籤字體大小為26個像素
  • 標籤的邊框為一個像素的紅色實線

然後我們再標籤中使用class
我們在第一個和第三個標籤中使用class02在第二個標籤中使用class01第四個標籤不使用class
然後我們就利用class的選擇來實現了我們想要的效果

組合選擇器

組合選擇器的格式是:

選擇器 1,選擇器 2,選擇器 n{
屬性:值; 
}

組合選擇器可以讓多個選擇器共用同一個 css 樣式程式碼。
例:
我們現有如下標籤 :

<div class="class01">div 標籤 class01</div> <br />
<span id="id01">span 標籤</span>   <br />
<div>div 標籤</div> <br />
<div>div 標籤 id01</div> <br />

修改 class=”class01″ 的div 標籤 和 id=”id01″ 所有的 span 標籤,字體顏色為藍色,字體大小 20 個像素。邊框為 1 像素黃色實線。

<html>
<head>
<meta charset="UTF-8">
<title>class 類型選擇器</title>
  <style type="text/css">
  .class01 , #id01{ 
    color: blue; 
    font-size: 20px;
    border: 1px red solid; 
    }
  </style>
</head>
<body>
<!--
需求 1:修改 class="class01" 的 div 標籤 和 id="id01" 所有的 span 標籤,字體顏色為藍色,字體大小 20 個像素。邊框為 1 像素黃色實線。
-->

<div id="id01">div 標籤 class01</div> <br />
<span class="class01" >span 標籤</span>   <br />
<div>div 標籤</div> <br />
<div>div 標籤 id01</div> <br />
</body>
</html>

效果:

在這裡我們是先定義了一個組合:class01id01
這個組合共同使用我們定義的css樣式:

  • 標籤的字體為藍色
  • 標籤的字體大小為20個像素
  • 標籤的邊框為一個像素的紅色實線

然後我們在下面的標籤中使用
第一個標籤設置id=id01
第二個標籤設置class=class01
剩餘標籤不設置
然後我們就得到了如圖所示的效果
這個組合選擇器就是把前面的class和id結合起來,使得我們能夠降低程式碼的冗餘,儘可能提高我們的效率

常用樣式

  1. 字體顏色

color:red;
顏色可以寫顏色名如:black,blue,red,green等
顏色也可以寫rgb值十六進位表示值:如rgb(255,0,0),#00F6DE,如果寫十六進位值必須加#

  1. 寬度

width:19px;
寬度也可以寫像素值:19px;
也可以寫百分比值:20%;

  1. 高度

height:20px;
高度可以寫像素值:19px;
也可以寫百分比值:20%;

  1. 背景顏色

background-color:#0F2D4C

  1. 字體樣式:

color:#FF0000;字體顏色紅色
font-size:20px; 字體大小

  1. 紅色 1 像素實線邊框

border:1px solid red;

  1. DIV 居中

margin-left: auto;
margin-right: auto;

  1. 文本居中:

text-align: center;

  1. 超鏈接去下劃線

text-decoration: none;

  1. 表格細線

table {
border: 1px solid black; /設置邊框/
border-collapse: collapse; /將邊框合併/
}
td,th {
border: 1px solid black; /設置邊框/
}

  1. 列表去除修飾

ul {
list-style: none;
}

示例程式碼:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>06-css 常用樣式.html</title>
<style type="text/css">
  div{
    color: red;
    border: 1px yellow solid;
    width: 300px;
    height: 300px;
    background-color: green;
    font-size: 30px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  table{
    border: 1px red solid;
    border-collapse: collapse;
  }
  td{
    border: 1px red solid;
  }
  a{
    text-decoration: none;
  }
  ul{
    list-style: none;
  }
</style>
</head>
<body>
  <ul>
  <li>11111111111</li>
  <li>11111111111</li>
  <li>11111111111</li>
  <li>11111111111</li>
  <li>11111111111</li>
  </ul>
  <table>
  <tr>
  <td>1.1</td>
  <td>1.2</td>
  </tr>
  </table>
  <a href="//www.baidu.com">百度</a>
  <div>我是 div 標籤</div>
</body>
</html>

如圖片失效等問題請參閱公眾號文章://mp.weixin.qq.com/s/A09HBiJCAf_VBPNqqP7fIw