前端基礎CSS篇之一

来源:https://www.cnblogs.com/lc-snail/archive/2020/03/28/12588316.html
-Advertisement-
Play Games

OXO1 寫在前面 1.HTML和CSS的對比 (1)HTML只關註語義和結構,主要是對網頁元素的整理和分類。 (2)CSS的主要使用場景就是美化頁面,佈局頁面。 (3)CSS和HTML搭配使用,實現網頁結構,表現分離。 2.CSS概述 (1)概念 CSS是疊層樣式表(Cascading Style ...


OXO1 寫在前面

1.HTML和CSS的對比

(1)HTML只關註語義和結構,主要是對網頁元素的整理和分類。
(2)CSS的主要使用場景就是美化頁面,佈局頁面。
(3)CSS和HTML搭配使用,實現網頁結構,表現分離。

2.CSS概述

(1)概念

CSS是疊層樣式表(Cascading Style Sheets)也稱為CSS樣式表或級聯樣式表。
也是一種標記語言。

(2)作用

CSS主要用於設置HTML頁面中的文本內容(字體,大小,對齊方式等),圖片的外形(寬高,邊框樣式,邊距等)以及版面佈局和外觀顯示樣式。

(3)CSS語法

CSS主要是由選擇器和一條或者多條申明組成。

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

demo:

p  {
    color:  red;
    font-size: 12px;
   }

註:
選擇器:指定修改樣式的目標
聲明: 要改成的樣式

(4)CSS註釋:

  /* 我是被註釋掉的內容 */

OXO2 選擇器的分類

一. 基礎選擇器

1.標簽選擇器

標簽選擇器(元素選擇器)是指用HTML標簽名稱作為選擇器,按照標簽分類,為頁面中某一類型的標簽,指定統一的CSS樣式。
語法 :

標簽名  {
    屬性1:  值1;
    屬性2:  值2;
    ....
    }

demo :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css標簽選擇器</title>
    <style>
        h1 {
            color: blueviolet;
        }
        h2 {
            color: red;
        }
        h3 {
            color: yellow;
        }
    </style>
</head>
<body>
    <h1>我是標題1,我用了css樣式</h1>
    <h2>我是標題2,我用了css樣式</h2>
    <h3>我是標題3,我用了css樣式</h3>    
</body>
</html>

效果

2.類選擇器

使用類選擇器可以實現為不同的標簽差異化樣式。
語法:

/*定義*/
.類名 {
        屬性1: 值1
        屬性2: 值2
        ....
        }

/*調用*/     
<div class='類名'>  xxxx </div>     

類選擇器口訣:

樣式點定義

class來調用

一個或多個

開發最常用

註意:

長名稱或者片語可以使用中橫線連接來為類選擇器命名。

demo:

<style>
        .blueviolet {
            background-color: blueviolet;
        }
        .color {
            color: cyan;
        }
        .box {
            font-size: 35px;
        }
    </style>
</head>
<body>
    <div class="blueviolet color box">吵過,鬧過,瘋狂過,卻從來沒有後悔過,我們越來越篤定地相信,天長地久也不久。</div>

** 註 :**
可以一次調用多個選擇器,中間用空格分開。

3.ID選擇器

語法

/*定義*/
#id名 {
        屬性:  屬性值;
}

/*調用*/
<div id="id名"></div>

口訣

 #號來定義
 id來定義

註意點:

ID選擇器一次只能調用一個
 一個ID選擇器只能調用一次

demo:

    <style>
        #box {
            font-size: 35px;
        }
    </style>
<body>
    <div id="box">第一次調用</div>
</body>

4.通配符選擇器

語法

* {
    屬性:屬性值;
 }

註意點
通配符不需要調用,自動的就給所有的元素使用。

二.複合選擇器

1.後代選擇器(包含選擇器)

語法 :

元素1 元素2 { 樣式聲明
}
eg :
ul li { 樣式申明 }

註釋:

元素2必須是元素1的後代元素。

後代選擇武器是對**後代元素**起作用

demo :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>css標簽選擇器</title>
   /*父級元素*/
   <style>
        .title {
            background-color: azure;
        }
        .title h1 {
            color: pink;
        }
        .title h1 em {
            color:aqua;
        }
    </style>
</head>
<body>
    <div class="title">
        <h1>我是div-title的後代,我為pink色<em>我是em,我是我h1的後代,我為aqua色</em></h1>  
    </div>
</body>
</html>

效果

2.子選擇器

子選擇器只能作為某元素的最近一級後代元素(子元素)。

元素1>元素2 { 樣式聲明 }

3.並集選擇器

並集選擇器可以選擇多組標簽,同時定義樣式。

元素1,
元素2,
...   ,
       { 樣式聲明}

4.偽類選擇器

偽類選擇器用於向某些選擇器添加特殊的效果,或者選擇第一或者第n個元素。例如:鏈接偽類,結構偽類等。

(1)鏈接偽類選擇器

a:link  /*選擇所有未被訪問的鏈接*/

a:visited /* 選擇所有已被訪問的鏈接 */

a:hover    /*選擇滑鼠指針位於其上的鏈接*/

a:active   /*選擇活動鏈接(滑鼠按下未談起*/

註意點:

1.鏈接偽類標簽的順序(lvha) :a:link  a:visited a:hover  a:active

2.a標簽在瀏覽器中有預設的樣式,需要根據需求更改樣式。

(2):focus偽類選擇器

:focus偽類選擇器用於選取獲得焦點(游標)的表單元素。

語法 :

input:focus{
   屬性: 屬性值;
}

(3)結構偽類選擇器(css3)

