Board logo

主題: [轉貼]網頁CSS應用技巧14例 [打印本頁]

發表人: uason    時間: 2005-3-22 09:28 PM     主題: [轉貼]網頁CSS應用技巧14例

  CSS是Cascading Style Sheets的簡稱,中文譯作“層疊樣式表單”,我把它叫作“層疊樣式表”,我感到這樣順口一點,沒別的意思。實際上它是一組樣式。你可能對CSS這個名詞比較陌生,實際上無論你用Internet Explorer還是Netscape Navigator在網上衝浪,幾乎隨時都在與CSS打交道,在網上沒有使用過CSS的網頁可能不好找。不管你用什么工具軟件制作網頁,都有在有意無意地使用CSS。用好CSS能使你的網頁更加簡煉,為什么同樣內容的網頁,有的人做出來有幾十KB,而高手做出來只有十幾KB,CSS在其中的作用是不言而喻的。我把我在使用CSS中的一些小經驗以及一些網友來信提問的問題整理出來,供諸位參考。

  1、CSS在網頁制作中一般有三種方式的用法,那么具體在使用時該採用哪種用法?
  當有多個網頁要用到的CSS,採用外連CSS文件的方式,這樣網頁的代碼大大減少,修改起來非常方便;只在單個網頁中使用的CSS,採用文檔頭部方式;只有在一個網頁一、兩個地方才用到的CSS,採用行內插入方式。

  2、CSS的三種用法在一個網頁中要以混用嗎?
  三種用法可以混用,且不會造成混亂。這就是它為什么稱之為“層疊樣式表”的原因,瀏覽器在顯示網頁時是這樣處理的:先檢查有沒有行內插入式CSS,有就執行了,針對本句的其它CSS就不去管它了;其次檢查頭部方式的CSS,有就執行了;在前兩者都沒有的情況下再檢查外連文件方式的CSS。因此可看出,三種CSS的執行優先級是:行內插入式、頭部方式、外連文件方式。

  3、在Dreamweavermx中如何使外部文件式CSS?
  在Dreamweavermx中使用外連文件式CSS並沒有特殊要求,同樣是用記事本創建一個*.css文件,在網頁的<head>與</head>之間加上一句這樣的代碼:<link rel="stylesheet" href="在這裏填上你的CSS文件地址(相對路徑+文件名)" type="text/css"> 就行了。

  4、如何用Dreamweavermx快速創建CSS外連式文件?
  對於一個初接觸CSS的網頁設計人員來講,要用記事之類的編輯器,去創建一個CSS外連式文件是相當困難的。由於Dreamweavermx對CSS支持的很好,用它來幫助就輕松多了。具體可以這樣操作:
  1)先在紙上寫好在網站的網頁中可能要用到的格名稱,然後在Dreamweavermx的編輯窗中調出CSS面板,一個一個地定義,並在一個空白頁上適當地寫一點相關內容,邊定義邊試用,效果不滿意,立即修改;
  2)全部定義好後,再用記事本創建一個空的CSS外連式文件,把在<head>與</head>之間的那段定義好的CSS復制到CSS文件中去,就大功告成了。整個過程就是點鼠標,方便吧?

  5、在Dreamweavermx中採用行內插入式CSS要手動寫代碼嗎?
  不用!先用CSS面板定義好要用的CSS,然後,在要插入CSS的標記插入:style="",再把你剛才定義的CSS從<head>後面拖到這個雙引號中來,把花括號以外的部分刪去就行了。

  6、在方檔頭部方式和外連文件方式的CSS中都有“<!--”和“-->”,好象沒什么用,不要可以嗎?
  這一對東東的作用是為了不引起低版本瀏覽器的錯誤。如果某個執行此頁面的瀏覽器不支持CSS,它將忽略其中的內容。雖然現在使用不支持CSS瀏覽器的人已很少了,由於互聯網上幾乎什么可能都會發生,所以還是留著為妙。

  7、如何給一部分文字加背景色?
  給文字加上不同顏色,在Dreamweavermx中只要在屬性面板上選取文字的顏色就行了,非常方便,但要給部分文字加不同的背景色卻沒有相應的功能,我們可以先做一個定義背景色的CSS(如:bgstyle),在Dreamweavermx中點幾下鼠就完成了。如一個定義淡黃色背景的CSS是這樣的:
  <style type="text/css">
  <!--
  .bgstyle { background: #FFFFCC}
  -->
  </style>
  在要用時選取那段文字,再在CSS面板上點一下“bgstyle”就行了。

  8、如何給部分文字加背景圖像?
  與加背景色操作類似,中是在背景在選擇加載圖象就是了,一個定義好的加背景圖象的CSS例子的代碼是這樣的:
  <style type="text/css">
  <!--
  .imgbgstyle { background-image: url(logo.gif)}
  -->
  </style>
  在要用時選取那段文字,再在CSS面板上點一下“imgbgstyle”就行了。

  9、如何使頁面的背景在文字“滾動”時背景圖案靜止不動?
  要使背景圖案不隨文字“滾動”的CSS是這樣的:
  <style type="text/css">
  <!--
  BODY { background: purple url(bg.jpg);
  background-repeat:repeat-y;
  background-attachment:fixed  
    }
  -->
  </style>

  10、如何定義字間距?
  在Dreamweavermx中CSS的屬性定義對話框(Style Definition for .style1)的“Block”上的“letter spaceing”屬性定義的就是字間距,它指的是每一個字符之間的額外間距,經長度為單位,正負值均可,當取負值時產生字符擠在一起的效果。下面代碼是一個定義好的字間距CSS例子:
<style type="text/css">
<!--
.style1 { letter-spacing: 3px}
-->
</style>

  11、如何給文字加上劃線、下劃線、刪除線和閃爍?
  在Dreamweavermx中CSS的屬性定義對話框(Style Definition for .style1)的“Type”上的“decoration”屬性定義的就是這些內容,要注意的是閃爍屬性有些版本的瀏覽器不支持,少用為好。下面是一個定義好上述效果的CSS例子:
<style type="text/css">
<!--
.style1 { text-decoration: underline overline line-through blink}
-->
</style>
  其中: “underline”是定義下劃線;“overline ”是定義上劃線;“ line-through”定義的是刪除線;“blink”定義的是文字閃爍。

  12、如何使網頁具有“首行縮進”功能?
  由於Dreamweavermx輸入空格不方便,利用“首行縮進”將彌補這個不足。在Dreamweavermx中CSS的屬性定義對話框(Style Definition for .style1)的“Block”上的“text-indent”屬性定義的就是“首行縮進”,所謂“首行”是指每段內容的第一行,也就是直接按回車鍵就形成了一個新的段落。縮進最好以“em”(字符)為單位,比如:漢字編排要求每段開始縮進兩個漢字,設置好的CSS如下所示:
  <style type="text/css">
  <!--
  .style1 { text-indent: 2em}
  -->
</style>
  在Dreamweavermx要注意:在DWmx中CSS的屬性定義對話框(Style Definition for .style1)的“Block”上的“text-indent”右面的縮進單位選擇框中“ems”指的就是“em”。

  13、在用表格進行排版時,能使某一方向上的內容離開表格線一點嗎?
  可以!在Dreamweavermx中CSS的屬性定義對話框(Style Definition for .style1)的“Box”上的“margin”定義的就是內容離開邊緣的距離,分別可定義四個方向:“top”“bottom”“left”“right”。下面就是定義在左邊離開“10px”的CSS例子代碼:
  <style type="text/css">
  <!--
  .style1 { margin: 0px 0px 0px 10px}
  -->
  </style>

  14、能給某部分內容加邊框嗎?
  用CSS可以給某部分內容加邊框,在Dreamweavermx中CSS的屬性定義對話框(Style Definition for .style1)的“Border”定義的就是邊框線,“top”“bottom”“left”“right”四邊可分別定義線的粗細和顏色,這些定義好後不要忘記在下面的“Style”中定義線型,否則將看不邊框線,因為默認的線型是“none”。下面是一個定義了上邊框為:藍色細線;左邊框為:綠色中粗線的CSS例子:
  <style type="text/css">
  <!--
  .style1 { border: solid; border-width: thin 0px 0px medium; border-  color: #0000FF black black #00FF00}
  -->
</style>
發表人: pierre    時間: 2005-3-28 04:27 PM

推一下
欣賞一下 css 的美,同一個網頁內容,開放給全世界的的人用 css 自由設計~~
http://www.csszengarden.com/

我是純欣賞...
發表人: jocosn    時間: 2005-3-29 10:40 PM

補充一下 CSS 內設定濾鏡
請注意,濾鏡只能在 IE 下執行。如果你是用 firefox 等這類的瀏覽器,則無法看到效果。

濾鏡基本語法規則
    filter : filtername(parameters) 


濾鏡名稱與功能描述
1. alpha 透明度變化效果
filter : alpha(opacity=opacity, finishOpacity=finishopacity, style=style,
      startX=startX, startY=startY, finishX=finishX, finishY=finishY)
  · opacity  透明度等級,範圍 0~100,0 表完全透明,100 表完全不透明
  · finishopacity 設定結束時的透明度(可省略),可做漸變效果,範圍 0~100
  · style 指定透明區域的形狀。
      0 代表均勻形狀;1 線形;2 放射狀;3 長方形
  · startX 和 startY   漸變透明效果的開始坐標
  · finishX 和 finishY  漸變透明效果的結束坐標


[範例]
filter:Alpha(Opacity="0", FinishOpacity="40", Style="2";)

2. blur 模糊效果

3. dropshadow   陰影投射
filter : dropshadow(color=color, offx=offx, offy=offy, positive=positive)
  · color  投射陰影的顏色
  · offx   水平方向陰影的偏移量
  · offy  垂直方向陰影的偏移量
  · positive 非透明處建立投影,為布林值
     值為 true(或1),非透明處建立可見的投影
     值若為 false(或0),透明部分建立透明效果


4. flipH 水平翻轉

5. flipV 垂直翻轉

6. glow 邊界增加色彩光效

7. gray 灰階形式顯示

8. invert 將色彩、飽和度以及亮度值完全反轉,類似底片效果

9. light 燈光投影
  · AddAmbient  加入包圍的光源
  · addcone    加入錐形光源
  · addpoint    加入點光源
  · changcolor   改變光的顏色
  · changstrength 改變光源的強度
  · clear     清除所有的光源
  · movelight   移動光源

       
10. mask 彩色透明遮罩
filter : mask(color=color)

11. shadow 在指定的方向建立物體的陰影
filter : shadow(color=colorName, direction=dirextion)
  · color 是投影色
  · direction 是設置投影的方向,0 度代表垂直向上,每45度
        為一個單位,預設值是 270 度。


12. wave  建立波形效果
filter : wave(add=add, freq=freq, lightstrength=strength,
     phase=phase, strength=strength)
  · add  是否按照波形樣式打亂
  · freq  波形的頻率
  · lightstrength 波形增強光影的效果,範圍 0~100
  · phase   正弦波的偏移量
  · strength  波形振幅大小


13. xray 類似X光片

[註] shadow 屬性可設定任意角度的陰影投射
        dropshadow 屬性是用偏移量來定義陰影


想看效果可點以下連結某個熱心人士的網頁http://spaces.msn.com/members/ge ... 4sFC7C_1A!758.entry

Javascript 動態濾鏡使用示範
<html>
<head>
<script>
      var oc=0;
      function fadeIn() {
        image1.style.filter="Alpha(opacity="+oc+", finishopacity=0, style=2)"
        if(oc!=100) setTimeout('oc++; fadeIn()',40);
        else setTimeout('fadeOut()',5000);
      }

      function fadeOut() {
        image1.style.filter="Alpha(opacity="+oc+", finishopacity=0, style=2)"
        if(oc!=0) setTimeout('oc--;fadeOut()',40);
        else setTimeout('fadeIn()',1000);
      }
</script>
</head>
<body onload="fadeIn()">
    <p id="image1" style="filter:Alpha(opacity=0,finishopacity=0,style=2)">
      <img src="./pics/EMAIL.jpg">
    </p>
</body>
</html>

[jocosn 在 2005-3-31 03:53 PM 作了最後編輯]
發表人: jocosn    時間: 2005-3-29 10:58 PM

補充第 2 點的 CSS的三種用法:行內插入式、頭部方式、外連文件方式

HTML中引入CSS的各種方法::icons8

1. 外連文件方式----使用<LINK> 連結外部樣式表單
範例
<HEAD>
  <TITLE>My Stylesheet</TITLE>
  <LINK REL=stylesheet HREF="mystyles.css" TYPE="text/css">
</HEAD>

應用CSS文件的一個最大好處就是:
  A) 你可以在每個HTML文件中引用這個文件,從而可使整個站台的HMTL文件在
    風格上保持一致,避免重復的CSS屬性設置;
  B) 另外,當你遇上改版或作某些重大調整要對風格進行修改時,可直接修改這
    個CSS文件


