前端開發HTML&css入門——CSS&選擇器練習(待補)

来源:https://www.cnblogs.com/KLExTt/archive/2019/08/16/11359837.html
-Advertisement-
Play Games

CSS 層疊樣式表 (Cascading Style Sheets)css可以用來為網頁創建樣式表,通過樣式表可以對網頁進行裝飾。所謂層疊,可以將整個網頁想象成是一層一層的結構,層次高的將會覆蓋層次低的。 而css就可以分別為網頁的各個層次設置樣式。 CSS的樣式表由一個一個的樣式構成,一個樣式又由 ...


 CSS 

  層疊樣式表 (Cascading Style Sheets)css可以用來為網頁創建樣式表,通過樣式表可以對網頁進行裝飾。所謂層疊,可以將整個網頁想象成是一層一層的結構,層次高的將會覆蓋層次低的。 而css就可以分別為網頁的各個層次設置樣式。  

  CSS的樣式表由一個一個的樣式構成,一個樣式又由選擇器和聲明塊構成。

  語法:

    – 選擇器 {樣式名:樣式值;樣式名:樣式值 ; }
    – p {color:red ; font-size:12px;}

方法一:

  內聯樣式

 1 <!doctype html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8" />
 5         <title>CSS</title>
 6    </head>
 7     <body>
 8           <p style="color:red;font-size:40px;">鋤禾日當午,汗滴禾下土</p>
 9                 <p style="color:red;font-size:40px;">誰知盤中餐,粒粒皆辛苦</p>
10     </body>
11 </html>

  可以將CSS樣式編寫到元素的style屬性當中將樣式直接編寫到style屬性中,這種樣式我們稱為內聯樣式內聯樣式只對當前的元素中的內容起作用,內聯樣式不方便復用內聯樣式屬於結構與表現耦合,不方便後期的維護,不推薦使用。所以我們就有了CSS。

  內部樣式

 1 <!doctype html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8" /
 5     <style type="text/css">
 6             p{
 7                 color:red;
 8                 font-size:40px;
 9             }
10         
11         </style>
12         
13     </head>
14     <body>
15 <p>誰知盤中餐,粒粒皆辛苦</p>
16         <p>誰知盤中餐,粒粒皆辛苦</p>
17         <p>誰知盤中餐,粒粒皆辛苦</p>
18         <p>誰知盤中餐,粒粒皆辛苦</p>
19         <p>誰知盤中餐,粒粒皆辛苦</p>
20         <p>誰知盤中餐,粒粒皆辛苦</p>
21     </body>
22 </html>

  這樣就解決了數量很龐大的標簽項目的樣式設定。但是如果我們在其他頁面也使用內部樣式那?

  外部樣式表

  先將上述p標簽的樣式複製下來,然後在新建一個文本文件,將樣式拷貝進文本文件中,然後右鍵另存為sytle.css

   然後我們編寫了一個外部的CSS文件,然後通過link標簽來將外部的CSS文件引入到當前頁面中,這樣外部文件中的css樣式表將會應用到當前頁面中。

 1 <!doctype html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8" />
 5         <title>CSS</title>
 6     <link rel="stylesheet" type="text/css" href="style.css" />
 7         
 8         
 9     </head>
10     <body
11 <p>誰知盤中餐,粒粒皆辛苦</p>
12         <p>誰知盤中餐,粒粒皆辛苦</p>
13         <p>誰知盤中餐,粒粒皆辛苦</p>
14         <p>誰知盤中餐,粒粒皆辛苦</p>
15         <p>誰知盤中餐,粒粒皆辛苦</p>
16         <p>誰知盤中餐,粒粒皆辛苦</p>
17     </body>
18 </html>

  將CSS樣式統一編寫到外部的樣式表中,完全使結構和表現分離,可以是樣式表可以在不同的頁面中使用,最大限度的使樣式可以進行復用,將樣式統一寫在樣式表中,然後通過link標簽引入,可以利用瀏覽器的緩存,加快用戶訪問的速度提高了用戶體驗,所以在開發中我們最推薦使用的方式就是外部的CSS文件。href=css的路徑。

  css的註釋

  CSS的註釋,作用和HTML註釋類似,只不過它必須編寫在style標簽中,或者是css文件中。

 1 <!doctype html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8" />
 5         <title>CSS</title>    
 6         <style type="text/css">
 7             
 8             /*
 9                 CSS的註釋,作用和HTML註釋類似,只不過它必須編寫在style標簽中,或者是css文件中
10                 
11                 CSS的語法:
12                 
13                     選擇器 聲明塊
14                     
15                 選擇器:
16                     - 通過選擇器可以選中頁面中指定的元素,
17                         並且將聲明塊中的樣式應用到選擇器對應的元素上
18                         
19                         
20                 聲明塊:
21                     - 聲明塊緊跟在選擇器的後邊,使用一對{}括起來,
22                         聲明塊中實際上就是一組一組的名值對結構,
23                             這一組一組的名值對我們稱為聲明,
24                         在一個聲明塊中可以寫多個聲明,多個聲明之間使用;隔開,
25                         聲明的樣式名和樣式值之間使用:來連接
26                     
27             */
28             
29                 
30             p{
31                 color:red;
32                 font-size:50px;
33             }
34         
35         </style>
36         
37     </head>
38     <body>
39             
40         <p style="color:red">天天下雨,我已經半個月沒見太陽了</p>
41         
42     </body>
43 </html>

  塊元素和內聯元素

  div就是一個塊元素,所謂的塊元素就是會獨占一行的的元素,無論他的內容有多少,他都會獨占一整行。

  p h1 h2 h3 ... 都是塊元素。

  div這個標簽沒有任何語義,就是一個純粹的塊元素,並且不會為它裡邊的元素設置任何的預設樣式,div元素主要用來對頁面進行佈局的。 

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6       </head>
 7      <body>
 8             <div style="background-color:red ; width: 200px;">
 9                 我是一個div
