智慧的網絡爬蟲之CSS概述

智慧的網絡爬蟲之CSS概述

? CSS 是“Cascading Style Sheet”的縮寫,中文意思為“層疊樣式表”,用于描述網頁的表現形式。如網頁元素的位置、大小、顏色等。css的主要作用是定義網頁的樣式。

CSS樣式

1. 行內樣式

行內樣式:直接定義在 HTML 標簽的 style 屬性中

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><!--行內樣式--><p style="color: green;">段落</p><p style="color: blueviolet;">段落</p><p style="color: plum;">段落</p></body>
</html>
2. 內嵌樣式

HTML 頭部(<head>標簽內)的<style>標簽中定義 CSS 樣式。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>p{background-color: black;color: blue;}</style>
</head>
<body>
<div><p>第一段落</p><p>第二段落</p><span>一個span標簽</span>
</div>
</body>
</html>
3. 外部樣式

CSS 樣式定義在一個 .css 格式的文件中,然后使用 HTML 的<link>標簽將這個 .css 格式的樣式文件應用到 HTML 文檔中。

css文件

div{background: aquamarine;
}
p{color: red;background: black;
}

html文件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="d1.css">
</head>
<body>
<div><p>這是第一段落</p><p>這是第二段落</p><span>這是一個span標簽</span>
</div>
</body>
</html>

樣式優先級

行內樣式 > 內嵌樣式 > 外部樣式 注意:盡量不要在同一個Html文件中使用多種樣式

  • 如果樣式是固定并且不修改并且很少情況,使用內部樣式
  • 如果樣式針對當前html頁面做的樣式,并且代碼量不是很大的的情況下, 使用內聯樣式
  • 如果樣式是通用,且css代碼很多,使用外部樣式,需要創建一個css文件,引入。

CSS選擇器

1. 通用選擇器

通用選擇器用星號*表示,它不匹配某個特定的 HTML 元素,而是匹配 HTML 文檔中的每個元素,開發中通常使用通用選擇器來清除 HTML元素中默認的內外邊距

通用選擇器格式:*{}* {margin: 0 auto;padding: 0;
}
2. 標簽選擇器

根據標簽的名字 進行選擇匹配

標簽選擇器格式:標簽名{}p{color: red
}
span{color: blue
}
3. ID選擇器/類選擇器

根據標簽的ID屬性或者class屬性來匹配,ID選擇器的定義需要用到#,后面緊跟ID屬性值,類選擇器的定義需要用到一個英文的句號.,后面緊跟 class 屬性的值

ID選擇器格式: #ID名{}
#d1{background: aquamarine;
}類選擇器格式:.類名{}
.c1{background: black;
}<div><span id="d1">ID選擇器</span><span class="c1">類選擇器</span>
</div>
4. 層級選擇器
  • 后代選擇器
  • 子選擇器
<div><span id="d1">ID選擇器</span><br><span class="c1">類選擇器</span><br><a href="#"><span>這是一個超鏈接</span></a><ul><li><span>這是第一項</span></li><li><span>這是第二項</span></li></ul>
</div>span標簽是div標簽的后代標簽,a標簽也是div的后代標簽后代選擇器的格式: 父標簽名 子標簽名{}  通過父標簽去定位找到子標簽 能夠匹配到div下面所有符合條件的標簽
子代選擇器的格式: 父標簽 > 子標簽{}  通過父標簽去定位找到子標簽 能夠匹配到div下直系的子標簽后代選擇器使用
div span{color: red
}子代選擇器使用
div > span{background: black;
}
5. 組合選擇器

組合選擇器可以將同樣的樣式應用到多個選擇器中,每個選擇器中用逗號隔開

<div><span id="d1">ID選擇器</span><br><span class="c1">類選擇器</span><br><a href="#"><span>這是一個超鏈接</span></a><ul><li><span>這是第一項</span></li><li><span>這是第二項</span></li></ul>
</div>樣式代碼
span,a{color:red
} /* 該樣式將會運用在所有的span標簽和a標簽中  */#d1,.c1{color:blue
} /* 該樣式將會運用在所有id屬性為d1,class屬性為c1的標簽中  */
6、偽類選擇器

