1. 程式人生 > >有關HTML框架和內聯框架的具體屬性

有關HTML框架和內聯框架的具體屬性

  上一篇文章講到了HTML框架和內聯框架的區別,其實學習完過後會發現內聯框架就是一種特殊的框架,這一節就來介紹一下他們各自的屬性吧。

 HTML框架

框架結構標籤:<frameset>

主要是定義如何將視窗分割成幾部分,每一個部分都可以放置新的頁面;

每個<frameset>標籤都定義了一行或者是一列,rows和columns分別規定了每行和每列所佔的螢幕面積;

框架的結構主要有三種:垂直結構,水平結構以及混合結構

  • 垂直框架
<frameset cols="25%,50%,25%">

  <frame src="/example/html/frame_a.html">
  <frame src="/example/html/frame_b.html">
  <frame src="/example/html/frame_c.html">

</frameset>
  從上面的程式碼可以看到,在<frameset>標籤中還包含了一個<frame>標籤,<frame>標籤也是框架標籤,它定義frameset中的一個特定的框架,它裡面可以包含很多屬性,比較常用的就是src,這個屬性是用來顯示文件的連結,比如上面的用法。上面的程式碼可以看出FrameA和FrameB以及FrameC所佔的比例是1:2:1,可以想象一下結果是什麼樣子的,結果如下圖


  • 水平框架
<frameset rows="25%,50%,25%">

  <frame src="/example/html/frame_a.html">
  <frame src="/example/html/frame_b.html">
  <frame src="/example/html/frame_c.html">

</frameset>

和垂直框架幾乎一樣,只是將cols改成了rows,結果如下:


  • 混合框架
<frameset rows="50%,50%">

<frame src="/example/html/frame_a.html">

<frameset cols="25%,75%">
<frame src="/example/html/frame_b.html">
<frame src="/example/html/frame_c.html">
</frameset>

</frameset>

混合框架相較於垂直和水平要複雜一點兒,上面的程式碼的意思就是先將頁面分為上下兩部分,且兩部分平分,上面一部分放FrameA,下面一部分放FrameB和FrameC,其中B:C=1:3,效果圖如下


以上三種是比較簡單的HTML框架,下面的幾種就是比較難理解一點兒的框架

  • 導航框架

<frameset cols="120,*">
<frame name="index" src="index.htm" />
<frame name="content" src="frame_a.htm" />
</frameset>
上面的程式碼的意思就是在頁面中分120px的寬度給導航欄,其他的區域用來顯示content中的內容,而index區域則放導航欄的連結。

那麼如何通過點選左邊的導航欄的連結跳轉到相應的內容呢,這個時候就需要用到target屬性了,即目標的意思,在另外一個檔案中寫好,然後進行呼叫

<html>
<body>

<a href ="/example/html/frame_a.html" target ="content">Frame a</a><br />
<a href ="/example/html/frame_b.html" target ="content">Frame b</a><br />
<a href ="/example/html/frame_c.html" target ="content">Frame c</a>

</body>
</html>

這個就是index中進行呼叫的index.htm檔案,裡面有三個<a>標籤,進行呼叫三個框架,target預設的是在當前瀏覽的視窗開啟,也就是所通過href呼叫三個框架,在coment區域進行顯示。

最終實現的效果圖如下


左邊是導航欄,右邊預設顯示的是A框架,當點選相應的連結時會出現相應的框架,這個就是導航欄的基本用法了。

  • 跳轉至框架內的一個指定的節
<frameset cols="20%,80%">

 <frame src="/example/html/frame_a.html">
 <frame src="/example/html/link.html#C10">

</frameset>

上面程式碼的意思是說左邊20%給框架A,右邊80%顯示一個可以指定章節的框架,上面的link.html#c10指的就是在每次開啟瀏覽器都會將Chapter 10顯示在最頂部,這就是指定節的一個方法,效果圖如下:


如圖,前面還有很多Chapter,這裡因為指定了Chapter 10,所以會直接從Chapter 10開始,這個和目標錨很像,但是又有所不同。

  • 使用框架導航跳轉至指定的節
<frameset cols="180,*">

<frame src="/example/html/content.html">
<frame src="/example/html/link.html" name="showframe">

</frameset>

這個也是將框架分成了兩邊,但是比較特殊,更像是上面兩種框架的結合,左邊是一個導航框架,右邊是一個可以指定文字的框架;效果如下