10             </div>
11         <p>我是一個p標簽</p>
12         <p>我是一個p標簽</p>
13            
14         
15     </body>
16 </html>  

  span是一個內聯元素(行內元素):所謂的行內元素,指的是只占自身大小的元素,不會占用一行
  常見的內聯元素:a img iframe span
  span沒有任何的語義,span標簽專門用來選中文字,
  然後為文字來設置樣式

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
<span>我是一個span</span>
        <span>我是一個span</span>
        
        <span>我是一段文字</span>
        
    </body>
</html>

  塊元素主要用來做頁面中的佈局,內聯元素主要用來選中文本設置樣式,
  一般情況下只使用塊元素去包含內聯元素,而不會使用內聯元素去包含一個塊元素
  a元素可以包含任意元素,除了他本身
  p元素不可以包含任何塊元素

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6     </head>    
 7       <p><span>我是一個span</span></p>
 8         
 9         <a href="#"></a>
10         
11         
12         <a href="#">
13             <div style="background-color:red ; width: 200px;">
14                 我是一個div
15             </div>
16         </a>
17     </body>
18 </html>

  在HTML5中,內聯元素和塊元素這兩個概念已經取消了。但是我們在這裡便於理解還是使用老的概念。

  常用的CSS選擇器

    元素選擇器
    作用:通過元素選擇器可以選則頁面中的所有指定元素
    語法:標簽名 {}

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>常用選擇器</title>
 6         <style type="text/css">
 7          p{
 8                 color: red;
 9             }
10             
11             
12             h1{
13                 color: red;
14             }        
15         </style>
16     </head>
17     <body>
18         <h1>憫農</h1>
19         <p>鋤禾日當午</p>
20         <p>鋤禾日當午</p>
21     </body>
22 </html>

  這種選擇器缺點顯而易見,如果單獨想設置某一個P標簽的樣式。就會更改整體P標簽的樣式。

    id選擇器
     通過元素的id屬性值選中唯一的一個元素
     語法:
     #id屬性值 {}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>常用選擇器</title>
        <style type="text/css">   
#p1{
                font-size: 20px; 
}
</style>
    </head>
    <body>
        <h1>憫農</h1>
        <p>鋤禾日當午</p>
        <p>鋤禾日當午</p>
        <p id="p1">鋤禾日當午</p>
    </body>
</html>

  雖然解決了不能單獨分配樣式的問題,但是相同的帶來另外一個問題就是不能分組去分配樣式。如果想多個分配樣式必須把每一個P標簽分配一個ID。  

  類選擇器
  通過元素的class屬性值選中一組元素
  語法:
  class屬性值{}

  <!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>常用選擇器</title>
        <style type="text/css">
          .p2{
                color: red;
            }
      .hello{
          font-size: 50px;
       }
          
        </style>
    </head>
    <body> 
             <p class="p2 hello">鋤禾日當午</p>
             <p class="p2">鋤禾日當午</p>
             <p class="p2">鋤禾日當午</p>        
    </body>
</html>

    我們可以為元素設置class屬性,
    class屬性和id屬性類似,只不過class屬性可以重覆
    擁有相同class屬性值的元素,我們說他們是一組元素
    可以同時為一個元素設置多個class屬性值,多個值之間使用空格隔開

    選擇器分組(並集選擇器)
    通過選擇器分組可以同時選中多個選擇器對應的元素
    語法:選擇器1,選擇器2,選擇器N{}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>常用選擇器</title>
        <style type="text/css">
            
        #p1 , .p2 , h1{
           background-color: yellow;
            }
        </style>
    </head>
    <body>
            <h1>憫農</h1>
            <p id="p1">鋤禾日當午</p>
            <p class="p2">鋤禾日當午</p>
    </body>