偽類選擇器是一種特殊的選擇器,可以用來選擇處于特定狀態的元素,例如未被訪問的鏈接、已被訪問的鏈接、鼠標懸停在上面的元素、活動元素和獲得焦點的表單元素等

  • :link偽類選擇器:選擇所有未被訪問的鏈接。
  • :visited偽類選擇器:選擇所有已被訪問的鏈接。
  • :hover偽類選擇器:選擇鼠標懸停在上面的元素。
  • :active偽類選擇器:選擇活動元素,即鼠標按下未彈起的元素。
  • :focus偽類選擇器:選擇獲得焦點的元素,一般是表單元素,如類。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>span:hover{color: red;}a:link{color: red;}a:active{color: blue;}a:visited{color: yellow;}a{font-size: larger;}</style>
</head>
<body>
<div class="f"><div class="box1"><span>這是一個span標簽</span></div><div class="box2"><a href="#">這是一個鏈接</a></div>
</div>
</body>
</html>

CSS盒子模型

盒子模型是網頁設計中經常用到的一種思維模型,由四個部分構成,從內到外分別為內容區(content)、內邊距(padding)、邊框(border)和外邊距(margin),CSS 為這四個部分提供了一系列相關屬性,通過對這些屬性的設置可以豐富盒子的表現效果。

在這里插入圖片描述

盒子的組成

  • 外邊距:margin
  • 內邊距:padding
  • 邊框:border
  • 內容:content
<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><title>Title</title><style>div {background-color: lightgrey;width: 300px;border: 25px solid green;padding: 25px;margin: 25px;}</style>
</head>
<body><h2>盒子模型演示</h2><p>CSS盒模型本質上是一個盒子,封裝周圍的HTML元素,它包括:邊距,邊框,填充,和實際內容。</p><div>這里是盒子內的實際內容。有 25px 內間距,25px 外間距、25px 綠色邊框。</div>
</body>
</html>
1. margin
  • 盒子的外邊距,是透明的 只能設置他的邊距
  • margin包含了上下左右四條邊,開發者可以單獨設置每一條邊的邊距。
margin-top:上邊距
margin-buttom:下邊距
margin-left:左邊距
margin-right:右邊距

在這里插入圖片描述

2. padding
  • 盒子的內邊距

  • 與外邊距不同,padding不是只能完全透明的,可以設置背景顏色和圖片。

  • margin類似,padding包含了上下左右四條邊,開發者可以單獨設置每一條邊的邊距。

padding-top:上部填充
padding-bottom:下部填充
padding-left:左部填充
padding-right:右部填充
3.border
  • border表示盒子的邊界,它可以設置成可見的,樣式多樣的。
  • bordermarginpadding一樣可以分別對每一條邊進行設置。
border-top:上邊界
border-bottom:下邊界
border-left:左邊界
border-right:右邊界

浮動

浮動可以使一個元素脫離自己原本的位置,并在父元素的內容區中向左或向右移動,直到碰到父元素內容區的邊界或者其它浮動元素為止 float 屬性有三個可選值,如下表所示:

描述
left元素向左浮動
right元素向右浮動
none默認值,元素不浮動

當父元素未設置高度時,父元素的高度會取決于子元素的高度。當子元素設置浮動后,會脫離文檔流,造成子元素的內容在父元素外出現,這種情況下,父元素的高度可能會塌陷到0

<!DOCTYPE html>
<html>
<head><style>.box{border: 2px solid red;height: 400px;width: 312px;}.div1{height: 100px;width: 100px;float: left;border: 2px solid yellow;}.div2{float: left;height: 100px;width: 100px;border: 2px solid blue;}.div3{height: 100px;width: 100px;float: left;border: 2px solid black;}</style>
</head>
<body><div class="box"><div class="div1">div1</div><div class="div2">div2</div><div class="div3">div3</div></div>
</body>
</html>
清除浮動

元素浮動之后,會對周圍的元素造成一定的影響,為了消除這種影響您可以使用 clear 屬性來清除浮動,屬性的可選值如下:

描述
left左側不允許浮動元素
right右側不允許浮動元素
both左右兩側均不允許浮動元素

定位

CSS 中的 position 屬性用來設置元素在頁面中的位置,通過該屬性您可以把任何屬性放置在任何您認為合適的位置。position常用的屬性值有relative, absolute, fixed

屬性名描述
position: relative相對定位,即相對于元素的正常位置進行定位,不會對其他元素造成影響
position: absolute絕對定位,相對于第一個帶有定位屬性的父元素進行定位 默認是瀏覽器
position: fixed固定定位,相對于瀏覽器的創建進行定位
相對定位
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.box1{width: 100px;height: 100px;background-color: black;opacity: 0.5; /*透明度*/position: relative;left: 150px;top: 150px;}.box2{width: 200px;height: 200px;background-color: green;}</style>
</head>
<body><div class="box1"></div><div class="box2"></div>
</body>
</html>
絕對定位
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.box1{width: 100px;height: 100px;background-color: black;opacity: 0.5; /*絕對定位 不會保留原來的位*/position: absolute;left: 150px;top: 150px;}.box2{width: 200px;height: 200px;background-color: green;}</style>
</head>
<body><div class="box1"></div><div class="box2"></div>
</body>
</html>

