摘要:浮動(dòng)元素會(huì)生成一個(gè)塊級(jí)框,而不論它本身是何種元素。關(guān)于浮動(dòng)的兩個(gè)特點(diǎn)浮動(dòng)的框可以向左或向右移動(dòng),直到它的外邊緣碰到包含框或另一個(gè)浮動(dòng)框的邊框?yàn)橹?。由于浮?dòng)框不在文檔的普通流中,所以文檔的普通流中的塊框表現(xiàn)得就像浮動(dòng)框不存在一樣。
CSS(cascading style sheet,層疊樣式表)定義如何顯示HTML元素。
當(dāng)瀏覽器讀到一個(gè)樣式表,它會(huì)按照這個(gè)樣式表來(lái)對(duì)文檔進(jìn)行格式化(渲染)。
每個(gè)CSS樣式由兩個(gè)部分組成:選擇器 + 聲明(屬性、屬性值) 每個(gè)聲明之后加;分號(hào)結(jié)束!
/* 注釋內(nèi)容 */
<p style="color: pink">這個(gè)一個(gè)p標(biāo)簽 內(nèi)聯(lián)樣式是字體顏色粉色p>
<head> <meta charset="UTF-8"> <style> h1 {color: pink} style> <title>test練習(xí)title> head> <body> <h1 id="p1">海燕h1> body> html>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="01樣式.css"> link 即為引入外部樣式
<title>test練習(xí)title>
head>
1、元素(標(biāo)簽)選擇器:適用于批量的(統(tǒng)一,默認(rèn))的樣式 p {color: sandybrown} 2、ID 選擇器:給特定標(biāo)簽設(shè)置特定樣式 #p1 {background-color: burlywood} (井號(hào)后跟 需渲染內(nèi)容的 ID 號(hào)) 3、類 選擇器:給某一些標(biāo)簽設(shè)置相同的樣式 .c1 {color: antiquewhite;font-size: 18px} .p1 { font-size: 29px} (在HTML標(biāo)簽中有一個(gè)class屬性,c1 和 p1 對(duì)應(yīng)名稱的class) 4、通用選擇器 * {font-size: 14px} /*適用所有元素*/
ps:
樣式類名不要用數(shù)字開(kāi)頭(有的瀏覽器不認(rèn))。
標(biāo)簽中的class屬性如果有多個(gè),要用空格分隔。
1、后代選擇器 (p內(nèi)部的a標(biāo)簽設(shè)置字體顏色 p a { color: red; } 2、兒子選擇器 (選擇所有父級(jí)是元素的元素:div標(biāo)簽內(nèi)子標(biāo)簽是p標(biāo)簽的生效(只找兒子輩)) div>p { font-family: "Arial Black","arial-black",cursive; } 3、毗鄰選擇器 (選擇所有緊挨著
之后的標(biāo)簽:找的是
標(biāo)簽(條件:同級(jí)的上面有個(gè)
)) div+p { margin: 5px; } 4、弟弟選擇器 (#p1(id=p1的)后面所有的兄弟p標(biāo)簽) #p1~p { color: gold }
3、屬性選擇器
1、用于選取帶有指定屬性的元素。 p[title] { color: red; } 2、用于選取帶有指定屬性和值的元素。 p[title="123"] { color: green; }
對(duì)應(yīng)下面2個(gè)HTML生效咕咕咕
略略略
/*找到所有title屬性以hello開(kāi)頭的元素*/ [title^="hello"] { color: red; } /*找到所有title屬性以hello結(jié)尾的元素*/ [title$="hello"] { color: yellow; } /*找到所有title屬性中包含(字符串包含)hello的元素*/ [title*="hello"] { color: red; } /*找到所有title屬性(有多個(gè)值或值以空格分割)中有一個(gè)值為hello的元素:*/ [title~="hello"] { color: green;不怎么常用的屬性選擇器4、分組和嵌套
/*1、分組(當(dāng)多個(gè)元素的樣式相同的時(shí)候,我們沒(méi)有必要重復(fù)地為每個(gè)元素都設(shè)置樣式, 可以通過(guò)在多個(gè)選擇器之間使用逗號(hào)分隔的分組選擇器來(lái)統(tǒng)一設(shè)置元素樣式)*/ div, (一定要加逗號(hào)(不然就變成后代了)) p{ color: sandybrown; } /*2、嵌套(多種選擇器可以混合起來(lái)使用(空格,>,+,~),比如:.c1類內(nèi)部所有p標(biāo)簽設(shè)置字體顏色為紅色。)*/ .c1 p { color: red; }5、偽類選擇器
/* 未訪問(wèn)的鏈接 */ a:link { color: #FF0000 } /* 已訪問(wèn)的鏈接 */ a:visited { color: #00FF00 } /* 鼠標(biāo)移動(dòng)到鏈接上 */ a:hover { color: #FF00FF } /* 選定的鏈接 */ a:active { color: #0000FF } /*input輸入框獲取焦點(diǎn)時(shí)樣式*/ input:focus { outline: none; background-color: #eee; }6、偽元素選擇器
1、first-letter: 常用的給首字母設(shè)置特殊樣式: p:first-letter{ font-size: 48px; color: red; } 2、before:在每個(gè)p元素之前插入內(nèi)容 p:before{ content: "*"; color: red; } 3、 after:在每個(gè)p元素之后插入內(nèi)容 p:after{ content: "[?]"; color: blue; }before和after多用于清除浮動(dòng)
四、選擇器的優(yōu)先級(jí)
1、CSS繼承
繼承是CSS的一個(gè)主要特征,它是依賴于祖先-后代的關(guān)系的。繼承是一種機(jī)制,它允許樣式不僅可以應(yīng)用于某個(gè)特定的元素,還可以應(yīng)用 于它的后代。例如一個(gè)body定義了的字體顏色值也會(huì)應(yīng)用到段落的文本中。
body { color: red; } 此時(shí)頁(yè)面上所有標(biāo)簽都會(huì)繼承body的字體顏色。然而CSS繼承性的權(quán)重是非常低的,是比普通元素的權(quán)重還要低的0。 我們只要給對(duì)應(yīng)的標(biāo)簽設(shè)置字體顏色就可覆蓋掉它繼承的樣式。此外,繼承是CSS重要的一部分,我們甚至不用去考慮它為什么能夠這樣,但CSS繼承也是有限制的。有一些屬性不能被繼承,如:border, margin, padding, background等。
具體的選擇器權(quán)重計(jì)算方式如下圖:
除此之外還可以通過(guò)添加 !important方式來(lái)強(qiáng)制讓樣式生效,但并不推薦使用。因?yàn)槿绻^(guò)多的使用!important會(huì)使樣式文件混亂不易維護(hù)。
萬(wàn)不得已可以使用!important
2、樣式文件優(yōu)先級(jí)(重要)
1. 越靠近標(biāo)簽的優(yōu)先級(jí)越高(就近原則)
2. 權(quán)重的計(jì)算
1. 內(nèi)聯(lián)樣式 1000
2. ID選擇器 100
3. 類選擇器 10
4.元素選擇器 1
五、CSS字體和文字屬性相關(guān)
1、通用的屬性:寬和高(width(寬度) 和 height(高度))
width 屬性 可以為元素設(shè)置寬度。
height 屬性可以為元素設(shè)置高度。
塊級(jí)標(biāo)簽才能設(shè)置寬度,內(nèi)聯(lián)標(biāo)簽的寬度由內(nèi)容決定。
2、文字字體
font-family可以把多個(gè)字體名稱作為一個(gè)“回退”系統(tǒng)來(lái)保存。如果瀏覽器不支持第一個(gè)字體,則會(huì)嘗試下一個(gè)。瀏覽器會(huì)使用它可識(shí)別的第一個(gè)值。
* { font-family: "Microsoft Yahei", "微軟雅黑", "Arial", sans-serif }3、字體大小和粗細(xì)
@字體大小設(shè)置p { font-size: 14px; 如果設(shè)置成 inherit 表示繼承父元素的字體大小值。 }@字體粗細(xì)設(shè)置p { font-weight: normal; 默認(rèn)值,標(biāo)準(zhǔn)粗細(xì) font-weight: bold; 粗體 font-weight: bolder; 更粗 font-weight: lighter;更細(xì) font-weight: 100-900;設(shè)置具體粗細(xì),400等同于normal,700等同于bold font-weight: inherit;繼承父元素字體的粗細(xì)值 }
4、文本顏色
.c1 { color: aqua; }顏色屬性被用來(lái)設(shè)置文字的顏色。
顏色是通過(guò)CSS最經(jīng)常的指定:
- 十六進(jìn)制值 - 如: #FF0000
- 一個(gè)RGB值 - 如: RGB(255,0,0)
- 顏色的名稱 - 如: red
還有rgba(255,0,0,0.3),第四個(gè)值為alpha, 指定了色彩的透明度/不透明度,它的范圍為0.0到1.0之間。
5、文字對(duì)齊
text-align 屬性規(guī)定元素中的文本的水平對(duì)齊方式。
p {text-align: center;}6、文字裝飾
text-decoration 屬性用來(lái)給文字添加特殊效果。
常用的為去掉a標(biāo)簽?zāi)J(rèn)的下劃線:
a { text-decoration: none; }常用的為去掉ul標(biāo)簽前面的圓點(diǎn):
ul { list-style-type: none; }首行縮進(jìn):
p { text-indent: 28px; } 首行縮進(jìn)28像素六、CSS背景和邊框?qū)傩?/h2>
1、背景屬性
1.背景顏色 background-color: red; 背景圖片 background-image: url("頭像.jpg") ; 2. 背景重復(fù) repeat(默認(rèn)):背景圖片平鋪排滿整個(gè)網(wǎng)頁(yè) repeat-x: 背景圖片只在水平方向上平鋪 repeat-y: 背景圖片只在垂直方向上平鋪 no-repeat: 背景圖片不平鋪 background-repeat: no-repeat; 3.背景位置 background-position: right top; background-position: 200px 200px;
可簡(jiǎn)寫(xiě)為:
background: url("頭像.jpg") no-repeat center top ;
使用背景圖片的一個(gè)常見(jiàn)案例就是很多網(wǎng)站會(huì)把很多小圖標(biāo)放在一張圖片上,然后根據(jù)位置去顯示圖片。減少頻繁的圖片請(qǐng)求。
DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>滾動(dòng)背景圖示例title> <style> * { margin: 0; } .box { width: 100%; height: 500px; background: url("頭像.jpg") no-repeat center center; background-attachment: fixed; } .c1 { height: 500px; background-color: tomato; } .c2 { height: 500px; background-color: steelblue; } style> head> <body> <div class="c1">div> <div class="box">div> <div class="c2">div> body> html>
鼠標(biāo)滾動(dòng),背景不變2、邊框?qū)傩?/h3>
1、邊框?qū)傩杂校╞order - width、border-style、bordercolor)
通常簡(jiǎn)寫(xiě)成:
.c2 { border: aqua solid 3px; }2、邊框的樣式:
3、多帶帶為某一個(gè)邊框設(shè)置樣式:
#i1 { border-top-style:dotted; border-top-color: red; border-right-style:solid; border-bottom-style:dotted; border-left-style:none; }4、圓角邊框效果
將border-radius設(shè)置為長(zhǎng)或高的一半即可得到一個(gè)圓形
border-radius: 50%;
3、display 屬性
用于塊級(jí)元素和行內(nèi)元素轉(zhuǎn)換(控制元素顯示效果)
display:"none"與visibility:hidden的區(qū)別:不常用!
visibility:hidden: 可以隱藏某個(gè)元素,但隱藏的元素仍需占用與未隱藏之前一樣的空間。也就是說(shuō),該元素雖然被隱藏了,但仍然會(huì)影響布局。
display:none: 可以隱藏某個(gè)元素,且隱藏的元素不會(huì)占用任何空間。也就是說(shuō),該元素不但被隱藏了,而且該元素原本占用的空間也會(huì)從頁(yè)面布局中消失
七、CSS盒子模型
- margin: 用于控制元素與元素之間的距離;margin的最基本用途就是控制元素周圍空間的間隔,從視覺(jué)角度上達(dá)到相互隔開(kāi)的目的。
- padding: 用于控制內(nèi)容與邊框之間的距離;
- Border(邊框): 圍繞在內(nèi)邊距和內(nèi)容外的邊框。
- Content(內(nèi)容): 盒子的內(nèi)容,顯示文本和圖像。
1、margin 外邊距
.c1 { margin-top:5px; 頂部 margin-right:10px;右邊 margin-bottom:15px;底部 margin-left:20px; 左邊 }可簡(jiǎn)寫(xiě)為:
.c1 { margin: 5px 10px 15px 20px; } 順序:上>右>下>左最常居中使用!!!
.c1 { margin: 0 auto;}2、padding 內(nèi)填充
.c1 { padding-top: 5px; padding-right: 10px; padding-bottom: 15px; padding-left: 20px; } 簡(jiǎn)寫(xiě)和順序 與 margin 一致?。。?/span>補(bǔ)充padding的常用簡(jiǎn)寫(xiě)方式:
- 提供一個(gè),用于四邊;
- 提供兩個(gè),第一個(gè)用于上-下,第二個(gè)用于左-右;
- 如果提供三個(gè),第一個(gè)用于上,第二個(gè)用于左-右,第三個(gè)用于下;
- 提供四個(gè)參數(shù)值,將按上-右-下-左的順序作用于四邊;
八、浮動(dòng)與清除浮動(dòng)、處理溢出
1、浮動(dòng)(float)
在 CSS 中,任何元素都可以浮動(dòng)。
浮動(dòng)元素會(huì)生成一個(gè)塊級(jí)框,而不論它本身是何種元素。
關(guān)于浮動(dòng)的兩個(gè)特點(diǎn):
- 浮動(dòng)的框可以向左或向右移動(dòng),直到它的外邊緣碰到包含框或另一個(gè)浮動(dòng)框的邊框?yàn)橹埂?/li>
- 由于浮動(dòng)框不在文檔的普通流中,所以文檔的普通流中的塊框表現(xiàn)得就像浮動(dòng)框不存在一樣。
浮動(dòng)頁(yè)面布局示例
布局 left:向左浮動(dòng)
right:向右浮動(dòng)
none:默認(rèn)值,不浮動(dòng)
2、清除浮動(dòng)(clear)
clear屬性規(guī)定元素的哪一側(cè)不允許其他浮動(dòng)元素
ps:clear屬性只會(huì)對(duì)自身起作用,而不會(huì)影響其他元素。
浮動(dòng)有一個(gè)副作用:父標(biāo)簽塌陷
清除主要有三種方式:
- 固定高度
- 偽元素清除法
- overflow:hidden
/*偽元素清除浮動(dòng)(最常用)*/ #clearfix:after { content: ""; clear: left; display: block; }3、溢出(overflow)
- overflow(水平和垂直均設(shè)置)
- overflow-x(設(shè)置水平方向)
- overflow-y(設(shè)置垂直方向)
頭像示例
頭像示例 ![]()
九、定位(position)
- static -----> 默認(rèn)
- relative -----> 相對(duì)定位(相對(duì)于原來(lái)的位置)
- absolute-----> 絕對(duì)定位(相對(duì)于最近的一個(gè)被定位過(guò)的的祖宗標(biāo)簽)
- fixed -----> 固定在某個(gè)位置(返回頂部按鈕)
left right top bottom
定位示例
定位練習(xí) c1c2c3c4返回頂部ps:脫離文檔流的3種方式:
1、 float 浮動(dòng)
2、absolute 絕對(duì)定位
3、fixed 固定
十、元素透明度與層疊順序
1、opacity (元素透明度)
取 0---1 之間的值 ;
和rgba()的區(qū)別:
1:opacity 改變?cè)匾约白釉氐耐该鞫?/p>2:rgba()只改變背景顏色的透明度
2、z-index(層疊順序設(shè)置)
1、數(shù)值越大,越靠近你
2、只能作用于定位過(guò)的元素
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>自定義模態(tài)框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>
模態(tài)框示例
3、頂部導(dǎo)航欄練習(xí)
DOCTYPE HTML> <html> <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>導(dǎo)航欄示例title> <style> /*清除瀏覽器默認(rèn)外邊距和內(nèi)填充*/ * { margin: 0; padding: 0; } a { text-decoration: none; /*去除a標(biāo)簽?zāi)J(rèn)的下劃線*/ } .nav { background-color: black; height: 40px; width: 100%; position: fixed; top: 0; } ul { list-style-type: none; /*刪除列表默認(rèn)的圓點(diǎn)樣式*/ margin: 0; /*刪除列表默認(rèn)的外邊距*/ padding: 0; /*刪除列表默認(rèn)的內(nèi)填充*/ display: inline-block; } /*li元素向左浮動(dòng)*/ li { float: left; } li > a { display: block; /*讓鏈接顯示為塊級(jí)標(biāo)簽*/ padding: 0 15px; /*設(shè)置左右各15像素的填充*/ color: #b0b0b0; /*設(shè)置字體顏色*/ line-height: 40px; /*設(shè)置行高*/ } /*鼠標(biāo)移上去顏色變白*/ li > a:hover { color: #fff; display: block; background-color: #ff6700; } #u-right { float: right; } li > a:active { color: deeppink; } /*清除浮動(dòng) 解決父級(jí)塌陷問(wèn)題*/ .clearfix:after {
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/1580.html
相關(guān)文章
[譯]148個(gè)資源讓你成為CSS專家
摘要:層疊樣式表二修訂版這是對(duì)作出的官方說(shuō)明。速查表兩份表來(lái)自一份關(guān)于基礎(chǔ)特性,一份關(guān)于布局。核心第一篇一份來(lái)自的基礎(chǔ)參考指南簡(jiǎn)寫(xiě)速查表簡(jiǎn)寫(xiě)形式參考書(shū)使用層疊樣式表基礎(chǔ)指南,包含使用的好處介紹個(gè)方法快速寫(xiě)成高質(zhì)量的寫(xiě)出高效的一些提示。 迄今為止,我已經(jīng)收集了100多個(gè)精通CSS的資源,它們能讓你更好地掌握CSS技巧,使你的布局設(shè)計(jì)脫穎而出。 CSS3 資源 20個(gè)學(xué)習(xí)CSS3的有用資源 C...
簡(jiǎn)單易懂的CSS Modules
摘要:結(jié)果是選手獲勝,名為的元素,最終的值為。而合理的命名約定,的確是組織代碼的有效策略。它們會(huì)再由轉(zhuǎn)換為適當(dāng)?shù)慕M合。雖然本文為了嚴(yán)謹(jǐn),結(jié)果寫(xiě)了相當(dāng)長(zhǎng)的篇幅,但希望你讀過(guò)之后,還能覺(jué)得是簡(jiǎn)單易懂的。 不要誤會(huì),CSS Modules可不是在說(shuō)css模塊化這個(gè)好像在某些地方見(jiàn)過(guò)的詞,它其實(shí)是特指一種近期才出現(xiàn)的技術(shù)手段。 什么技術(shù)手段呢?請(qǐng)待后文說(shuō)明。 層疊樣式表 我們知道,css的全名叫做層...
CSS Modules實(shí)踐
摘要:能最大化地結(jié)合現(xiàn)有生態(tài)預(yù)處理器后處理器等和模塊化能力,幾乎零學(xué)習(xí)成本。編碼相關(guān)的所有樣式上例中打印的結(jié)果是注意到是按照自動(dòng)生成的名。實(shí)踐手動(dòng)引用渲染結(jié)果使用可以實(shí)現(xiàn)使用屬性自動(dòng)加載模塊。 文章同步于Github Pines-Cheng/blog 隨著前端這幾年的風(fēng)生水起,CSS作為前端的三劍客之一,各種技術(shù)方案也是層出不窮。從CSS prepocessor(SASS、LESS、Styl...
【譯】編寫(xiě)更好的CSS必備的40個(gè)工具
摘要:一個(gè)叫的人用純重繪并模擬了種不同的移動(dòng)設(shè)備包括可以給你的網(wǎng)站添加不相關(guān)的獨(dú)立組件的一個(gè)庫(kù)。每一個(gè)組件都是針對(duì)移動(dòng)設(shè)備定制的,并且它有很多你在傳統(tǒng)的框架中看不到的功能。如果你用開(kāi)發(fā)移動(dòng)優(yōu)先的網(wǎng)站,并想要網(wǎng)站正常運(yùn)行在低版本的上,可以考慮。 眾所周知,CSS是非常棒的,它使網(wǎng)站看起來(lái)很漂亮,可以為網(wǎng)站添加動(dòng)畫(huà),并讓呈現(xiàn)和內(nèi)容分離。去了解CSS的一切是非常難做到的,它只會(huì)變得更加困難,因?yàn)槲?..
SegmentFault 技術(shù)周刊 Vol.38 - 神奇的 CSS
摘要:層疊即表示允許以多種方式來(lái)描述樣式,一個(gè)元素可以被渲染呈現(xiàn)出多種樣式??梢宰寣傩缘淖兓^(guò)程持續(xù)一段時(shí)間,而不是立即生效。比如,將元素的顏色從白色改為黑色,通常這個(gè)改變是立即生效的,使用后,將按一個(gè)曲線速率變化。 showImg(https://segmentfault.com/img/bVZwyL?w=900&h=385); CSS 的全稱是 Cascading Style Sheet...
CSS Modules詳解及React中實(shí)踐
摘要:上例中打印的結(jié)果是對(duì)中的名都做了處理,使用對(duì)象來(lái)保存原和混淆后的對(duì)應(yīng)關(guān)系。結(jié)合實(shí)踐在處直接使用中名即可。如因?yàn)橹粫?huì)轉(zhuǎn)變類選擇器,所以這里的屬性選擇器不需要添加。 showImg(http://gtms01.alicdn.com/tps/i1/TB15w0HLpXXXXbdaXXXjhvsIVXX-600-364.png); CSS 是前端領(lǐng)域中進(jìn)化最慢的一塊。由于 ES2015/201...
發(fā)表評(píng)論
0條評(píng)論
![]()
番茄西紅柿
男|高級(jí)講師
TA的文章
閱讀更多
tensor
閱讀 769·2023-04-25 19:43
Windows 下安裝 XGBoost
閱讀 4022·2021-11-30 14:52
Hadoop 2.6.0 啟動(dòng)問(wèn)題 lib/native/libhadoop.so which mi
閱讀 3855·2021-11-30 14:52
VmShell:黑五美國(guó)VPS,免費(fèi)先開(kāi)通測(cè)試,滿意后付款!支持tiktok美區(qū)
閱讀 3909·2021-11-29 11:00
百度智能云:云產(chǎn)品特惠福利,1核2G輕量應(yīng)用服務(wù)器僅48元/年
閱讀 3838·2021-11-29 11:00
Linux系統(tǒng)和寶塔面板如何啟用禁ping功能?
閱讀 3949·2021-11-29 11:00
301重定向怎么做?301重定向設(shè)置方法有幾種
閱讀 3613·2021-11-29 11:00
wordpress網(wǎng)站重定向次數(shù)過(guò)多的解決方法
閱讀 6310·2021-11-29 11:00