:first-child:選取父元素的首個子元素的指定選擇器
:last-child:選取父元素的最後一個子元素的制定選擇器
:nth-child(n):匹配屬於父元素的第N個子元素,不論元素的類型
:nth-last-child(n):匹配從父元素最後一個子元素開始倒數的子元素

demo :

<style>
    li:first-child{ /*選擇第一個子元素*/
        color: red;
    }
    li:last-child{ /*選擇最後一個子元素*/
        color: blue;
    }
    li:nth-child(3){/*選擇第三個子元素 n 代表第幾個的意思*/
        color: orange;
    }
    </style>
</head>
<body>
<ul>
    <li>第一個子元素</li>
    <li>第二個子元素</li>
    <li>第三個子元素</li>
    <li>第四個子元素</li>
    <li>第五個子元素</li>
    <li>第六個子元素</li>
    <li>第七個子元素</li>
</ul>
</body>

效果

OXO3 CSS引入方式

1.內部樣式表(嵌入式)

嵌入式樣式表指的是把css寫在HTML頁面中,但是css是單獨抽取出來放在<style>標簽中。
語法 :

<style>
    div {
        屬性: 屬性值;
    }
</style>

2.行內樣式表

行內樣式表(內聯樣式表)是在元素標簽內部的style屬性中設定css樣式。
語法:

<div style="屬性: 屬性值;"> 鍵盤敲爛,去拾破爛</div>

3.外部樣式(鏈接式)

方式一

 <link> rel="stylesheet" href="css文件路徑”>

方式二

<style type="text/css">
    @import url("css/style.css");
</style>


<link>屬於HTML而@import屬於CSS
<link>的載入速度比@import

OXO4CSS的三大特性

1.層疊性

兩個或者多個相同選擇器設置了相同的樣式,此時一個樣式就會覆蓋(層疊)另一個衝突的樣式。
層疊性原則:

樣式衝突 : 遵循的原則是就近原則,哪個樣式離結構近,就執行那個。

樣式不衝突 :不會層疊

2.繼承性

子標簽會繼承父標簽的某些樣式。
**demo : **

<style>
    div {
        color: red;
        font-size: 18px;
    }
    <div>
        <p>我是div的子標簽,我可以繼承父標簽的屬性</p>
    </div>
</style>

註釋:

合理的使用繼承可以簡約代碼

可以繼承的屬性有:text-, font , line- 這些元素開頭以及color屬性。
註:
關於繼承的詳情,請參照這位大佬的博客

3.優先順序

當一個元素指向多個選擇器,但是選擇器定義的樣式是同一個的時候,就會有優先順序的產生。

註 :

選擇器相同,則執行層疊性。
選擇器不同,則根據選擇器權重執行。

優先順序權重

選擇器 選擇器權重
繼承 或 * 0.0.0.0
元素選擇器 0.0.0.1
類選擇器 偽類選擇器 0.0.1.0
ID選擇器 0.1.0.0
行內樣式 style="" 1.0.0.0
important 無窮大

註意點:

1.繼承的權重為0,,不管父級元素權重有多高,子元素的權重都是0。

2.從左到右開始比較,相同位,比較下一位。

3.複合選擇器會產生權重疊加 ,但是不會產生進位。
demo

<style>
/*標簽選擇器的權重為0.0.0.1*/
    li {
        color: red;}    
    /*兩個標簽選擇器的權重之和為0.0.0.2*/
    ul li {
          color: red;
   }
</style>

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 當前不少系統的資料庫依舊是MySQL5.6,由於MySQL5.7及MySQL8.0在性能及安全方面有著很大的提升,因此需要升級資料庫。本文通過邏輯方式、物理方式原地升級來介紹MySQL5.6 升級至MySQL5.7的方法,並介紹其使用場景。 1. 邏輯方式升級 邏輯方式升級其實就是通過邏輯備份工具( ...
  • 在SQL Server中,有時候查詢數據時,需要限定查詢時間範圍。此時需要對時間進行運算, 如下所示: USE AdventureWorks2014;GOSELECT *FROM HumanResources.EmployeeWHERE ModifiedDate > GETDATE() - 20; ... ...
  • 使用 WebView 配合 pdf.js 在 Android 上顯示 PDF 文件 ...
  • 一、Cookie SameSite屬性介紹 就像大家已經知道的,一旦設置Cookie之後,在Cookie失效之前瀏覽器會一直將這個Cookie在後續所有的請求中都傳回到Server端。我們的系統會利用Cookie這個特性做很多事情,但通常我們會在Cookie中存放加密的用戶身份,在Server端根據 ...
  • html5搜索框結合datalist可以實現帶搜索功能的下拉框 不過嘗試了下,使用optgroup分組發現沒效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>search</title> </head> ...
  • 我們的項目上有一個這樣的場景:一個下拉選擇框,同時要支持用戶輸入,將最終的結果顯示在文本框中(就是普通的字元串,用戶在下拉框中選擇的放在【】中)……不知道能不能想象出來,寫上一篇筆記的時候發現和咱們博客園選擇“tag 標簽”的功能有點接近啊,我們的ui還是跟她有些不同。 還是拿一個具體的例子說一下吧 ...
  • 2020-03-24 1.安裝Node.js 官網:https://nodejs.org/ 兩個版本 LTS為穩定的長期支持版本 Current為最新的版本 安裝完畢後,cmd下輸入 node -v 查看node版本 若顯示“不是內部命令。。。。” 請配置環境變數 這裡不贅述 2.安裝WePY 運行 ...
  • 按照國際慣例先放效果圖 貼代碼: index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> <link rel="stylesheet" href="index.css ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...