th: 100px;
height: 100px;
background-color: black;
opacity: 0.5;
/絕對定位 不會保留原來的位/
position: absolute;
left: 150px;
top: 150px;
}
.box2{
width: 200px;
height: 200px;
background-color: green;
}

~~~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/38959.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/38959.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/38959.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入理解Git:fetch與pull的區別與運用

在Git的版本控制世界中&#xff0c;fetch和pull是兩個至關重要的命令&#xff0c;它們都與從遠程倉庫獲取數據有關。然而&#xff0c;這兩個命令在功能和用法上卻存在著顯著的差異。本文將詳細解析fetch和pull的區別&#xff0c;以及它們在實際開發中的應用&#xff0c;幫助讀者…

Qt 5.14.2+Android環境搭建

1. 安裝QT5.14.2的過程中&#xff0c;選中套件&#xff08;kit&#xff09; qt for android。 如果已經安裝了qt creator但沒有安裝該套件&#xff0c;可以找到在qt安裝目錄下的MaintenanceTool.exe&#xff0c;運行該程序添加套件。 2. 安裝jdk8&#xff0c;android sdk&…

五分鐘了解MQ消息集成

一、MQ消息集成的定義 MQ消息集成是通過消息中間件&#xff08;Message Queue&#xff09;實現的一種數據集成方式。它通過將數據發送到中間件中&#xff0c;再從中間件中接收數據&#xff0c;實現不同系統之間的數據交換。在MQ消息集成中&#xff0c;發送者和接收者之間不需要…

vue3.2及以上 父調子的方法defineExpose定義供父調用的方法及屬性

1、定義子類LoginForm&#xff1a; function handleLogin(account, token) {console.log(account,token)}defineExpose({handleLogin,}); 2、父類調用子類組件 const loginFormRef ref(); <LoginForm ref"loginFormRef" />loginFormRef.value.handleLogin(…

代碼隨想錄第38天|動態規劃

1049. 最后一塊石頭的重量 II 參考 備注: 當物體容量也等同于價值時, 01背包問題的含義則是利用好最大的背包容量sum/2, 使得結果盡可能的接近或者小于 sum/2 等價: 盡可能的平分成相同的兩堆, 其差則為結果, 比如 (abc)-d, (ac)-(bd) , 最終的結果是一堆減去另外一堆的和, 問…

Deep-LIBRA:一種用于可靠量化乳腺密度的人工智能方法,并在乳腺癌風險評估中進行了獨立驗證| 文獻速遞-深度學習自動化疾病檢查

Title 題目 Deep-LIBRA: An artificial-intelligence method for robust quantification of breast density with independent validation in breast cancer risk assessment Deep-LIBRA&#xff1a;一種用于可靠量化乳腺密度的人工智能方法&#xff0c;并在乳腺癌風險評估中…

【LeetCode】每日一題:相交鏈表

給你兩個單鏈表的頭節點 headA 和 headB &#xff0c;請你找出并返回兩個單鏈表相交的起始節點。如果兩個鏈表不存在相交節點&#xff0c;返回 null 。 圖示兩個鏈表在節點 c1 開始相交&#xff1a; 題目數據 保證 整個鏈式結構中不存在環。 注意&#xff0c;函數返回結果后&am…

7/1 uart

uart4.c #include "uart4.h"//UART4_RX > PB2 //UART4_TX > PG11char rebuf[51] {0}; //rcc/gpio/uart4初始化 void hal_uart4_init() {/********RCC章節初始化*******///1.使能GPIOB組控制器 MP_AHB4ENSETR[1] 1RCC->MP_AHB4ENSETR | (0x1 << 1)…

【C++11:右值引用,列表初始化】

統一列表初始化&#xff1a; 構造函數的函數名與函數體之間增加一個列表&#xff0c;用于對成員初始化 在實例化對象時&#xff0c;支持單/多參數的隱式轉化&#xff0c;同時也可以省略符號&#xff0c;讓代碼更簡潔 右值的引用 左值&#xff1a; 左值與右值的重要區別就是能…

全國產化飛騰模塊BIOS下修復系統啟動文件

