国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

快速精通FRAME(上)

2024-04-27 13:52:52
字體:
供稿:網(wǎng)友
  FRAME(框架)是Web上經(jīng)常會看到的頁面結(jié)構(gòu)。使用可視Web開發(fā)工具(比如Dreamweaver或者Frontpage),雖然可以在WYSIWYG環(huán)境中通過簡單的鼠標(biāo)托拽完成FRAME的構(gòu)建,但是要實(shí)現(xiàn)真正細(xì)致甚至強(qiáng)大的功能,仔細(xì)理解FRAME的代碼結(jié)構(gòu)至關(guān)重要!你將發(fā)現(xiàn),F(xiàn)RAME原來是這樣的親切易用。

  創(chuàng)建基本的FRAMESET

  FRAMESET頁面與普遍的Web頁面有些不同。雖然仍舊以<HTML>和包含標(biāo)題的<HEAD>標(biāo)記以及其他腳本開始,但是其內(nèi)容僅僅是表示的各個(gè)頁面的版式設(shè)計(jì)。因此,不再需要有<BODY>元素,只需要<FRAMESET>標(biāo)記。

  通過<FRAMESET>標(biāo)記的<rows>和<cols>屬性,瀏覽器窗口被分割為一個(gè)個(gè)格子。<rows>和<cols>的設(shè)置值可以是固定的像素值,可以是總空間的百分比值,還可以是用*以及一個(gè)數(shù)字相乘表示的分割剩余空間的比例值。比如說:

cols="80,20%,*"分為3列,寬度分別為80像素,窗口寬度的20%,以及剩余寬度
rows="25%,75%"分為2列,寬度分別為窗口寬度的25%和75%
rows="*,3*"與上述第2個(gè)表示的一樣,分為2列,但表示方法不同:第一列寬度為第二列的1/3

  在<FRAMESET>和</FRAMESET>之間,用多個(gè)<FRAME>標(biāo)記表示每個(gè)分割區(qū)。col表示從左到右的列,row表示從上到下的行。每個(gè)<FRAME>有一個(gè)src屬性,給出了這個(gè)FRAME的內(nèi)容。它可以是瀏覽器能顯示的任何一個(gè)合法URL,或者是另外一個(gè)FRAMESET。為預(yù)防遞歸現(xiàn)象,一個(gè)FRAME不能包含它本身所在的FRAMESET頁面。要用name屬性定義FRAME的名字,這樣就可以在代碼或者腳本程序中引用它。 請看一段基本的FRAMESET代碼:

<HTML>
<HEAD>
<TITLE>Simple FRAMESET</TITLE>
</HEAD>
<FRAMESET cols="40%,60%" rows="2*,*">
<FRAME name="TopLeft" src="red.htm">
<FRAME name="TopRight" src="green.htm">
<FRAME name="BotLeft" src="blue.htm">
<FRAME name="BotRight" src="white.htm">
</FRAMESET>
</HTML>

<FRAMESET rows="105,*">
<FRAME name="adbanner" src="ad.html">
<FRAMESET cols="40%,60%">
<FRAME name="left" src="red.htm">
<FRAMESET rows="*,*">
<FRAME name="top" src="blue.htm">
<FRAME name="bottom" src="white.htm">
</FRAMESET>
</FRAMESET>
</FRAMESET>

  FRAME間的鏈接

  一個(gè)FRAMESET結(jié)構(gòu)的頁面,新文檔只轉(zhuǎn)載進(jìn)窗口的一部分中,而其他頁面則保持靜態(tài)不變。當(dāng)用戶點(diǎn)擊FRAME中的鏈接時(shí),新內(nèi)容就在同一FRAME內(nèi)打開。要讓新內(nèi)容在其他FRAME中打開,可以設(shè)置<A>標(biāo)記的target屬性值為那個(gè)FRAME的name值。

  而且,我們還可以設(shè)置打開目標(biāo)為當(dāng)前可見的任意一個(gè)FRAME,而不局限于本身的FRAMESET。目標(biāo)可能是一個(gè)嵌套的FRAMESET中的FRAME,也可能是其他窗口中的FRAME。但是如果目標(biāo)FRAME不存在,就會產(chǎn)生一個(gè)帶有目標(biāo)FRAME名字的新窗口。

  下面舉個(gè)例子說明一下,假設(shè)有一個(gè)簡單含2-FRAME的FRAMESET,文件名叫做home.html,代碼如下:

<HTML>
<HEAD><TITLE>FrommCo home page</TITLE></HEAD>
<FRAMESET cols="115,*">
 <FRAME src="menu.htm">
 <FRAME name="content" src="main.htm">
</FRAMESET>
</HTML>

  文件menu.htm在左邊的FRAME中,其中有一系列鏈接,點(diǎn)擊它們后新內(nèi)容將在右邊的叫做content的FRAME中打開。下面是menu.html的代碼:

