《原神攻略》為人的條件怎麼觸發?為人的條件成就玩法分享
什麼是CSS
CSS即層疊樣式表(英文全稱:Cascading Style Sheets)是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等檔案樣式的計算機語言。CSS不僅可以靜態地修飾網頁,還可以配合各種指令碼語言動態地對網頁各元素進行格式化。
CSS 能夠對網頁中元素位置的排版進行畫素級精確控制,支援幾乎所有的字型字號樣式,擁有對網頁物件和模型樣式編輯的能力。
CSS使用
CSS介紹
css可以在head中通過style標籤內部直接編寫css,但是此時的css樣式只針對此html頁面。還能通過link標籤引入外部css檔案的方式,此方式對於多個有相同樣式需求的頁面便體現出它的優勢。最後,也可以在標籤內直接寫,但是此方式會使頁面越來越複雜,而且它是權級最高的,覆蓋其他的style樣式。
語法結構 選擇器 { 屬性名:屬性值 } 註釋語法: /* 註釋內容 */
CSS選擇器
基本選擇器
標籤選擇器
標籤選擇器通過標籤名直接查詢
/* 查詢所有div標籤 */ div { width: 200px; height: 200px; background-color: red; }
類選擇器
通過標籤的class值查詢
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>css</title> <style>/* 查詢所有class值含有one的標籤 */ .one { width: 200px; height: 200px; background-color: red; } </style> </head> <body> <div class="one"></div> </body> </html>
id選擇器
通過標籤id值查詢
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>css</title> <style>/* 查詢id值為two的標籤 */ .two { width: 200px; height: 200px; background-color: red; } </style> </head> <body> <div id="two"></div> </body> </html>
通用選擇器
/* 查詢body內所有標籤 */ * { font-size: 16px; }
組合選擇器
<div>
<p>
<span></span>
</p>
</div>
如上圖,為了區分巢狀標籤之間的關係,我們發明了一種稱呼。span是p的兒子,是div的孫子,也可以說是div的後代;p是div的兒子,也是div的後代,是span的父親;div是p的父親,也是span的爺爺,也可以說是他們的祖先。
有了上面的共識,我們再來討論接下來的選擇器。
後代選擇器
/* 查詢div內所有的span */ div span { color: red; }
兒子選擇器
/* 查詢div內所有的兒子span */ div > span { color: red; }
毗鄰選擇器
/* 查詢同級別下面緊挨著的第一個span(不能有其他標籤間隔) */ div + span { color: red; }
弟弟選擇器
/* 查詢同級別下面所有的span(不需要緊挨著) */ div ~ span { color: red; }
屬性選擇器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>css</title> <style> /* 查詢含有custom屬性的標籤 */ [custom] { width: 200px; height: 200px; background-color: red; } /* 查詢custom屬性值為x的標籤 */ [custom='x'] { width: 200px; height: 200px; background-color: red; } /* 查詢custom屬性值為x的div標籤 */ div[custom='x'] { width: 200px; height: 200px; background-color: red; } </style> </head> <body> <div custom="x"></div> </body> </html>
分組和巢狀
選擇器之間還能夠組合使用。
/* 多個相同選擇器並列使用 */ div,span,p { /* 查詢div或者span或者p */ color: red; } /* 多個不同選擇器並列使用 */ div,#d1,.c1 { /* 標籤查詢div id查詢d1 類查詢c1*/ color: red; } /* 不併列同樣可以使用組合選擇器 */ .c1 p { /*查詢class為c1的後代p標籤*/ color: red; } /* 直接篩選 */ div#d1 { /*查詢id為d1的div標籤*/ color: red; } div.c1 { /* 查詢class為c1的div標籤 */ color: red; }
偽類選擇器
/* 滑鼠懸浮在a標籤上顯示橘色 */ a:hover { color: orange; } /* 點選輸入框背景顏色變成紅色 */ input:focus { background-color: red; }
偽元素選擇器
CSS 偽元素用於設定元素指定部分的樣式。
/* 滑鼠懸浮在a標籤上顯示橘色 */ a:hover { color: orange; } /* 點選輸入框背景顏色變成紅色 */ input:focus { background-color: red; }
選擇器優先順序
css樣式生效遵循就近原則,樣式離標籤近的起作用。選擇器的優先順序為:行內樣式 > id選擇器 > 類選擇器 > 標籤選擇器
字型 font
/* 字型相關 css 樣式*/ p { font-size: 16px; /* 字型大小 */ font-weight: bolder; /* 字型粗細 也可為 0-700權重值 */ /* font-weight: lighter; */ color: red; /* 字型顏色 */ text-align: center; /* 字型對齊方式 */ text-decoration: none; /* 文字裝飾 (主要用於去除a標籤點選後預設的下劃線) */ text-indent: 32px; /* 首行縮排 */ }
背景屬性 backgound
/*背景顏色*/ background-color: red; /*背景圖片*/ background-image: url('1.jpg'); /* 背景重複 repeat(預設): 背景圖片平鋪排滿整個網頁 repeat-x:背景圖片只在水平方向上平鋪 repeat-y:背景圖片只在垂直方向上平鋪 no-repeat:背景圖片不平鋪 */ background-repeat: no-repeat; /*背景位置*/ background-position: left top; /* 左上 */ /*background-position: 200px 200px;*/
支援簡寫:
background:#336699 url('1.png') no-repeat left top;
邊框 border
屬性介紹:
-
-
- border-width 邊框寬度
- border-style 邊框風格
- none 無邊框
- dotted 點狀虛線邊框
- dashed 矩形虛線邊框
- solid 實線邊框
- border-color 邊框顏色
-
div { border-width: 2px; border-style: solid; border-color: red; /* 簡寫 */ /* border: 2px solid red; */ }
邊框的風格樣式可以每條邊都有所不同,
div { border-top-style: dotted; border-top-color: red; border-right-style: solid; border-bottom-style: dotted; border-left-style: none; }
border-radius
此屬效能夠實現圓角邊框。如果div為正方形,設定此值為div長或高的一般即可得到一個圓形。
display屬性
用於控制HTML元素的顯示效果。
-
-
- display:"none" —— HTML文件中元素存在,但是在瀏覽器中不顯示。一般用於配合JavaScript程式碼使用。
- display:"block" —— 預設佔滿整個頁面寬度,如果設定了指定寬度,則會用margin填充剩下的部分。
- display:"inline" —— 按行內元素顯示,此時再設定元素的width、height、margin-top、margin-bottom和float屬性都不會有什麼影響。
- display:"inline-block" —— 使元素同時具有行內元素和塊級元素的特點。
-
CSS盒子模型
-
-
- margin: 由外邊距邊界限制,用空白區域擴充套件邊框區域,以分開相鄰的元素。
- padding: 由內邊距邊界限制,擴充套件自內容區域,負責延伸內容區域的背景,填充元素中內容與邊框的間距。
- Border(邊框): 由邊框邊界限制,擴充套件自內邊距區域,是容納邊框的區域。
- Content(內容): 由內容邊界限制,容納著元素的“真實”內容,例如文字、影象,或是一個視訊播放器。它的尺寸為內容寬度(或稱 content-box 寬度)和內容高度(或稱 content-box 高度)。它通常含有一個背景顏色(預設顏色為透明)或背景影象。
-
浮動
在 CSS 中,任何元素都可以浮動。
浮動元素會生成一個塊級框,而不論它本身是何種元素。
關於浮動的兩個特點:
-
-
- 浮動的框可以向左或向右移動,直到它的外邊緣碰到包含框或另一個浮動框的邊框為止。
- 由於浮動框不在文件的普通流中,所以文件的普通流中的塊框表現得就像浮動框不存在一樣。
-
實現浮動使用float,float屬性值有:
-
-
- left:左浮動
- right:有浮動
- none:不浮動,預設值
-
實現父標籤中的子標籤浮動會造成父標籤塌陷,即父標籤的高度為0。為此我們需要clear屬性清除浮動,通常我們有通用的浮動清除法。
/* 為浮動元素的父元素新增此class */ .clearfix:after { content: ''; clear: both; display: table; }
clear屬性值介紹
值 | 描述 |
---|---|
left | 在左側不允許浮動元素 |
right | 在右側不允許浮動元素 |
both | 在左右兩側不允許浮動元素 |
none | 預設值。允許浮動元素出現在兩側 |
inherit | 規定應該從父元素繼承clear屬性的值 |
overflow
overflow為溢位屬性,即文字內容超出元素寬高時的顯示方式。
值 | 描述 |
---|---|
visible | 預設值。內容不會被修剪,會呈現在元素框之外。 |
hidden | 內容會被修剪,並且其餘內容時不可見的。 |
scroll | 內容會被修剪,但是瀏覽器會顯示滾動條以便檢視其餘內容。 |
auto | 如果內容被修剪,則瀏覽器會顯示滾動條以便檢視其餘內容。 |
inherit | 規定應該從父元素繼承overflow 屬性的值 |
PS: overflow為水平和垂直均設定。可以通過overflow-x或overflow-y分別設定。
定位 position
static
static 預設值,無定位,不能當作絕對定位的參照物,並且設定標籤物件的left、top等值是不起作用的的。
relative
相對定位是相對於該元素在文件流中的原始位置,即以自己原始位置為參照物。有趣的是,即使設定了元素的相對定位以及偏移值,元素還佔有著原來的位置,即佔據文件流空間。物件遵循正常文件流,但將依據top,right,bottom,left等屬性在正常文件流中偏移位置。而其層疊通過z-index屬性定義。
注意:position:relative的一個主要用法:方便絕對定位元素找到參照物。
absolute
定義:設定為絕對定位的元素框從文件流完全刪除,並相對於最近的已定位祖先元素定位,如果元素沒有已定位的祖先元素,那麼它的位置相對於最初的包含塊(即body元素)。元素原先在正常文件流中所佔的空間會關閉,就好像該元素原來不存在一樣。元素定位後生成一個塊級框,而不論原來它在正常流中生成何種型別的框。
重點:如果父級設定了position屬性,例如position:relative;,那麼子元素就會以父級的左上角為原始點進行定位。這樣能很好的解決自適應網站的標籤偏離問題,即父級為自適應的,那我子元素就設定position:absolute;父元素設定position:relative;,然後Top、Right、Bottom、Left用百分比寬度表示。
另外,物件脫離正常文件流,使用top,right,bottom,left等屬性進行絕對定位。而其層疊通過z-index屬性定義。
fixed
fixed:物件脫離正常文件流,使用top,right,bottom,left等屬性以視窗為參考點進行定位,當出現滾動條時,物件不會隨著滾動。而其層疊通過z-index屬性 定義。 注意點: 一個元素若設定了 position:absolute | fixed; 則該元素就不能設定float。這 是一個常識性的知識點,因為這是兩個不同的流,一個是浮動流,另一個是“定位流”。但是 relative 卻可以。因為它原本所佔的空間仍然佔據文件流。
在理論上,被設定為fixed的元素會被定位於瀏覽器視窗的一個指定座標,不論視窗是否滾動,它都會固定在這個位置。
脫離文件流
絕對定位和固定定位會使元素脫離文件流,相對定位不會。
z-index
z-index 屬性設定元素的堆疊順序。擁有更高堆疊順序的元素總是會處於堆疊順序較低的元素的前面。
以下為自定義模態框的例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>自定義模態框</title> <style> .cover { background-color: rgba(0,0,0,0.65); position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 998; } .modal { background-color: white; position: fixed; width: 600px; height: 400px; left: 50%; top: 50%; margin: -200px 0 0 -300px; z-index: 1000; } </style> </head> <body> <div class="cover"></div> <div class="modal"></div> </body> </html>
透明度 opacity
用來定義透明效果。取值範圍是0~1,0是完全透明,1是完全不透明。