1、 css偽類選擇器的優先級順序,CSS有哪幾種方式控制網頁頁面?
有4種方式,行內方式、內嵌方式、鏈接方式、導入方式
1、行內方式
行內方式是4種樣式中最直接最簡單的一種,直接對HTML標簽適用style="",例如:
<p style="color:#F00; background:#CCC; font-size:12px;"></p>
雖然這種方法比較直接,在制作頁面的時候需要為很多的標簽設置style屬性,所以會導致HTML頁面不夠純凈,文件體積過大,不利于搜索蜘蛛爬行,從而導致后期維護成本高。
2、內嵌方式
內嵌方式就是將CSS代碼寫在<head></head>之間,并且用<style></style>進行聲明,例如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
<style type="text/css">
<!--
#div1{width:64px; height:64px; float:left;}
#div1 img{width:64px; height:64px;}
-->
</style>
</head>
<body>
<div id="div1"><img src="https://www.jb51.net/images/logo.gif" /></div>
</body>
</html>
運行代碼 復制代碼 另存代碼 <script language="JavaScript">ffcod = delpost.runcode7 .value; ffcod = ffcod.replace(/
/g,''); delpost.runcode7 .value = ffcod;</script> 提示:您可以先修改部分代碼再運行
內嵌方式,大家應該也能意識到,即使有公共CSS代碼,也是每個頁面都要定義的,如果一個網站有很多頁面,每個文件都會變大,后期維護也大,如果文件很少,CSS代碼也不多,這種方式還是很不錯的。
3、鏈接方式
鏈接方式是使用頻率最高,最實用的方式,只需要在<head></head>之間加上
復制代碼
代碼如下:
<link href="style.css" type="text/css" rel="stylesheet" />
,就可以了,這種方式將HTML文件和CSS文件徹底分成兩個
或者多個文件,實現了頁面框架HTML代碼與美工CSS代碼的完全分離,使得前期制作和后期維護都十分方便,并且如果要保持頁面風格統一,只需要把這些公共的CSS文件單獨保存成一個文件,其他的頁
面就可以分別調用自身的CSS文件,如果需要改變網站風格,只需要修改公共CSS文件就OK了,相當的方便,這才是我們xHTML+CSS制作頁面提倡的方式。
HTML代碼
復制代碼
代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
<link href="style.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div id="div1"><img src="https://www.jb51.net/images/logo.gif" /></div>
</body>
</html>
CSS代碼
復制代碼
代碼如下:
#div1{width:64px; height:64px; float:left;}
#div1 img{width:64px; height:64px;}
4、導入方式
導入樣式和鏈接樣式比較相似,采用import方式導入CSS樣式表,在HTML初始化時,會被導入到HTML文件中,成為文件的一部分,類似第二種內嵌方式。
具體導入樣式和鏈接樣式有什么區別,可以參看這篇文章《CSS:@import與link的具體區別》,不過我還是建議大家用鏈接方式!
四種樣式的優先級 :
如果這上面的四種方式中的兩種用于同一個頁面后,就會出現優先級的問題,這里我就不再舉例子來說明了,大家在下面自己證明一下下面的結論
四種樣式的優先級別是(從高至低):行內樣式、內嵌樣式、鏈接樣式、導入樣式。
拓展資料
css是層疊樣式表(英文全稱:Cascading Style Sheets)是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。
CSS不僅可以靜態地修飾網頁,還可以配合各種腳本語言動態地對網頁各元素進行格式化。
CSS為HTML標記語言提供了一種樣式描述,定義了其中元素的顯示方式。CSS在Web設計領域是一個突破。利用它可以實現修改一個小的樣式更新與之相關的所有頁面元素。
2、 偽類和偽元素的區別在哪?
前端er們大都或多或少地接觸過CSS偽類和偽元素,比如最常見的:focus,:hover以及<a>標簽的:link、visited等,偽元素較常見的比如:before、:after等。
其實上面提到的這些偽類和偽元素都是CSS1和CSS2中的概念,CSS1和CSS2中對偽類的偽元素的區別比較模糊,甚至經常有同行將:before、:after稱為偽類
3、 css被固定了的如何設置優先級?
優先級:內聯式 > 嵌入式 > 外部式
對于同一個元素我們同時用了三種方法設置css樣式,那么哪種方法真正有效呢?在下面代碼中就出現了這種情況
1、使用內聯式CSS設置“超酷的互聯網”文字為粉色。
2、然后使用嵌入式CSS來設置文字為紅色。
3、最后又使用外部式設置文字為藍色(style.css文件中設置)。
4、 css3和css一樣嗎?
CSS3是CSS的子集,CSS3是最新的標準,提供了很多好用的新屬性,提升了網頁的表現性。
CSS3提供了更好用的選擇器最新的CSS3中,對偽類、偽元素選擇器做了嚴格的規范。有了偽類后,不用在div標簽里面添加額外的元素完成一些DOM操作,可以通過::before,::after完成,代碼簡潔明了。對于鼠標的操作,也可以通過::hover等類似的操作完成。非常高效。還有::first–child等類似的選擇器去操作子元素。
CSS3使動畫效果越來越方便css3里面通過animation來完成動畫,設置@keyframes即可,一些輕量級的動畫不必再通過js完成。
CSS3完成圓角、陰影美化更方便以前的css完成類似的功能只能通過圖片做背景,現在只需要border-radius、boxshadow即可。非常高效簡潔。
CSS3提供了全新的盒模型這個特性十分有用。原來的盒模型width=content.+border+padding。你規定了width.每次都要自己計算,現在有了boder-box不用這么麻煩了。
CSS3的flex布局是最強大的IE已死,不需要再考慮它的兼容性!!!用flex布局,節省很多時間,節省的時間可以學很多東西,而不是浪費時間去適應落后的ie!!!
還有很多好用的css3特性,這個版本提供了巨大的生產力!!!很感謝它,期待下一個grid布局~
以上是我的看法~