</html>

      複合選擇器(交集選擇器)
        可以選中同時滿足多個選擇器的元素
        語法:
        選擇器1選擇器2選擇器N{}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>常用選擇器</title>
        <style type="text/css">
            span.p3{
                 background-color: yellow;
                 }
     </style>
    </head>
    <body>
          <p class="p3">鋤禾日當午</p>
            <span class="p3">汗滴禾下土</span>
               </body>
</html>

      對於id選擇器來說,不建議使用複合選擇器

     通配選擇器
     他可以用來選中頁面中的所有的元素
     語法:*{}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>常用選擇器</title>
        <style type="text/css">
           *{
                color: red;
            }
        </style>
    </head>
    <body>
            <h1>憫農</h1>
            <p id="p1">鋤禾日當午</p>
            <p class="p2">鋤禾日當午</p>
    </body>
</html>
                

       後代元素選擇器

       選中指定元素的指定後代元素
         語法:
        祖先元素 後代元素{}

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
        div span{
                color: greenyellow;
            }
              </style>
     </head>
    <body>
        <div>
            <span>我是div標簽中的span</span>
            <p><span>我是p標簽中的span</span></p>
        </div>
        <span>我是body中的span元素</span>
           
</body>
</html>     

   只要是div塊元素後代的span標簽都會應用選擇器,而不是div塊元素後代的span標簽不會應用選擇器。而且後代元素選擇器也可以交叉使用ID選擇器,class選擇器 例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
        #d1 span{
                color: greenyellow;
              }
     </style>
    </head>
    <body>
       <div id="d1">
            <span>我是div標簽中的span</span>
            <p><span>我是p標簽中的span</span></p>
          </div>
    
    </body>
</html>

也可以單獨選擇一個後代元素進行應用(第幾個後代就在後面加幾個標簽)例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
        #d1 p span{
                font-size: 50px;
               }
     </style>
    </head>
    <body>
       <div id="d1">
            <span>我是div標簽中的span</span>
            <p><

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

-Advertisement-
Play Games
更多相關文章
  • i標簽中的內容會以斜體顯示,b標簽中的內容會以加粗顯示 h5規範中規定,對於不需要著重的內容而是單純的加粗或者是斜體,就可以使用b和i標簽 在h5中使用small標簽來表示一些細則一類的內容 比如:合同中小字,網站的版權聲明都可以放到small 網頁中所有的加書名號的內容都可以使用cite標簽,表示 ...
  • strat javascript 的類型轉換一直是個大坑,但其實它也減少了代碼量。 ToPrimitive Symbol.toPrimitive 是一個內置的 Symbol 值,它作為對象的函數值屬性存在,當一個對象轉換為原始值時,會調用此函數。 該函數被調用時,會被傳遞一個字元串參數 ,表示要轉換 ...
  • 1、VUE構造器簡介 VUE構造器是一個非常重要的語法。 每個Vue.js應用都是通過構造函數Vue創建一個根實例。 New了Vue對象,然後調用了這個vue對象的構造器,並向構造器傳入了數據。 在實例化Vue時,需要傳入一個JSON對象,它可以包含數據、模板、掛在元素、方法、回調函數等選項,全部的 ...
  • 定場詩 前言 讀《學習JavaScript數據結構與演算法》 第3章 數組,本小節將繼續為各位小伙伴分享數組的相關知識:ES6數組的新功能。 一、ES6數組新功能 ES5和ES6數組新方法 |方法|描述| | | | |@@iterator|返回一個包含數組鍵值對的迭代器對象,可以通過同步調用得到數組 ...
  • DOM:文檔對象模型,定義訪問和處理html文檔的標準方法。 DOM節點有: 元素節點:<html> <body>之類的都是 文本節點:向用戶展示內容,如<li>…</li>中的JavaScript、DOM、CSS等 屬性節點:元素屬性,如<a>標簽內的鏈接屬性href="http://www.ba ...
  • SVN在提交、更新、cleanup時報錯:Problem running logsvn: Failed to run the WC DB work queue associated with 'D:\workspace\tmsdev', work item 9414 (file-install We ...
  • 摘要: 玩轉Promise。 原文: "Promise 中的三兄弟 .all(), .race(), .allSettled()" 譯者:前端小智 "Fundebug" 經授權轉載,版權歸原作者所有。 從ES6 開始,我們大都使用的是 和`Promise.race() Promise.allSett ...
  • 獲取clientWidth,可以調整表頭與列對齊(最後一列的寬度不設置) // 表格滾動 table tbody { display: block; height: 495px; overflow-y: auto; overflow-x: hidden; } // 表頭固定 table thead, ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...