css選擇器哪些有繼承,css的三種機(jī)制?
CSS的三大機(jī)制是:特殊性、繼承、層疊。樣式最終的呈現(xiàn)由層疊機(jī)制決定,但層疊與特殊性、繼承又有關(guān)系。
換句話說,一個(gè)元素某一樣式要應(yīng)用那個(gè)值,用戶代理需要考慮繼承,考慮聲明的特殊性,考慮聲明本身的來(lái)源,而這個(gè)過程就叫做層疊。css提供3種機(jī)制來(lái)設(shè)置盒子的擺放位置,分別是普通流(標(biāo)準(zhǔn)流)、浮動(dòng)和定位。
css選擇器項(xiàng)目符號(hào)圖像是什么?
css樣式屬性list-style-image :設(shè)定列表項(xiàng)目符號(hào)的自定義圖像。其值是一個(gè)引用圖像的URL路徑。
url ( url ) —— 使用絕對(duì)或相對(duì) url 地址指定圖像。
css樣式遵循什么原則?
css樣式遵循三種原則:就近原則、繼承原則、覆蓋原則。
就近原則
優(yōu)先級(jí)關(guān)系,從高到低:行內(nèi)樣式 > 內(nèi)部樣式 > 外部樣式。
繼承原則:
繼承中多數(shù)邊框類的屬性不能被繼承,比如padding、margin、背景等都不會(huì)被繼承;表格也不能繼承父類的樣式。
覆蓋原則:
由于繼承而發(fā)生的樣式?jīng)_突,由最近的祖先元素取值;
繼承的樣式和直接指定的樣式發(fā)生沖突時(shí),直接指定的樣式獲取值;
直接指定的樣式發(fā)生沖突時(shí),樣式權(quán)重高的元素獲取值;
css規(guī)則定義?
基本語(yǔ)法
規(guī)則
選擇符
任何HTML元素都可以是一個(gè)CSS1的選擇符。選擇符僅僅是指向特別樣式的元素。例如,
P { text-indent: 3em }
當(dāng)中的選擇符是P。
類選擇符
單一個(gè)選擇符能有不同的CLASS(類),因而允許同一元素有不同樣式。例如,一個(gè)網(wǎng)頁(yè)制作者也許希望視其語(yǔ)言而定,用不同的顏色顯示代碼 :
code.html { color: #191970 }
code.css { color: #4b0082 }
以上的例子建立了兩個(gè)類,CSS和html,供HTML的CODE元素使用。CLASS屬性是用于在HTML中以指明元素的類,例如,
<P CLASS=warning>每個(gè)選擇符只允許有一個(gè)類。
例如,code.html.proprietary是無(wú)效的。</p>
類的聲明也可以無(wú)須相關(guān)的元素:
.note { font-size: small }
在這個(gè)例子,名為note的類可以被用于任何元素。
一個(gè)良好的習(xí)慣是在命名類的時(shí)候,根據(jù)它們的功能而不是根據(jù)它們的外觀。上述例子中的note類也可以命名為small,但如果網(wǎng)頁(yè)制作者決定改變這個(gè)類的樣式,使得它不再是小字體的話,那么這個(gè)名字就變得毫無(wú)意義了。
ID 選擇符
ID 選擇符個(gè)別地定義每個(gè)元素的成分。這種選擇符應(yīng)該盡量少用,因?yàn)樗哂幸欢ǖ木窒?。一個(gè)ID選擇符的指定要有指示符"#"在名字前面。例如,ID選擇符可以指定如下:
#svp94O { text-indent: 3em }
這點(diǎn)可以參考HTML中的ID屬性:
<P ID=svp94O>文本縮進(jìn)3em</P>
關(guān)聯(lián)選擇符
關(guān)聯(lián)選擇符只不過是一個(gè)用空格隔開的兩個(gè)或更多的單一選擇符組成的字符串。這些選擇符可以指定一般屬性,而且因?yàn)閷盈B順序的規(guī)則,它們的優(yōu)先權(quán)比單一的選擇符大。例如, 以下的上下文選擇符
P EM { background: yellow }
是P EM。這個(gè)值表示段落中的強(qiáng)調(diào)文本會(huì)是黃色背景;而標(biāo)題的強(qiáng)調(diào)文本則不受影響。
聲明
屬性
一個(gè)屬性被指定到選擇符是為了使用它的樣式。屬性的例子包括顏色、邊界和字體。
值
聲明的值是一個(gè)屬性接受的指定。例如,屬性顏色能接受值red。
組合
為了減少樣式表的重復(fù)聲明,組合的選擇符聲明是允許的。例如,文檔中所有的標(biāo)題可以通過組合給出相同的聲明:
H1, H2, H3, H4, H5, H6 {
color: red;
font-family: sans-serif }
繼承
實(shí)際上,所有在選擇符中嵌套的選擇符都會(huì)繼承外層選擇符指定的屬性值,除非另外更改。例如,一個(gè)BODY定義了的顏色>值也會(huì)應(yīng)用到段落的文本中。
有些情況是內(nèi)部選擇符不繼承周圍的選擇符的值,但理論上這些都是特殊的。例如,上邊界屬性是不會(huì)繼承的;直覺上,一個(gè)段落不會(huì)有同文檔BODY一樣的上邊界值。
注解
樣式表里面的注解使用C語(yǔ)言編程中一樣的約定方法去指定。CSS1注解的例子如以下格式:
/* COMMENTS CANNOT BE NESTED */
偽類和偽元素
偽類和偽元素是特殊的類和元素,能自動(dòng)地被支持CSS的瀏覽器所識(shí)別。偽類區(qū)別開不同種類的元素(例如,visited links(已訪問的連接)和active links(可激活連接)描述了兩個(gè)定位錨(anchors)的類型)。偽元素指元素的一部分,例如段落的第一個(gè)字母。
偽類或偽元素規(guī)則的形式如
選擇符:偽類 { 屬性: 值 }
或
選擇符:偽元素 { 屬性: 值 }
偽類和偽元素不應(yīng)用HTML的CLASS屬性來(lái)指定。一般的類可以與偽類和偽元素一起使用,如下:
選擇符.類: 偽類 { 屬性: 值 }
或
選擇符.類: 偽元素 { 屬性: 值 }
定位錨偽類
偽類可以指定A元素以不同的方式顯示連接(links)、已訪問連接(visited links)和可激活連接(active links)。定位錨元素可給出偽類link、visited或active。一個(gè)已訪問連接可以定義為不同顏色的顯示,甚至不同字體大小和風(fēng)格。
一個(gè)有趣的效果是使當(dāng)前(或“可激活”)連接以不同顏色、更大的字體顯示。然后,當(dāng)網(wǎng)頁(yè)的已訪問連接被重選時(shí),又以不同顏色、更小字體顯示。這個(gè)樣式表的示例如下:
A:link { color: red }
A:active { color: blue; font-size: 125% }
A:visited { color: green; font-size: 85% }
首行偽元素
通常在報(bào)紙上的文章,例如Wall Street Journal中的,文本的首行都會(huì)以粗印體而且全部大寫地展示。CSS1包括了這個(gè)功能,將其作為一個(gè)偽元素。首行偽元素可以用于任何塊級(jí)元素(例如P、H1等等)。以下是一個(gè)首行偽元素的例子:
P:first-line {
font-variant: small-caps;
font-weight: bold }