css父代選擇器csdn,CSS優(yōu)先級(jí)算法如何計(jì)算?
css 最常用的選擇符是類,即class,還有就是id 和元素,其次有通配符*還有一些偽類和偽元素。
子元素可以繼承父元素的屬性值。
優(yōu)先級(jí)的話,id > class >元素>偽類和偽元素。! important 優(yōu)先級(jí)最高,但不常用。還有一種是.id > .class 要大于. class, 既優(yōu)先權(quán)可以累加
align含義以及里面包含的屬性?
一.text-align屬性
1.text-align用來設(shè)置元素中的的文本對(duì)齊方式,例如:如果需要設(shè)置圖片的對(duì)齊方式,需要設(shè)置圖片的父元素的text-align屬性;
2.text-align只對(duì)文本有效,對(duì)元素?zé)o效,不能設(shè)置元素的對(duì)齊方式;
3.表格元素td是屬于inline-block,可以使用text-align設(shè)置td中的文本對(duì)齊方式;
二.水平居中和垂直居中
1.水平居中
(1) 文本、圖片等行內(nèi)元素的水平居中
給父元素設(shè)置text-align:center可以實(shí)現(xiàn)文本、圖片等行內(nèi)元素的水平居中。
(2) 確定寬度的塊級(jí)元素的水平居中通過設(shè)置margin-left:auto;和margin-right:auto;來實(shí)現(xiàn)的。
(3) 不確定寬度的塊級(jí)元素的水平居中
方法一:
使用table標(biāo)簽,table本身并不是塊級(jí)元素,如果不給它設(shè)定寬度的話,它的寬度由內(nèi)部元素的寬度“撐起”,但即使不設(shè)定它的寬度,僅設(shè)置margin-left:auto;和margin-right:auto;就可以實(shí)現(xiàn)水平居中!
將需要居中的部分包含在table標(biāo)簽內(nèi),對(duì)table設(shè)置margin-left:auto;和margin-right:auto;就可以使table水平居中,間接使需要居中的部分水平居中。
缺點(diǎn):增加了無語意標(biāo)簽,加深了標(biāo)簽的嵌套層數(shù)。
方法二:
改變塊級(jí)元素display為inline類型,然后使用text-align:center來實(shí)現(xiàn)居中。
較方法一,好處是不用增加無語義標(biāo)簽,簡(jiǎn)化了標(biāo)簽的嵌套深度。壞處,將塊級(jí)元素的display類型改為inline,缺少了一些塊級(jí)元素的功能,比如高寬。
方法三:
通過給父元素設(shè)置float,然后父元素設(shè)置position:relative和left:50%,子元素設(shè)置position:relative和left:-50%來實(shí)現(xiàn)水平居中。
可以保留塊級(jí)元素仍以display:block的形式顯示,而且不添加無語義標(biāo)簽,不增加嵌套深度,但缺點(diǎn)是設(shè)置了position:relative,帶來一定的副作用。
2.垂直居中
(1) 父元素高度不確定的文本、圖片、塊級(jí)元素的垂直居中
通過給父容器設(shè)置相同上下邊距實(shí)現(xiàn)的,即設(shè)置padding-top和padding-bottom。
(2)父元素高度確定的單行文本的垂直居中
通過給父元素設(shè)置line-height來實(shí)現(xiàn),line-height值和父元素高度值相同。
(3)父元素高度確定的多行文本、圖片、塊級(jí)元素的垂直居中
CSS中有一個(gè)用于垂直居中的屬性vertical-align,但只有當(dāng)父元素為td或者th時(shí),這個(gè)屬性才生效,對(duì)于其他塊級(jí)元素,如div,p等,默認(rèn)情況下是不支持vertical-align屬性的。在firefox和ie8下,可以設(shè)置塊級(jí)元素的display:table-cell來激活vertical-align屬性,但ie6和ie7并不支持display:table-cell。
方法一:
直接使用table,因?yàn)閠d標(biāo)簽?zāi)J(rèn)下就隱式設(shè)置了vertical-align:middle。
方法二:
對(duì)支持display:table-cell的ie8和firefox用display:table-cell和vertical-align:middle來實(shí)現(xiàn)居中,對(duì)不支持display:table-cell的ie6和ie7,使用特定格式的hack。
CSS中有哪些常用選擇器?
一、CSS選擇器有哪些
CSS中的選擇器很多,比如:ID選擇器,類選擇器,通配符選擇器,偽類選擇器等等,接下來主要介紹常用的幾個(gè)。
1.標(biāo)簽選擇器
語法:標(biāo)簽名{},eg:h1{}//為所有的h1元素設(shè)置樣式。
2.ID選擇器
語法:#id名{}//id值唯一不能重復(fù),eg:#top{}//為id為top的元素設(shè)置樣式。
3.類選擇器
語法:.class{},eg:.box{}//為所有的class值為box的元素設(shè)置樣式。
4.組選擇器
語法:選擇器1,選擇器2,選擇器N{},eg:#box1,.box2,p{}//為id為box1,class為box2和p的元素共同設(shè)置樣式。
5、通配符選擇器
語法:*{},eg:*{font-size:16px}//將整個(gè)頁(yè)面字體大小設(shè)為16px。
6.后代選擇器
語法:選擇器1選擇器2{},eg:p.aa{}//選中指定祖先元素p的指定后代.aa。
7.子元素選擇器
語法:父元素>子元素{},eg:p>.box{}//選中父元素p的指定子元素.box。注意與后代元素選擇器的區(qū)別
8.偽類選擇器
偽類可以用來表示一些特殊的狀態(tài),如:
:link-未訪問過的超鏈接。
:visited-已訪問過的超鏈接。
:hover-鼠標(biāo)經(jīng)過的元素。
:active-正在點(diǎn)擊的元素。
eg:a:hover{color:red}//鼠標(biāo)經(jīng)過a標(biāo)簽時(shí),顏色變?yōu)榧t色。
二、CSS選擇器的優(yōu)先級(jí)順序
當(dāng)同一屬性的不同值都作用到了同一個(gè)元素時(shí),如果定義的屬性之間有沖突,那么應(yīng)該用誰的值的,這個(gè)時(shí)候就涉及到CSS的優(yōu)先級(jí)順序了。
1.在屬性后面使用!important會(huì)覆蓋頁(yè)面內(nèi)任何位置定義的元素樣式。
2.作為style屬性寫在元素內(nèi)的內(nèi)部樣式
3.id選擇器
4.類選擇器
5.標(biāo)簽選擇器
6.通配符選擇器
7.瀏覽器自定義或繼承的