1、背景介紹 全國產飛騰模塊采用麒麟信安操作系統&#xff0c;當系統下面的grub.cfg文件被用戶誤操作導致無法啟動時&#xff0c;可以在BIOS下通過U盤中備份的grub.cfg替換硬盤上原來的grub.cfg文件&#xff0c;從而實現啟動。 2、操作步驟 首先進入BIOS命令行模式&#xff…

Meta低頭,庫克認錯,XR回歸第一性原理

圖片&#xff5c;Photo by Maxim Hopman on Unsplash ©自象限原創 作者丨羅輯 2024年&#xff0c;XR的故事應該怎么講&#xff1f; 如果從數據上看&#xff0c;這應該是個沉重的話題。 根據 IDC 報告&#xff0c;2023 年全球 VR 市場出貨量下滑了 10.7%。2024 年第一…

【必看】賣慘營銷

經常賣慘的人到底是什么心理&#xff1f; Berry Ni同學說&#xff1a; 吸引別人的注意力。想要得到關注。 讓你降低對他的期待。 讓你能夠在他做好一件小事的情況下就表揚他。 控制你對他的想法認知。 ? 浪矢心理同學說&#xff1a; 1&#xff0c;求關注。他覺得買慘有好處&…

【Excel、RStudio計算T檢測的具體操作步驟】

目錄 一、基礎知識1.1 顯著性檢驗1.2 等方差T檢驗、異方差T檢驗1.3 單尾p、雙尾p1.3.1 檢驗目的不同1.3.2 用法不同1.3.3 如何選擇 二、Excel2.1 統計分析工具2.1.1 添加統計分析工具2.1.2 數據分析 2.2 公式 -> 插入函數 -> T.TEST 三、RStudio 一、基礎知識 參考: 1.…

Gradle學習-4 創建二進制插件工程

二進制插件工程創建有兩種方式&#xff1a; 創建獨立的工程&#xff0c;調試的時候&#xff0c;需要手動發布成一個二進制插件jar包&#xff0c;給其他工程里面引用&#xff0c;進行功能測試。這種方式是比較麻煩的。創建buildSrc子工程&#xff0c;它是一個大工程中的子工程&…

開源網安榮獲第一新聲“2024中國最佳信創安全廠商”,信創實力獲認可

近日&#xff0c;由權威機構【第一新聲】與【天眼查】聯合發起的“2024中國最佳信創廠商系列榜單”評選中&#xff0c;開源網安以其技術創新能力和在信創領域持續投入&#xff0c;成功入選“中國最佳信創安全廠商”。 開源網安&#xff0c;作為軟件安全領域創領者&#xff0c;自…

數據結構 - C/C++ - 棧

目錄 結構特性 結構實現 結構容器 結構設計 順序棧 鏈式棧 結構特性 棧(stack)是線性表的一種形式&#xff0c;限定僅在表的一端進行插入或者刪除的操作。 棧頂 - 表中允許插入、刪除的一端稱為棧頂(top)&#xff0c;棧頂位置是可以發生變化的。 插入 - 進棧、入棧、壓棧…

數據結構預科

在堆區申請兩個長度為32的空間&#xff0c;實現兩個字符串的比較【非庫函數實現】 要求&#xff1a; 1> 定義函數&#xff0c;在對區申請空間&#xff0c;兩個申請&#xff0c;主函數需要調用2次 2> 定義函數&#xff0c;實現字符串的輸入&#xff0c;void input(char …

31 C++11

本節目標 c11簡介列表初始化變量類型推導范圍for循環新增加容器右值新的類功能可變參數模板 1. c11簡介 在2003年標準委員會提交了一份計數勘誤表&#xff08;簡稱TC1&#xff09;&#xff0c;使得c03這個名字已經取代了c98稱為c11之前的最新的c標準名稱。不過由于c03&#x…

JAVA學習筆記DAY12——MySQL基礎

文章目錄 數據庫概述為什么要使用數據庫相關概念關系型和非關系型RDBMS非RDBMS - NoSQL MySQL圖形化管理工具Navicat SQL前后端環境nginx 反向代理MD5加密 數據庫概述 為什么要使用數據庫 持久化&#xff1a;指把數據保存到可掉電存儲設備中&#xff0c;一般指將內存中的數據…

詳解歸一化、標準化、正則化以及batch normalization

文章目錄 what(是什么)where&#xff08;用在哪&#xff09;How&#xff08;如何用&&原理&#xff09;歸一化實現方式原理示例說明 標準化實現方式原理示例說明 正則化實現方式原理作用 Batch Normalizationpytorch中的batch normalization原理BN的作用 歸一化、標準化…