<HTML><HEAD></HEAD>
<BODY><P><BR>
<IMG src="Images/tmp_logo.gif" alt="FrommCo"><P>
<A href="main.htm"  target="content">Main page</A><P>
<A href="mission.htm"  target="content">Our mission</A><P>
<A href="staff.htm"  target="content">Our staff</A><P>
<A href="splash.htm"  target="_parent">FrommCo splash page</A>
</BODY></HTML>

  請注意最后一個(gè)鏈接中target的定義為_parent,這屬于4個(gè)特殊的保留值。它們是:
  • _parent:在當(dāng)前FRAMESET位置顯示新href。
  • _top:在當(dāng)前整個(gè)窗口位置顯示新href,比如本身FRAMESET位于另一個(gè)FRAMESET中。
  • _self:強(qiáng)制在當(dāng)前FRAME中顯示新href。
  • _blank:在新窗口中顯示href。

  表示客戶端圖形地圖的<AREA>標(biāo)記同樣可以應(yīng)用target屬性,比如:

  <AREA shape=circle coords="75,75,50" href="main.htm" target="content" alt="Main page">

  還有一種經(jīng)常的情況是:Web頁面中的大部分或者全部鏈接都要求在一個(gè)特別的FRAME中打開。這時(shí),可以在頁面的<HEAD>代碼區(qū)使用<BASE>標(biāo)記設(shè)置默認(rèn)的target,然后再分別定義特殊鏈接的target值。

  修飾FRAME

  FRAMESET不僅在寬度、高度等方面具有可控制的數(shù)值,在美觀方面也同樣可以精確設(shè)置。

  默認(rèn)情況下,F(xiàn)RAMESET的FRAME間有一個(gè)凸起的邊沿,表示分割效果。如果不喜歡這個(gè),想營造“無縫連接”的效果,可以在<FRAME>標(biāo)記中設(shè)置FRAMEborder=0來消除它。在3.0及高版本的Navigator和Internet Explorer中,如果在<FRAMESET>標(biāo)記中設(shè)置FRAMEborder=0,那么除了設(shè)置為FRAMEborder=1的FRAME外,所有其他FRAME的邊沿都將消失。

  雖然設(shè)置了FRAMEborder=0,有些瀏覽器仍舊會在FRAME間保留一些邊沿的顏色痕跡。這時(shí),可以在<FRAMESET>標(biāo)記中添加FRAMEspacing=0(對Internet Explorer)或者border=0(對Navigator和Opera)實(shí)現(xiàn)真正的無縫連接。

  請看下面的代碼是如何使用這些屬性的:


<HTML>
<HEAD><TITLE>FrommCo home page</TITLE></HEAD>
<FRAMESET cols="115,*" FRAMEspacing=0 border=0>
 <FRAME src="menu.htm" FRAMEborder=0 noresize scrolling=no>
 <FRAME name="content" src="main.htm" FRAMEborder=0>
</FRAMESET>
</HTML> 


  上面的代碼中有2個(gè)新的屬性:noresize表示鎖住FRAME而不允許使用鼠標(biāo)改變大小,scrolling=no表示屏蔽FRAME的滾動條,scrolling=yes表示允許,scrolling=auto表示根據(jù)顯示內(nèi)容需要自動顯示滾動條。

  浮動FRAME

  浮動FRAME是HTML4.0規(guī)范中的一個(gè)定義,目前的瀏覽器都支持它。

  不象FRAMESET表示的分割區(qū)樣子,一個(gè)浮動FRAME作為一個(gè)內(nèi)置對象存在于Web頁面上,其樣式就象一個(gè)頁面上的一個(gè)圖形或者一個(gè)applet。浮動FRAME使用<IFRAME>標(biāo)記,它具有與<FRAME>相同的大多數(shù)屬性設(shè)置,包括:name、src、marginwidth、marginheight、FRAMEborder以及scrolling。同時(shí),它還具有與圖形或者applet一樣的height、width和align屬性。

  而且,浮動FRAME遵循與普通FRAME一樣的target原則:我們可以通過它的name來指向它。本原則適用于在任一類型FRAME中的浮動FRAME,反之易然。浮動FRAME中的沒有traget的鏈接指向它本身,而_parent鏈接則指向包含<IFRAME>的文檔所在的FRAME或者窗口。比如:


<IFRAME name="floater" src="start.htm" width=150 height=200 hspace=10 align=left>
 <IMG src="Images/noFRAME.gif" alt="You can't see the floating FRAME"
  width=150 height=200 hspace=10 align=right>
</IFRAME><BR>
<A href="one.htm"  target="floater">Show one.htm</A><P>
<A href="two.htm"  target="floater">Show two.htm</A><P>
<A href="start.htm"  target="floater">Bring back start.htm</A>

  注意,對應(yīng)支持<IFRAME>標(biāo)記的瀏覽器,任何位于<IFRAME>和</IFRAME>間的內(nèi)容都將忽略。反之,其中的內(nèi)容將顯示出來,這可以用作解釋當(dāng)前瀏覽器不支持<IFRAME>。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 从化市| 阆中市| 日照市| 陵川县| 通江县| 兴隆县| 阳原县| 和硕县| 安远县| 泰安市| 辽阳县| 曲阳县| 陕西省| 东莞市| 凤山市| 重庆市| 太和县| 昌黎县| 铜梁县| 五寨县| 永安市| 卫辉市| 普格县| 大港区| 集安市| 磴口县| 青浦区| 彭泽县| 德保县| 青川县| 溧阳市| 房产| 蛟河市| 南开区| 津南区| 武胜县| 富阳市| 镇康县| 山东| 台安县| 肥城市|