新聞中心
CSS 樣式的繼承
繼承是一種規(guī)則,CSS的某些樣式是具有繼承性的,它允許樣式不僅應用于某個特定html標簽元素,而且應用于其后代。
10年積累的成都網(wǎng)站建設、網(wǎng)站設計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有普陀免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
注意:有一些css樣式是不具有繼承性的。
css 中后代選擇器和子選擇器的一點疑惑?
CSS 后代選擇器和CSS 子元素選擇器都屬于派生選擇器的范疇,它們是通過依據(jù)元素在其位置的上下文關系來定義樣式,可以使標記更加簡潔。
其中,CSS 后代選擇器(descendant selector)又稱為包含選擇器,用于選擇作為某元素后代的元素。代碼中選擇器"div a"指的是頁面中div元素下的所有a元素,在沒有給第二個div應用選擇器"niubi"之前,頁面上所有的a元素都應該顯示棕色。如圖:
沒有給第二個div應用樣式
CSS子元素選擇器用于選擇指定元素的第一代子元素。代碼中".niubia"會選取設置了"class=niubi"樣式的元素的直接子元素a,所以第一個a元素的顏色發(fā)生了變化。而p元素中包含的a并不是設置了"class=niubi"樣式的div元素的直接子元素,所以顏色不會發(fā)生變化。如圖:
第二個div應用樣式niubi
后代選擇器和子元素選擇器的區(qū)別:
子元素選擇器(child selector)通過“”進行選擇,僅是指它的直接后代(子元素的第一代后代),而后代選擇器是通過空格來進行選擇,作用于所有子后代元素。
CSS常用樣式二
實際應用,更多的使用italic屬性值
實際應用中, 行高的數(shù)值通過設計圖獲取, 量取數(shù)值時需要使用一些輔助軟件工具
選中文字工具,屬性選中:不消除鋸齒
字體、 字號、 行高、 加粗、 斜體 都是font綜合屬性的單一屬性。
font屬性五個單一屬性的值可以進行合寫, 屬性值可以有2到多個, 值之間用空格進行分隔。
font進行綜合書寫時, 必須有字號和字體參與, 而且必須字號在前, 字體在后, 不能顛倒順序。
font屬性經(jīng)常對字體、 字號、 行高進行合寫, 書寫順序必須是字號、 行高、 字體, 字號和行高之間必須用/進行分隔
如果font屬性需要設置加粗和斜體, 兩個屬性值只能寫在最前面, 兩個值之間可以互換位置。 后面的字號、 行高、 字體不能更改位置
作用:設置文本整體是否有線條的裝飾效果
作用:設置段落首行是否進行縮進
實際應用中,常用em
屬性值區(qū)分正負, 正數(shù)表示向右縮進, 負數(shù)表示向左縮進
瀏覽器控制臺中的盒模型圖
作用: 設置可以添加元素內(nèi)容的區(qū)域的寬度。
作用: 設置可以添加元素內(nèi)容的區(qū)域的高度。
如果一個元素不添加 height 屬性, 默認屬性值為auto, 瀏覽器會自動計算出實際高度, 也就是是內(nèi)部元素內(nèi)容自動撐開的高度。 元素的高度自適應內(nèi)部內(nèi)容的高度。
書寫四個方向單一屬性時, 一般是按照順時針規(guī)律書寫: 上、 右、 下、 左
設置四個屬性值, 分配方向上、 右、 下、 左。
設置三個值分配給上、 左右、 下。
設置兩個值, 分配給上下、 左右 。
設置屬性值只有一個, 四邊的值相同。
作用: 設置邊框的顏色。
屬性值: 顏色名或顏色值, 整體類似 padding 綜合屬性寫法。
每個單一屬性都必須與復合屬性 border 一致, 設置三個屬性值。
書寫四個方向單一屬性時, 一般是按照順時針規(guī)律書寫: 上、 右、 下、 左
設置四個屬性值, 分配方向上、 右、 下、 左。
設置三個值分配給上、 左右、 下。
設置兩個值, 分配給上下、 左右 。
設置屬性值只有一個, 四邊的值相同。
給 body 標簽設置整體文字樣式, 讓大部分后代標簽全部去繼承
設計圖中盒子高度占位是固定的, 后面同級元素在高度下面加載。多余內(nèi)容會溢出盒子。
設置了高度的盒子, 如果內(nèi)部元素的加載高度超過父級, 會溢出??梢酝ㄟ^一個溢出的屬性 overflow, 進行溢出部分內(nèi)容的顯示效果設置。
要求盒子高度必須自適應內(nèi)部內(nèi)容的高度。
或者設置height的屬性值是自動的。
一個元素內(nèi)部嵌套的子元素, 在父元素中居中。
針對類似 div 樣式上必須獨占一行的盒子, 如果子盒子寬度低于父盒子寬度, 可以設置子盒子的 margin 值, 水平方向的值都設置為 auto。
原因: auto 只在水平方向有作用, 水平方向的 margin 如果設置為 auto, 邊距會自動無限增大, 直到撐滿整個父元素除了子元素寬度之外剩余的區(qū)域, 如果兩個水平方向都是 auto, 兩邊都要無限大, 只能達到一個平衡, 兩邊距離相同, 導致盒子居中。
一般情況下, 一個父元素內(nèi)部可以放一個或多個子元素, 而且多個子元素要排成一行顯示, 必須保證父元素的寬度一定要足夠(不考慮溢出情況) , 需要遵循一個設置尺寸的規(guī)律: 所有子元素的寬度加在一起不能大于父元素的寬度 width。父元素的width ≥ 所有子元素width + padding + border + margin
如果不滿足條件: 要么多余的子元素掉下來不能在一排, 要么溢出父元素
父子盒模型中, 只有一個子元素, 且子元素是類似 div 標簽必須占一行的。不設置子元素的 width 屬性, 子元素的 width 屬性值會自動加載父級元素的 width。如果同時設置了子元素水平方向的 padding 和 border 、 margin, 不需要手動去進行內(nèi)減, 子元素的 width 會自動收縮尺寸。
子元素所有的水平方向的位置所有屬性的加和等于父元素的 width 。
在垂直方向如果有兩個元素的外邊距有相遇的, 瀏覽器中加載的真正的外邊距不是兩個間距的加和, 而是兩個邊距中值較大的, 邊距值小的塌陷到了邊距值大的值內(nèi)部。
上面的元素有下邊距, 下面的元素有上邊距, 兩個邊距相遇, 真正的盒子間距離是較大的那個值
父子元素之間也會出現(xiàn) margin 塌陷, 父元素和子元素都設置了同方向的margin-top 值, 兩個屬性之間沒有其他的內(nèi)容進行隔離, 導致兩個屬性相遇, 發(fā)生margin 塌陷。
本身父元素與上一個元素的距離是0, 子元素如果設置了垂直方向的上邊距, 會帶著父級一起掉下來。
水平方向的 margin 沒有塌陷現(xiàn)象。
在標準流中, 大部分元素是區(qū)分等級的, 習慣將元素劃分為幾種常見的加載級別:塊級元素、 行內(nèi)元素、 行內(nèi)塊元素等。
大部分容器級標簽包括p標簽都是塊級元素, 比如 div 、 h1 等。
大部分的文本級標簽, 比如 span、 a、 b 等。
比如 img、 input 等。
可以通過 display 屬性更改一個標簽的顯示模式。
屬性值: 元素根據(jù)屬性值不同, 可以加載對應元素等級的顯示模式的特點。
display 屬性更改的顯示模式并沒有改變標準流本質性質, 頁面還是只能從上往下加載, 存在空白折疊現(xiàn)象等微觀性質。 要想實現(xiàn)更多的界面布局效果需要脫離標準流的限制。
標簽元素脫離標準流的方法包括: 浮動、 絕對定位、 固定定位。
margin 塌陷現(xiàn)象出現(xiàn)在標準流中的, 浮動元素已經(jīng)脫離標準流, 不再具有 margin塌陷現(xiàn)象。
與前面壓蓋效果結構類似, 同級元素中前面的元素浮動, 后面的元素不浮動, 不浮動的元素內(nèi)部還有一些文字, 浮動的藍盒子會壓蓋住粉盒子的一部分, 但是文字內(nèi)容不會被蓋住, 粉盒子中的文字會讓開藍盒子位置, 圍繞它進行加載。這種效果稱為字圍現(xiàn)象。
可以利用字圍現(xiàn)象制作一些特殊的圖文混排布局效果
給標準流的父元素強制給一個合適的高度
作用: 清除標簽元素自身受到的前面的浮動元素的影響。
給標準流父元素添加 clear 屬性, 父元素不受前面浮動影響, 不會再占有浮動讓出的位置。
給內(nèi)部有浮動子元素的父元素添加溢出隱藏 overflow: hidden; 屬性, 可以解決浮動的所有問題。
父元素有了高度后, 可以管理住內(nèi)部所有的浮動元素, 不會延伸到后面標簽中影響貼邊。
a 標簽可以根據(jù)用戶行為不同, 劃分為四種狀態(tài), 通過a 標簽的偽類可以將四種狀態(tài)選中設置為不同的樣式效果, 用戶觸發(fā)對應行為, 就可以加載對應的樣式。
一般會將訪問前和訪問后狀態(tài)設置為一樣的效果, 保證了頁面的統(tǒng)一性, 可以選擇性的設置鼠標移上和鼠標點擊狀態(tài)。
更加常用的一種設置方式如下:
a 標簽任何普通的選擇器, 可以同時選中四種狀態(tài), 可以將四種狀態(tài)設置為相同的樣式, 屬性可以設置所有的 a 默認顯示樣式的屬性, 包括盒模型、 文字等。
a:hover 偽類選擇器: 設置鼠標移上時不一樣的樣式屬性。
屬性值都是使用代表方向的單詞進行書寫。
使用像素值作為背景定位的屬性值。
百分比表示法使用百分比數(shù)字作為屬性值。
100%代表的數(shù)值:
background 屬性可以將五個單一屬性的值進行合寫。
屬性值: 可以有 1-5 個屬性值, 值之間用空格進行分隔, 背景定位的兩個屬性值算作一個屬性值, 不能被分開也不能顛倒順序。 五個屬性值之間可以互換位置。
在h1 標簽是權重最高的標簽, 一般會在內(nèi)部書寫最重要的內(nèi)容, 比如 logo 圖片、 最大的標題等。
另外 h1 內(nèi)部的文字, 可以幫助提高 SEO 搜索排名。
在設置的是 logo 圖片時, 如果使用插入圖, 就不能書寫搜索關鍵字。
如果想解決 SEO 問題, 可以將 HTML 結構中, 插入圖換成搜索關鍵字, 然后使用 css 添加背景圖給 a 標簽或 h1 標簽。
在一個盒子中有背景圖部分, 而且有文字內(nèi)容, 文字會讓開背景圖區(qū)域進行加載,
背景區(qū)域應該使用 padding 擠出位置。
四個方向的 padding 都可能用于添加背景圖。
當用戶訪問一個網(wǎng)站時, 需要向服務器發(fā)送請求, 網(wǎng)頁上的每張圖像都要經(jīng)過一次求才能展現(xiàn)給用戶。
然而, 一個網(wǎng)頁中往往會應用很多小的背景圖像作為修飾, 當網(wǎng)頁中的圖像過多時,服務器就會頻繁地接受和發(fā)送請求, 這將大大降低頁面的加載速度。為了有效地減少服務器接受和發(fā)送請求的次數(shù), 提高頁面的加載速度, 出現(xiàn)了 CSS精靈技術(也稱 CSS Sprites、 CSS 雪碧) 。
CSS 精靈是一種處理網(wǎng)頁背景圖像的方式。
它將一個頁面涉及到的所有零星背景圖像都集中到一張大圖中去, 然后將大圖應用于網(wǎng)頁, 這樣, 當用戶訪問該頁面時, 只需向服務發(fā)送一次請求, 網(wǎng)頁中的背景圖像即可全部展示出來。
通常情況下, 這個由很多小的背景圖像合成的大圖被稱為精靈圖。
CSS3 支持背景半透明的寫法, 顏色值增加了一種 rgba 模式。
rgba 模式 : 在 rgb 基礎上增加了一個不透明度的設置, 不透明度 alpha 取值范圍在0-1 之間, 0 表示完全透明, 1 表示完全不透明, 0.5 表示半透明。
書寫方式: rgba(紅色, 綠色, 藍色, 不透明度)
注意: 背景半透明是指盒子背景半透明, 盒子里面的內(nèi)容不受影響。
通過 background-size 設置背景圖片的尺寸, 就像我們設置 img 的尺寸一樣, 在移動 Web 開發(fā)中做屏幕適配應用非常廣泛。
CSS3 中規(guī)定, 一個盒子上, 可以添加多個背景圖片。
background-image 的屬性值書寫時, 以逗號分隔多背景的 URL路徑地址。
注意: 背景加載時, 先寫的背景壓蓋后寫的背景圖片。
屬性名: position。
作用: 設置定位的元素, 它需要根據(jù)某個參考元素發(fā)生位置的偏移。
定位的元素要想發(fā)生位置的移動, 必須搭配偏移量屬性進行設置。
水平方向: left、 right。
垂直方向: top、 bottom。
屬性值: 常用 px 為單位的數(shù)值, 或者百分比。
子絕父相、 子絕父絕、 子絕父固
屬性值: absolute, 絕對的意思。
參考元素: 參考的是距離最近的有定位的祖先元素, 如果祖先都沒有定位, 參考body。必須搭配偏移量屬性才會發(fā)生位置移動。
性質: 絕對定位的元素脫離標準流, 會讓出標準流位置, 可以設置寬高, 也可以隨時定義位置, 絕對定位的元素不設置寬高只能被內(nèi)容撐開。
注意1: 絕對定位的參考元素是不固定的, 不同的參考元素以及不同的偏移量組合,會導致絕對定位元素的參考點不同, 具體位移效果不同。
注意2: 在絕對定位中, 由于參考點不同, left 正值不再等價于 right 的負值。
以 body 為參考元素時, 參考點的確定與偏移量方向有關
第一, 如果有 top 參與的定位, 參考點就是 body 頁面的左上頂點和右上頂點。 自身的對比點是盒子的所有盒模型屬性最外面的左上角或右上角。
第二, 如果有 bottom 參與的絕對定位, 參考點是 body 頁面首屏的左下頂點或右下頂點。 對比點是盒子的所有盒模型屬性最外面的左下角或右下角。
實際應用中, 如果以 body 為參考元素, 不同分辨率的瀏覽器中, 絕對定位的元素位置是不同的, 所以較少使用 body 作為參考元素。
祖先級為參考元素
如果祖先級中有定位的元素, 就不會去參考 body 。
參考元素: 參考的是祖先元素中有任意定位的, 在 HTML 結構中距離目標最近的祖先。
如果絕對定位的參考元素是某個祖先級, 參考點是盒子 border 以內(nèi)的四個頂點, 組合方向決定了參考點。 絕對定位的元素只關心對比點和參考點之間的距離, 會忽視參考元素的 padding 區(qū)域。
所有的定位類型都可以實現(xiàn)壓蓋效果。
由于絕對定位的元素脫標, 不占標準流位置, 壓蓋效果更徹底, 實際工作中, 常見的是 絕對定位制作壓蓋。
定位的元素不區(qū)分定位類型, 都會去壓蓋標準流或浮動的元素。
如果都是定位的元素, 在 HTML 中 后寫定位壓蓋先寫的定位 。
更改定位的元素的壓蓋順序, 設置一個 z-index 屬性。
屬性值: 數(shù)字。
詳解CSS樣式選擇器有哪些?
CSS選擇器就是指定CSS要作用的標簽,那個標簽的名稱就是選擇器。意為:選擇哪個容器。
CSS選擇器分類:
標簽選擇器、類選擇器、ID選擇器、全局選擇器、群組選擇器、后代選擇器、偽類選擇器
1、html標簽選擇器:
定義:以html標簽作為選擇器
2、class類選擇器:
定義:為HTML標簽添加class屬性,通過類選擇器來為具有此class屬性的元素設置css樣式。
類選擇器也可以對不同類型元素的同一個名稱的類選擇器設置不同的樣式規(guī)則:
同一個元素可以設置多個類,之間用空格隔開:
3、ID選擇器
定義:為HTML標簽添加ID屬性,通過ID選擇器來為具有此ID的元素設置CSS規(guī)則
4、群組選擇器
定義:集體統(tǒng)一設置樣式
5、全局選擇器
定義:所有標簽設置樣式
HTML文檔結構圖
6、后代選擇器
定義:使用后代選擇器設置,之間用空格隔開,后代選擇器可以多層。
7、偽類選擇器
鏈接的四種狀態(tài):激活狀態(tài),已訪問狀態(tài),未訪問狀態(tài),鼠標懸停狀態(tài)。
偽類
說明
:link
未訪問的鏈接
:visited
已訪問的鏈接
:hover
鼠標懸停狀態(tài)
:active
激活的鏈接
:hover 用于訪問的鼠標經(jīng)過某個元素時;
:active 用于一個元素被激活時(即按下鼠標之后放開鼠標之前的狀態(tài))
偽類選擇器的屬性:link visited hover active
說明:
1)?a:hover 必須置于?a:link和a:visited之后,才有效
2) a:active 必須置于 a:hover之后才有效
3) 偽類名稱對大小寫不敏感
8、CSS其它選擇器
css繼承特性,從父元素那繼承部分css屬性
選擇器的優(yōu)先級
ID選擇優(yōu)先級最高(id選擇器定義具有唯一性)
class選擇器次之(class選擇器可以多個)
元素選擇器再次之
其它選擇器優(yōu)先級主要根據(jù)定義的先后順序,最后定義的優(yōu)先級高
!important 加重選擇器的優(yōu)先級,添加在樣式規(guī)則之后,中間用空格隔開。
CSS選擇器命名規(guī)則
1:采用英文字母,數(shù)字以及"-" 和 "_" 命名
2:以小寫字母開頭,不能以數(shù)字和"-"?和 "_" 開頭
3:使用有意義的命名規(guī)范
常用CSS命名
header
頁頭
main
主體
footer
頁尾
nav
導航
sidebar
側欄
container
容器
column
欄目
title
標簽
menu
菜單
submenu
子菜單
*列舉常用命名,大家根據(jù)自身項目及團隊的規(guī)則命名
耐心學習基礎知識,基礎是蓋房的根基,必須打結實。
如果您覺得有用,記得在下方點贊、關注、留言,我會定期奉 上更多的驚喜哦,您的打賞支持才是我繼續(xù)努力的動力,么么噠。
每日分享在學習過程中總結的學習經(jīng)驗,學習筆記,筆試題,HTML,CSS,JavaScript,jQuery教程,Vue教程,PHP教程,TinkPHP教程等,望大家能以學習為目的,每天閱讀一篇文章,了解身邊的技術。陪有夢想的人一起成長!
【8】CSS盒子模型、樣式繼承和默認樣式
內(nèi)容 content :盒子的主要區(qū)域,盒子中的文本內(nèi)容以及后代元素都顯示在內(nèi)容區(qū)域中。
內(nèi)邊距 padding :內(nèi)容與盒子邊界的距離。
邊框 border :邊框顯示在盒子的邊界上。
外邊距 margin :盒子和相鄰兄弟元素或父元素的距離。
盒子的大小=內(nèi)容的大小+內(nèi)邊距的大小+邊框的大小
元素默認 總寬度 = 父元素內(nèi)容的寬度 - 元素自己的左右外邊距
元素默認 內(nèi)容寬度 = 父元素內(nèi)容的寬度 - 元素自己的左右外邊距 - 元素自己的左右邊框寬度 - 元素自己的左右內(nèi)邊距
文章標題:css后代樣式,css樣式繼承
網(wǎng)站地址:http://www.dlmjj.cn/article/hoscgi.html