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