案例和由此案例重點(diǎn)講解的知識點(diǎn)介紹
案例代碼實(shí)現(xiàn)
復(fù)合選擇器知識點(diǎn)詳解
此案例是頁面,效果如下:
此頁面的技術(shù)實(shí)現(xiàn)解析:
如上圖所示,六個(gè)圖片內(nèi)容,大部分樣式相同,但是又都具有不同的樣式,這種情況,需要使用復(fù)合選擇器來定義這些不同的樣式
此案例中主要用到了,基于此,我們會系統(tǒng)的將如下知識點(diǎn)全部講解:
復(fù)合選擇器
第一步:書寫國際專欄效果html
第二步:使用通配符選擇器以及標(biāo)簽選擇器定義整體通用樣式
第三步:使用類選擇器定義通用樣式,然后使用復(fù)合選擇器分別定義樣式不同的地方
第四步:定義內(nèi)部標(biāo)題圖片樣式
CSS復(fù)合選擇器
復(fù)合選擇器是由兩個(gè)或多個(gè)基礎(chǔ)選擇器,通過不同的方式組合而成的,具體如下
標(biāo)簽指定式選擇器(即....又....)
標(biāo)簽指定式選擇器又稱交集選擇器,由兩個(gè)選擇器構(gòu)成,其中第一個(gè)為標(biāo)記選擇器,第二個(gè)為class選擇器或id選擇器,兩個(gè)選擇器之間不能有空格,如
h3.special或p#one。
合屬性font
就是咱們上面講到的屬性可以用一個(gè)屬性來代替, 像這樣的屬性我們稱之為復(fù)合屬性。
基本語法:
font:[font-style|font-weight]||font-size/line-height|| font-family
[]-可有可無(字體傾斜和字體加粗可以省略不寫)
p{
font: italic 900 20px/48px "宋體";
}
盒子屬性值的聲明
padding margin border-width border-color border-style
以border-style樣式為例:
取一個(gè)值:
border-style:solid:
說明:邊框的四條邊都是實(shí)線
取兩個(gè)值:
border-style:solid dotted;
說明:上下邊框使用第一個(gè)值,左右邊框使用第二個(gè)值,兩個(gè)值一定要用空格隔開
取三個(gè)值:
border-style:solid dotted double;
說明:上邊框使用第一個(gè)值,左右邊框使用第二個(gè)值,下邊框使用第三個(gè)值
取四個(gè)值:
四條邊框按照上、右、下、左的順序來調(diào)用取值,取值之間也要用空格隔開
z-index 只對已經(jīng)有定位的元素生效(position:relative/absolute/fixed)
第01階段.前端基礎(chǔ)
今天我們圍繞一個(gè) 導(dǎo)航欄案例進(jìn)行學(xué)習(xí)知識點(diǎn)。
今日重點(diǎn):
目標(biāo)
為什么要學(xué)習(xí)css復(fù)合選擇器
CSS選擇器分為 基礎(chǔ)選擇器 和 復(fù)合選擇器 ,但是基礎(chǔ)選擇器不能滿足我們實(shí)際開發(fā)中,快速高效的選擇標(biāo)簽。
父級 子級{屬性:屬性值;屬性:屬性值;}
.class h3{color:red;font-size:16px;}
.class>h3{color:red;font-size:14px;}
一句話說出他們
這里的子 指的是 親兒子 不包含孫子 重孫子之類。
白話:
比如: .demo > h3 {color: red;} 說明 h3 一定是demo 親兒子。 demo 元素包含著h3。
記憶技巧:
交集選擇器 是 并且的意思。 即...又...的意思
比如: p.one 選擇的是: 類名為 .one 的 段落標(biāo)簽。
用的相對來說比較少,不太建議使用。
比如 .one, p , #test {color: #F00;}
表示 .one 和 p 和 #test 這三個(gè)選擇器都會執(zhí)行顏色為紅色。
通常用于集體聲明。
偽類選擇器:
為了和我們剛才學(xué)的類選擇器相區(qū)別 類選擇器是一個(gè)點(diǎn) 比如 .demo {} 而我們的偽類 用 2個(gè)點(diǎn) 就是 冒號 比如 :link{} 偽娘
作用:
用于向某些選擇器添加特殊的效果。比如給鏈接添加特殊效果, 比如可以選擇 第1個(gè),第n個(gè)元素。
因?yàn)閭晤愡x擇器很多,比如鏈接偽類,結(jié)構(gòu)偽類等等。我們這里先給大家講解鏈接偽類選擇器。
注意
a { /* a是標(biāo)簽選擇器 所有的鏈接 */
font-weight: 700;
font-size: 16px;
color: gray;
}
a:hover { /* :hover 是鏈接偽類選擇器 鼠標(biāo)經(jīng)過 */
color: red; /* 鼠標(biāo)經(jīng)過的時(shí)候,由原來的 灰色 變成了紅色 */
}
選擇器 | 作用 | 特征 | 使用情況 | 隔開符號及用法 |
后代選擇器 | 用來選擇元素后代 | 是選擇所有的子孫后代 | 較多 | 符號是空格 .nav a |
子代選擇器 | 選擇 最近一級元素 | 只選親兒子 | 較少 | 符號是> .nav>p |
交集選擇器 | 選擇兩個(gè)標(biāo)簽交集的部分 | 既是 又是 | 較少 | 沒有符號 p.one |
并集選擇器 | 選擇某些相同樣式的選擇器 | 可以用于集體聲明 | 較多 | 符號是逗號 .nav, .header |
鏈接偽類選擇器 | 給鏈接更改狀態(tài) | 較多 | 重點(diǎn)記住 a{} 和 a:hover 實(shí)際開發(fā)的寫法 |
目標(biāo):
常見的塊元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>標(biāo)簽是最典型的塊元素。
(1)比較霸道,自己獨(dú)占一行
(2)高度,寬度、外邊距以及內(nèi)邊距都可以控制。
(3)寬度默認(rèn)是容器(父級寬度)的100%
(4)是一個(gè)容器及盒子,里面可以放行內(nèi)或者塊級元素。
常見的行內(nèi)元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span>標(biāo)簽最典型的行內(nèi)元素。有的地方也成內(nèi)聯(lián)元素
(1)相鄰行內(nèi)元素在一行上,一行可以顯示多個(gè)。
(2)高、寬直接設(shè)置是無效的。
(3)默認(rèn)寬度就是它本身內(nèi)容的寬度。
(4)行內(nèi)元素只能容納文本或則其他行內(nèi)元素。
注意:
在行內(nèi)元素中有幾個(gè)特殊的標(biāo)簽——<img />、<input />、<td>,可以對它們設(shè)置寬高和對齊屬性,有些資料可能會稱它們?yōu)樾袃?nèi)塊元素。
元素模式 | 元素排列 | 設(shè)置樣式 | 默認(rèn)寬度 | 包含 |
塊級元素 | 一行只能放一個(gè)塊級元素 | 可以設(shè)置寬度高度 | 容器的100% | 容器級可以包含任何標(biāo)簽 |
行內(nèi)元素 | 一行可以放多個(gè)行內(nèi)元素 | 不可以直接設(shè)置寬度高度 | 它本身內(nèi)容的寬度 | 容納文本或則其他行內(nèi)元素 |
行內(nèi)塊元素 | 一行放多個(gè)行內(nèi)塊元素 | 可以設(shè)置寬度和高度 | 它本身內(nèi)容的寬度 |
此階段,我們只需關(guān)心這三個(gè),其他的是我們后面的工作。
目標(biāo)
行高的測量方法:
行高我們利用最多的一個(gè)地方是: 可以讓單行文本在盒子中垂直居中對齊。
文字的行高等于盒子的高度。
這里情況些許復(fù)雜,開始學(xué)習(xí),我們可以先從簡單地方入手學(xué)會。
行高 = 上距離 + 內(nèi)容高度 + 下距離
上距離和下距離總是相等的,因此文字看上去是垂直居中的。
行高和高度的三種關(guān)系
目標(biāo)
background-image : none | url (url)
參數(shù) | 作用 |
none | 無背景圖(默認(rèn)的) |
url | 使用絕對或相對地址指定背景圖像 |
background-image : url(images/demo.png);
background-repeat : repeat | no-repeat | repeat-x | repeat-y
參數(shù) | 作用 |
repeat | 背景圖像在縱向和橫向上平鋪(默認(rèn)的) |
no-repeat | 背景圖像不平鋪 |
repeat-x | 背景圖像在橫向上平鋪 |
repeat-y | 背景圖像在縱向平鋪 |
background-position : length || length
background-position : position || position
參數(shù) | 值 |
length | 百分?jǐn)?shù) | 由浮點(diǎn)數(shù)字和單位標(biāo)識符組成的長度值 |
position | top | center | bottom | left | center | right 方位名詞 |
實(shí)際工作用的最多的,就是背景圖片居中對齊了。
/*以下說明 x 10像素 y 垂直居中的*/
/*background-position: 10px center;*/
參數(shù) | 作用 |
scroll | 背景圖像是隨對象內(nèi)容滾動 |
fixed | 背景圖像固定 |
background: transparent url(image.jpg) repeat-y scroll center top ;
案例:
導(dǎo)航欄案例
background: rgba(0, 0, 0, 0.3);
屬性 | 作用 | 值 |
background-color | 背景顏色 | 預(yù)定義的顏色值/十六進(jìn)制/RGB代碼 |
background-image | 背景圖片 | url(圖片路徑) |
background-repeat | 是否平鋪 | repeat/no-repeat/repeat-x/repeat-y |
background-position | 背景位置 | length/position 分別是x 和 y坐標(biāo), 切記 如果有 精確數(shù)值單位,則必須按照先X 后Y 的寫法 |
background-attachment | 背景固定還是滾動 | scroll/fixed |
背景簡寫 | 更簡單 | 背景顏色 背景圖片地址 背景平鋪 背景滾動 背景位置; 他們沒有順序 |
背景透明 | 讓盒子半透明 | background: rgba(0,0,0,0.3); 后面必須是 4個(gè)值 |
目標(biāo):
CSS層疊性最后的執(zhí)行口訣: 長江后浪推前浪,前浪死在沙灘上。
簡單的理解就是: 子承父業(yè)。
關(guān)于CSS權(quán)重,我們需要一套計(jì)算公式來去計(jì)算,這個(gè)就是 CSS Specificity(特殊性)
標(biāo)簽選擇器 | 計(jì)算權(quán)重公式 |
繼承或者 * | 0,0,0,0 |
每個(gè)元素(標(biāo)簽選擇器) | 0,0,0,1 |
每個(gè)類,偽類 | 0,0,1,0 |
每個(gè)ID | 0,1,0,0 |
每個(gè)行內(nèi)樣式 style="" | 1,0,0,0 |
每個(gè)!important 重要的 | ∞ 無窮大 |
我們經(jīng)常用交集選擇器,后代選擇器等,是有多個(gè)基礎(chǔ)選擇器組合而成,那么此時(shí),就會出現(xiàn)權(quán)重疊加。
就是一個(gè)簡單的加法計(jì)算
這個(gè)不難,但是忽略很容易繞暈。其實(shí),我們修改樣式,一定要看該標(biāo)簽有沒有被選中。
1) 如果選中了,那么以上面的公式來計(jì)權(quán)重。誰大聽誰的。 2) 如果沒有選中,那么權(quán)重是0,因?yàn)槔^承的權(quán)重為0.
CSS注釋規(guī)則:
/* 需要注釋的內(nèi)容 */ 進(jìn)行注釋的,即在需要注釋的內(nèi)容前使用 "/*" 標(biāo)記開始注釋,在內(nèi)容的結(jié)尾使用 "*/"結(jié)束。
例如:
p {
/* 所有的字體是14像素大小*/
font-size: 14px;
}
*請認(rèn)真填寫需求信息,我們會在24小時(shí)內(nèi)與您取得聯(lián)系。