CSS 技術

来源:https://www.cnblogs.com/kohler21/archive/2022/06/11/16366386.html
-Advertisement-
Play Games

瀏覽本篇文章前可以先看之前的前端網頁介紹和html常用標簽以便更容易理解 本文目錄: CSS相關查閱文檔:https://kohler.lanzouo.com/i0XFcz8svob 文檔截圖 CSS 技術介紹 CSS 是「層疊樣式表單」。是用於(增強)控制網頁樣式並允許將樣式信息與網頁內容分離的一 ...


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

本文目錄:

目錄

CSS相關查閱文檔:https://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的邊框樣式可以參考鏈接:https://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="http://www.baidu.com">百度</a>
  <div>我是 div 標簽</div>
</body>
</html>

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

歡迎關註我的公眾號,共同學習


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

-Advertisement-
Play Games
更多相關文章
  • 寫在前面 令人愉快又頹廢的周日馬上就要到了,正在計劃這周博客寫什麼的我,突然收到導師發給我的消息,What?要給我發補助? 這樣中午不得去食堂加一個餐,很快啊,我就說了聲:謝謝。 但後續證明我還是太嫩了些,天上是沒有免費午餐的。 不過對於這種專業相關,而且能從中學到不少東西的任務,我還是十分樂意去乾 ...
  • 1.下載安裝包 1.1 下載elasticsearch 7.13.3 curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.3-linux-x86_64.tar.gz 1.2 解壓文件 t ...
  • SQL的語法 SQL通用語法 SQL語句可以單行或多行書寫,以分號(“;”)結尾。 SQL語句可以使用空格或縮進增強可讀性。 MySQL資料庫的SQL語句不區分大小寫(建議關鍵字大寫)。 註釋 單行註釋: -- 內容 # 內容(MySQL特有) 多行註釋: /* 內容 */ SQL語句分類 分類 全 ...
  • MyBatisPlus(簡稱MP)是基於MyBatis框架基礎上開發的增強型工具,旨在簡化開發、提高效率 - 無侵入:只做增強不做改變,不會對現有工程產生影響 - 強大的 CRUD 操作:內置通用 Mapper,少量配置即可實現單表CRUD 操作 - 支持 Lambda:編寫查詢條件無需擔心欄位寫錯... ...
  • 分享嘉賓:羅景 58同城 高級架構師 編輯整理:洪鵬飛 內容來源:DataFun AI Talk《連接效率優化實踐》 出品社區:DataFun **導讀:**本次分享由以下幾個部分構成—— 58的業務背景 綜合排序框架 效率優化框架 基礎數據流程(數據) 策略優化路徑(演算法) 效率優化平臺(工程) ...
  • 1、簡介 註:本文代碼參考 我們將開發本系列第一個應用,並藉此學習一些Android基本概念以及構成應用的UI組件。 初學習,如果沒能全部理解,也不必擔心,後續還會涉及這些內容並有更加詳細的講解。 馬上要開發的應用名叫GeoQuiz,它能給出一道道地理知識問題。用戶點擊TRUE或FALSE 按鈕來回 ...
  • 原文地址:Jetpack架構組件學習(3)——Activity Results API使用 - Stars-One的雜貨小窩 技術與時俱進,頁面跳轉傳值一直使用的是startActivityForResult方法,如今有了新的API實現方式,學習並稍微總結下 😄 startActivityForR ...
  • 淺說一下吧 這個小項目由h5和css還有js和jq寫的 主題內容為個人音樂 博客等 首頁一級導航欄 以及側邊欄 整合部分圖標(側邊欄未添加收起操作 時間原因 會的朋友們可以自行添加一個動畫就可以 在main.js中) 中間音樂部分為作者和歌詞 點擊播放的按鈕可彈出對應的視頻mv 視頻mv均為酷狗音樂 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...