1、 在css3中有哪些選擇器,css的基本語(yǔ)法和標(biāo)簽?
CSS規(guī)則由兩部分組成,選擇器,和一條或多條聲明,例如:
h1 {color:blue; font-size:12px;}
選擇器通常是html中的一個(gè)標(biāo)簽,每條聲明由一個(gè)屬性和屬性值組成,一般是樣式屬性
CSS一般寫(xiě)在html文件中的<style></style>標(biāo)簽里面,
CSS注釋?zhuān)阂?* 開(kāi)頭,*/結(jié)尾
2、 html5中css樣式的三種語(yǔ)法?
1:內(nèi)聯(lián)樣式 :內(nèi)聯(lián)樣式通過(guò)style屬性來(lái)設(shè)置,屬性值可以任意的CSS樣式。
2:內(nèi)部樣式 :內(nèi)部樣式定義在文檔的head部分,通過(guò)style標(biāo)簽來(lái)設(shè)置。需要使用元素選擇器(p)來(lái)關(guān)聯(lián)樣式和要設(shè)置樣式的標(biāo)簽(p標(biāo)簽)。
3:外部樣式 :在文檔外的*.css定義css樣式,然后在文檔的head部分通過(guò)link元素引入。
3、 如何讓ipad瀏覽器兼容ie8?
首先,在做項(xiàng)目前,我們一定要確認(rèn)是否需要兼容IE8~IE9,從剛開(kāi)始就注意兼容問(wèn)題,做起來(lái)就會(huì)很舒服,如果項(xiàng)目完成后做兼容,簡(jiǎn)直就是噩夢(mèng)。下面是我這幾天做IE8兼容遇到的一些問(wèn)題。
1、css樣式方面css樣式,盡量少用css3的這些偽類(lèi)選擇器,如果使用了,在后期做兼容會(huì)很累,如果項(xiàng)目硬要兼容IE8+,那就請(qǐng)你從一開(kāi)始就避免這些偽類(lèi)的使用吧。避免了最難解決的偽類(lèi)問(wèn)題后,剩下的就是針對(duì)IE8 IE9做一些樣式上的微調(diào),將會(huì)異常輕松。
2、JS方面 2.1、IE8是不支持className選擇節(jié)點(diǎn)的,所以,最省時(shí)省力的方法,我們?cè)谶x擇節(jié)點(diǎn)時(shí),可以多使用jquery選擇器,說(shuō)實(shí)話(huà),jQuery的兼容性還真的好。當(dāng)然如果你的父節(jié)點(diǎn)不是element,沒(méi)法用jq的時(shí)候,只能自己拓展了;解決IE8一下不支持getElementsByClassName的方法 - CSDN博客 這個(gè)博客的方法適合隨意指定父節(jié)點(diǎn),實(shí)測(cè)有效; 2.2、如果你要遍歷一個(gè)數(shù)組,請(qǐng)不要用map forEach,因?yàn)檫@些方法IE8 IE9都不支持,如 果你項(xiàng)目里用到了,修改起來(lái)很麻煩,那么就拓展一個(gè)map forEach方法吧。 2.
3、如果需要在文本框里添加placeholder,個(gè)人建議使用插件,將會(huì)有和原生瀏覽器一樣的效果。 推薦jquery.placeholder.js 這個(gè)插件 2.
4、現(xiàn)在大部分主流瀏覽器都支持bind,很不幸,IE8卻不支持,如果碰到了bind的兼容問(wèn)題,那么只能自己寫(xiě)拓展了。 2.
5、IE8 IE9均不支持calssList屬性,如果用到了增刪class,那么只能自己寫(xiě)拓展。給不支持classList的瀏覽器(IE9以及以下等)的元素添加classList屬性 - 麥兜的博客 - CSDN博客這個(gè)博客上有具體的代碼,當(dāng)然你復(fù)制下來(lái)運(yùn)行發(fā)現(xiàn)會(huì)報(bào)錯(cuò),你需要加上這句代碼window.HTMLElement = window.HTMLElement || Element;因?yàn)镮E不識(shí)別HTMLElement。 2.
6、如果你不小心用到了某個(gè)jq版本的text()方法,那么你要注意,有可能IE8不兼容,最好使用innerHTML 2.
7、IE8并不支持event.target,如果你不小心用了,會(huì)報(bào)錯(cuò) 找不到 target 屬性。這就取決于IE8的機(jī)制,event只能是window對(duì)象的一個(gè)屬性,所以我們這樣寫(xiě)就能兼容IE8了;var event=window["event"]; 可以用 event.srcElement獲取你想要的節(jié)點(diǎn)對(duì)象。
4、 css3和css一樣嗎?
CSS3是CSS的子集,CSS3是最新的標(biāo)準(zhǔn),提供了很多好用的新屬性,提升了網(wǎng)頁(yè)的表現(xiàn)性。
CSS3提供了更好用的選擇器最新的CSS3中,對(duì)偽類(lèi)、偽元素選擇器做了嚴(yán)格的規(guī)范。有了偽類(lèi)后,不用在div標(biāo)簽里面添加額外的元素完成一些DOM操作,可以通過(guò)::before,::after完成,代碼簡(jiǎn)潔明了。對(duì)于鼠標(biāo)的操作,也可以通過(guò)::hover等類(lèi)似的操作完成。非常高效。還有::first–child等類(lèi)似的選擇器去操作子元素。
CSS3使動(dòng)畫(huà)效果越來(lái)越方便css3里面通過(guò)animation來(lái)完成動(dòng)畫(huà),設(shè)置@keyframes即可,一些輕量級(jí)的動(dòng)畫(huà)不必再通過(guò)js完成。
CSS3完成圓角、陰影美化更方便以前的css完成類(lèi)似的功能只能通過(guò)圖片做背景,現(xiàn)在只需要border-radius、boxshadow即可。非常高效簡(jiǎn)潔。
CSS3提供了全新的盒模型這個(gè)特性十分有用。原來(lái)的盒模型width=content.+border+padding。你規(guī)定了width.每次都要自己計(jì)算,現(xiàn)在有了boder-box不用這么麻煩了。
CSS3的flex布局是最強(qiáng)大的IE已死,不需要再考慮它的兼容性!!!用flex布局,節(jié)省很多時(shí)間,節(jié)省的時(shí)間可以學(xué)很多東西,而不是浪費(fèi)時(shí)間去適應(yīng)落后的ie!!!
還有很多好用的css3特性,這個(gè)版本提供了巨大的生產(chǎn)力!!!很感謝它,期待下一個(gè)grid布局~
以上是我的看法~