2. 頭部方式----把定義語句放在<HEAD>和</HEAD>標簽之間
這種風格定義產生作用的範圍也只局限於該網頁

範例
<HEAD>
<Style Type="text/css">
 <!--
  td { color: green; font-size: 15px; font-family: Arial }
 -->
</Style>
</HEAD>

3. 使用 "@import" 導入樣式設定檔案

範例
<STYLE TYPE="text/css">
<!--
  @import url(mystyles.css);
-->
</STYLE>

mystyles.css 檔案內容
-----------------
td { color: green; font-size: 15px; font-family: Arial }
.mytype1 { color:red; }
-----------------


4. 直接插入式(行內插入式)

在HTML標籤內直接加上CSS屬性就可以了。

範例
  <Table style="color:red;font-size:10pt">

[jocosn 在 2005-3-29 11:21 PM 作了最後編輯]
發表人: jocosn    時間: 2005-3-29 11:45 PM

補充一下,詳細說明請見本小弟的網頁

1. 具體值(specificity)
較高的具體值,其樣式規則會覆蓋具體值較低的樣式規則。
繼承的具體值: 0
類別選取項的具體值: 10
id識別選取項的具體值: 100

[例]
p {color:red;}
#mystyle {color:blue;}

當你如下設定時
<p>p標籤未設定id值時,樣式指定紅色顏色 </p>
<p id="mystyle">p標籤設定 id 值為 mystyle 時,樣式指定顏色變為藍色。</p>

網頁顯示結果:
p標籤未設定id值時,樣式指定紅色顏色。
p標籤設定id值為 mystyle時,樣式指定顏色變為藍色。



2. 重要規則( important rule)
重要規則指可讓某個特定規則永遠高於其它規則。
A) 語法為在樣式規則裏的結束分號之前插入 !important 作為標記。
B) 被標示為 !important 的規則並沒有被定義一個具體值的值,但可以假設其有很高的具體值,例如30000000。。

[範例]
p.mystyle { color:blue !important; background-color:white; }
發表人: jimesony    時間: 2005-7-28 12:13 AM

太豐富了.
感謝你的分享..受益良多
發表人: chads    時間: 2005-8-9 01:05 PM

很棒的東西唷.....
對我工作還蠻有幫助低....
感恩




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0