隨筆-9  評(píng)論-168  文章-266  trackbacks-0

          學(xué)JSF,不懂樣式表不行.

          連接到一個(gè)外部的樣式表
          一個(gè)外部的樣式表可以通過HTML的LINK元素連接到HTML文檔中:

          <LINK REL=StyleSheet HREF="style.css" TYPE="text/css" MEDIA=screen>
          <LINK REL=StyleSheet HREF="color-8b.css" TYPE="text/css" TITLE="8-bit Color Style" MEDIA="screen, print">
          <LINK REL="Alternate StyleSheet" HREF="color-24b.css" TYPE="text/css" TITLE="24-bit Color Style" MEDIA="screen, print">
          <LINK REL=StyleSheet HREF="aural.css" TYPE="text/css" MEDIA=aural>

          <LINK>標(biāo)記是放置在文檔的HEAD部分。可選的TYPE屬性用于指定媒體類型--text/css是一個(gè)層疊樣式表--允許瀏覽器忽略它們不支持的樣式表類型。為CSS文件配置服務(wù)器而將text/css當(dāng)作Content-type內(nèi)容發(fā)送出去也是一個(gè)好注意。

          外部樣式表不能含有任何像<HEAD>或<STYLE>這樣的HTML的標(biāo)記。樣式表僅僅由樣式規(guī)則或聲明組成。一個(gè)單獨(dú)由

          P { margin: 2em }

          組成的文件就可以用作外部樣式表了。

          <LINK>標(biāo)記也有一個(gè)可選的MEDIA屬性,用于指定樣式表被接受的介質(zhì)或媒體。允許的值有

          screen (缺省值),提交到計(jì)算機(jī)屏幕;
          print, 輸出到打印機(jī);
          projection,提交到投影機(jī);
          aural,揚(yáng)聲器;
          braille,提交到凸字觸覺感知設(shè)備;
          tty,電傳打字機(jī) (使用固定的字體);
          tv,電視機(jī);
          all,所有輸出設(shè)備。
          多樣的媒體通過用逗號(hào)隔開的列表或值all指定。

          Netscape Navigator 4.x 錯(cuò)誤地忽略除了screen值外的任何使用MEDIA值聲明的連接或嵌入樣式表。例如,MEDIA="screen,projection"會(huì)令到樣式表被Navigator 4.x忽略,盡管展示的設(shè)備是計(jì)算機(jī)的屏幕。Navigator 4.x 也忽略使用MEDIA=all聲明的樣式表。

          REL屬性用于定義連接的文件和HTML文檔之間的關(guān)系。REL=StyleSheet指定一個(gè)固定或首選的樣式而REL="Alternate StyleSheet"定義一個(gè)交互樣式。固定樣式在樣式表激活時(shí)總被應(yīng)用。缺少的TITLE屬性,就像例子中的第一個(gè)<LINK>標(biāo)記,定義一個(gè)固定樣式。

          一個(gè)首選樣式會(huì)自動(dòng)被應(yīng)用,就像例子中的第二個(gè)<LINK>標(biāo)記。REL=StyleSheet和一個(gè)TITLE屬性的組合指定一個(gè)首選的樣式。網(wǎng)頁(yè)制作者不能指定多于一個(gè)的首選樣式。

          交互樣式通過REL="Alternate StyleSheet"指出。例子中的第三個(gè)<LINK>標(biāo)記定義一個(gè)交互樣式,用戶可以選擇用來代替首選樣式表。

          注意現(xiàn)在的瀏覽器一般都缺乏選擇交互樣式的能力。

          單一的樣式也可以通過多個(gè)樣式表給出

          <LINK REL=StyleSheet HREF="basics.css" TITLE="Contemporary">
          <LINK REL=StyleSheet HREF="tables.css" TITLE="Contemporary">
          <LINK REL=StyleSheet HREF="forms.css" TITLE="Contemporary">

          在這個(gè)例子中,三個(gè)樣式表組合成一個(gè)"Contemporary"樣式,作為一個(gè)首選樣式表被應(yīng)用。要組合多個(gè)樣式表成一個(gè)單一樣式,必須在每個(gè)樣式表中使用相同TITLE。

          當(dāng)樣式被應(yīng)用到很多的網(wǎng)頁(yè)時(shí),一個(gè)外部樣式表是理想的。網(wǎng)頁(yè)制作者使用外部樣式表可以改變整個(gè)網(wǎng)站的外觀而僅僅通過改變一個(gè)文件。同樣的,大多數(shù)瀏覽器會(huì)保存外部樣式表在緩沖區(qū),從而如果樣式表在緩沖區(qū)就避免了在展示網(wǎng)頁(yè)時(shí)的延遲。

          Microsoft Internet Explorer 3 for Windows 95/NT4并不支持來自連接的樣式表中的BODY 背景圖象或顏色。如果考慮到這個(gè)錯(cuò)誤,網(wǎng)頁(yè)制作者不妨提供另外的包括一個(gè)背景圖象或顏色的結(jié)構(gòu),例如嵌入或內(nèi)聯(lián)樣式,或使用BODY元素的BACKGROUND屬性。


          --------------------------------------------------------------------------------

          嵌入一個(gè)樣式表
          一個(gè)樣式表可以使用STYLE元素在文檔中嵌入:

          <STYLE TYPE="text/css" MEDIA=screen>
          <!--
            BODY  { background: url(foo.gif) red; color: black }
            P EM  { background: yellow; color: black }
            .note { margin-left: 5em; margin-right: 5em }
          -->
          </STYLE>
          STYLE元素放在文檔的HEAD部分。必須的TYPE屬性用于指定媒體類型,LINK元素也一樣。同樣地,TITLE和MEDIA屬性也可以用STYLE指定。

          舊版本的瀏覽器,并不能識(shí)別STYLE元素,會(huì)將其當(dāng)作BODY的一部分照常展示其內(nèi)容,從而使這些樣式表對(duì)用戶是可見的。要防止這樣做,STYLE元素的內(nèi)容要包含一個(gè)SGML注解(<!-- comment -->)在里面,像上述例子那樣。

          嵌入的樣式表可用于當(dāng)一個(gè)文檔具有獨(dú)一無二的樣式的時(shí)候。如果多個(gè)文檔都使用同一樣式表,那么外部樣式表會(huì)更適用。


          --------------------------------------------------------------------------------

          輸入一個(gè)樣式表
          一個(gè)樣式表可以使用CSS的@import 聲明被輸入。這個(gè)聲明用于一個(gè)CSS文件或內(nèi)部的STYLE元素:

          <STYLE TYPE="text/css" MEDIA="screen, projection">
          <!--
            @import url(http://www.htmlhelp.com/style.css);
            @import url(/stylesheets/punk.css);
            DT { background: yellow; color: black }
          -->
          </STYLE>
          注意其它的CSS規(guī)則應(yīng)該仍然包括在STYLE元素中,但所有的@import 聲明必須放在樣式表的開始部分。任意在樣式表中指定了的規(guī)則,其自身超越在輸入樣式表中對(duì)立的規(guī)則。例如上例,即使一個(gè)輸入的樣式表包含DT { background: aqua },定義項(xiàng)(definition terms)依然會(huì)是黃色的背景。

          被輸入的樣式表的順序?qū)τ谒鼈冊(cè)鯓訉盈B是很重要的。在上述的例子中,如果style.css輸入的樣式表指定了STRONG元素會(huì)顯示為紅色而punk.css樣式表指定了STRONG元素顯示為黃色的話,那么后面的規(guī)則會(huì)獲勝,而STRONG元素會(huì)顯示為黃色。

          輸入的樣式表對(duì)于模塊性效果很有用處。例如,一個(gè)網(wǎng)站可以通過使用了的選擇符分類樣式表。一個(gè)simple.css樣式表給出公共的元素像BODY、P、H1和H2。此外,一個(gè)extra.css樣式表給出較少共通的元素像CODE、BLOCKQUOTE和DFN。一個(gè)tables.css樣式表可以用于定義變革元素的規(guī)則。這三個(gè)樣式表在需要的時(shí)候可以使用@import 聲明包括在HTML中。三個(gè)樣式表也可以通過LINK元素組合。


          --------------------------------------------------------------------------------

          內(nèi)聯(lián)樣式
          樣式可以使用STYLE屬性內(nèi)聯(lián)。STYLE屬性可以應(yīng)用于任意BODY元素(包括BODY本身),除了BASEFONT、PARAM和SCRIPT。這個(gè)屬性將任何數(shù)量的CSS聲明當(dāng)作自己的值,而每個(gè)聲明用分號(hào)隔開。以下是一個(gè)例子:

          <P STYLE="color: red; font-family: 'New Century Schoolbook', serif">  這段的樣式是紅色的New Century Schoolbook字,如果字體可用的話。</P>

          注意在STYLE中New Century Schoolbook包含在單引號(hào)中,因?yàn)殡p引號(hào)被用作包含樣式聲明。

          內(nèi)聯(lián)的樣式比其他方法更加靈活。要使用內(nèi)聯(lián)樣式,必須使用Content-Style-Type HTTP頁(yè)眉擴(kuò)展對(duì)整個(gè)文檔進(jìn)行單獨(dú)的樣式表語言聲明。使用內(nèi)聯(lián)CSS的網(wǎng)頁(yè)制作者必須將text/css作為Content-Style-Type HTTP頁(yè)眉,或在HEAD部分包括以下標(biāo)記:

          <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

          因?yàn)楹托枰故镜膬?nèi)容混合在一起,內(nèi)聯(lián)樣式會(huì)失去一些樣式表的優(yōu)點(diǎn)。同樣地,內(nèi)聯(lián)樣式默認(rèn)地接受所有媒體,因?yàn)闆]有任何的為內(nèi)聯(lián)樣式指定明確的媒體的語句。這種方法應(yīng)該盡量少用,如當(dāng)一個(gè)樣式會(huì)應(yīng)用在所有媒體到一個(gè)元素的個(gè)別情況。如果樣式會(huì)被應(yīng)用到單一元素的場(chǎng)合,但只能使用確認(rèn)的媒體的話,使用ID屬性代替STYLE屬性。

           

          posted on 2008-04-28 16:48 紫蝶∏飛揚(yáng)↗ 閱讀(441) 評(píng)論(0)  編輯  收藏 所屬分類: CSS
          主站蜘蛛池模板: 贞丰县| 新龙县| 勐海县| 同心县| 始兴县| 永登县| 沁源县| 博爱县| 民乐县| 鄯善县| 双峰县| 莱州市| 洛阳市| 方山县| 宁国市| 土默特右旗| 三穗县| 孟津县| 通辽市| 沁水县| 喜德县| 宁津县| 界首市| 佛坪县| 恩平市| 台湾省| 城口县| 阿拉善右旗| 东乌珠穆沁旗| 平泉县| 方城县| 车致| 泰和县| 永寿县| 敦化市| 文登市| 定日县| 久治县| 丰宁| 合阳县| 香格里拉县|