<html>
<body>

<a href ="/example/html/link.html" target ="showframe">沒有錨的連結</a><br />
<a href ="/example/html/link.html#C10" target ="showframe">帶有錨的連結</a>

</body>
</html>

如果有認真看前面的內容的話,應該就可以理解這個的意思,就是在帶有錨的連結中加上了指定的章節,這個檔案就是前面呼叫的comment.html檔案,之所以能成為導航框架,是因為呼叫的是帶有連結的檔案。

  • 含有noresize="noresize"屬性的框架

這個框架比較好理解,就是在上面的框架上加上一個屬性,noresize的作用就是用來固定框架,因為預設的框架是可以通過滑鼠進行移動的,如果不想進行移動的話,在<frame>中加上noresize就可以了,比如

<frameset cols="50%,*,25%">
  <frame src="/example/html/frame_a.html" noresize="noresize" />
  <frame src="/example/html/frame_b.html" />
  <frame src="/example/html/frame_c.html" />
</frameset>

這樣的效果就是框架A的右側不能進行移動。

HTML內聯框架

內聯框架可以說是上面那個框架中的一類,但是由於標籤進行了更改,所以單獨歸為一類。內聯框架的標籤是<iframe>,這個標籤和<frameset>最大的區別就在於它可以和<body>一起使用,並且是放在<body>裡面進行使用,它的主要功能是在網頁中劃分一個特定的區域進行顯示其他的網頁,可能我這樣說有點兒繞,接著往下看就明白了。

HTML內聯框架的屬性
  • 設定高度和寬度(width,height)

這個屬性主要是設定顯示新網頁的區域的大小,預設值是畫素,也可以用百分比來設定。

<body>


<iframe src="/example/html/demo_iframe.html" width="200" height="200"></iframe>


<p>某些老式的瀏覽器不支援內聯框架。</p>
<p>如果不支援,則 iframe 是不可見的。</p>


</body>

效果如下


如果將src中的URL換成網頁連結,就可以在這個小框框裡面瀏覽其他的網頁。

  • 設定邊框(frameborder)

這個屬性是為了設定瀏覽區域的邊框的有無,frameborder只能取值為0或1,如果想讓邊框的樣式更加豐富,就用CSS進行設計,一般不推薦在html中直接設定樣式。

  • 設定四周的空白邊距(marginheight,marginwidth)

其實這兩個屬性是分開使用的,marginheight是用來設定iframe的頂部和底部的空白邊距的,marginwidth是用來設定iframe的左邊和右邊空白邊距的,這兩個屬性的取值都是畫素值。

  • name屬性

規定iframe的名稱,主要用於在JavaScript中引用元素,或者作為連結目標,以下例項可以幫助理解

<iframe src="/example/html/demo_iframe.html" name="iframe_a">
  <p>Your browser does not support iframes.</p>
</iframe>
<a href="http://www.w3school.com.cn" target="iframe_a">W3School.com.cn</a>

注意name裡面的值和target中的值要相同,因為<a>是通過target和name進行匹配,name在iframe中,而target在<a>中,即點選<a>中的連結時,會在iframe框定的區域中進行顯示,效果如下:


  • sandbox屬性

sandox屬性是HTML5中的新屬性,它可以保證網頁的安全,它的屬性值有

“ ”應用以下所有的限制。
allow-same-origin允許iframe內容被視為與包含文件有相同的來源。
allow-top-navigation允許iframe內容從包含文件導航(載入)內容。
allow-forms允許表單提交
allow-scripts允許指令碼執行

這個我就不展開了,如果覺得不太明白的可以去w3school進行例項練習,那樣更容易理解。

  • 設定是否有滾動條(scrolling)

這個屬性比較好理解,預設情況下,如果內容超出了iframe,滾動條就會出現在iframe中,它可以取auto(在需要的情況下出現滾動條,也是預設值),yes(始終顯示滾動條,即使不需要),no(從不顯示滾動條,即使需要)。

  • 設定顯示文件的URL(src)

這個屬性是最常用到的,也可以說是必須的,因為框架裡面不管放什麼內容,都是需要用src進行選擇的,它的取值只能是URL,但是URL可以是相對和絕對兩種。

好了,今天的內容也即將結束了,對於<iframe>標籤的屬性,我有的沒有總結,只是將比較常用或者說是常見的列出來了,有什麼希望可以指出。