frameset標簽設計頁面


重要事項:不能將 <frameset></frameset> 標簽放在<body></body> 標簽里。且 HTML5 已經不支持 frameset 標簽的使用!!!

1、frameset 元素可定義一個框架集,它被用來組織多個窗口(框架)。每個框架存有獨立的文檔。配合<frame></frame>框架的使用,我們可以對頁面進行分割,局部刷新。合理的使用會給用戶帶來非常好的體驗效果。

 

2、frameset 的幾個屬性:

①、cols:定義框架集中列的數目和尺寸。垂直切割畫面(如分左右兩個畫面),接受整數值、百分數, * 則代表占用剩余的空間。數值的個數代表分成的視窗數目且以逗號分隔。例如 COLS="30,*,50%" 可以切成三個視窗,第一個視窗是 30 pixels 的寬度,為一絕對分割,第二個視窗是當分配完第一及第三個視窗后剩下的空間,第三個視窗則占整個視窗畫面的 50% 寬度為一相對分割。你可自己調整數字。

②、rows:定義框架集中行的數目和尺寸。這是橫向切割,將畫面上下分開,數值設定同上。 COLS 與 ROWS 兩參數盡量不要放在同一個 標記中,因 Netacape 偶然不能顯示這類型的框架,盡量采用多重分割。

③、frameborder:設定框架的邊框,其值只有 0 和 1 , 0 表示不要邊框, 1 表示要顯示邊框。

④、border:設定框架的邊框厚度。

⑤、bordercolor:設定框架的邊框顏色。

⑥、framespacing:表示框架與框架間保留的空白的距離。

 

 

3、frame 標簽的屬性: 

①、name:設定框架名稱。此為必須設置的屬性。

②、src:設定此框架要顯示的網頁名稱或路徑。此為必須設置的屬性。

③、scrolling:設定是否要顯示滾動條。設定值為auto, yes, no。

④、bordercolor:設定框架的邊框顏色。

⑤、frameborder:設定是否顯示框架邊框。設定值只有0、1;0 表示不要邊框,1 表示要顯示邊框。

⑥、noresize:設定框架大小是否能手動調節。

⑦、marginwidth:設定框架邊界和其中內容之間的寬度。

⑧、marginhight:設定框架邊界和其中內容之間的高度。

⑨、width:設定框架寬度。

⑩、height:設定框架高度。

 

4、frameset使用實例:

如果要實現下面的效果

 

 

 頁面分為三部分,頂部,左邊和右邊。其中點擊左邊的超鏈接,右邊的框架頁面會相應變化。

整體頁面:main.html

1 <frameset rows="11%,*" border="1px" framespacing="0">
2         <frame src="top.html" name="top" frameborder="0" />
3         <frameset cols="12%,*"   framespacing="0" framespacing="0">
4             <frame src="left.html" name="left" scrolling="auto"/>
5             <frame src="right.html" name="right" scrolling="auto"/>
6         </frameset>
7 </frameset>

top.html,right.html就是一個空頁面,left.html如下:

1 <!-- 左邊菜單欄顯示-->
2     <div >
3         <ul >
4             <li ><a href="taskCreate.html" target="right" id="taskCreat">任務創建</a></li>
5             <li ><a href="taskManage.html" target="right">任務管理</a></li>
6             <li ><a href="#" target="right" >數據集管理</a></li>
7             <li ><a href="#" target="right" >模型管理</a></li>
8         </ul>
9     </div>

頁面的分層顯示,主要就是 frameset 標簽中對於 cols 和 rows 的使用,在配合 frame 標簽的嵌套。而想要達到點擊左邊的菜單欄,右邊的frame 相應發生變化,那必須要認識屬性

target:規定在何處打開鏈接文檔。瀏覽器將會載入和顯示用這個標簽的 href 屬性命名的、名稱與這個目標吻合的框架或者窗口中的文檔。即 main.html 中,<frame name="target值">,這里的 name 屬性值為多少,那么 left.html 中,<a target="name值"> 這里要相等。

 

5、如何在子頁面中獲取父頁面所在的frameset中的其它的frame中的元素?

即如何在 right.html 中獲取 left.html中<a></a>標簽的屬性值等等

$(parent.parent.mainFrame.document).contents().find("body").html();  //manFrame指的是你想要查看的那個frame的id

比如上面的 left.html頁面中,任務創建的 ID 為 taskCreat,那么我們可以這樣獲取:並改變它的 class 屬性。

$(parent.parent.left.document).contents().find("#taskCreat").attr("class","list-group-item");

 6、frameset 的優缺點

我們知道,目前的 HTML5 標准已經不支持 frameset 了,雖然使用它重載頁面時不需要重載整個頁面,只需要重載頁面中的一個框架頁(減少了數據的傳輸,加快了網頁下載速度)。但是它也有很多缺點,比如瀏覽器的后退按鈕是沒用的;會產生很多頁面,不易管理;代碼復雜,不易被搜索引擎搜索;小型移動設備顯示不全;多框架的頁面會增加服務器 http 請求等等。所以對於 frameset 的使用我們需要慎重,而且現階段的 DIV+CSS 用來實現這個功能也是可以的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 jsp頁面中frameset的使用方法 關於框架iframe frame frameset的關系結合a標簽的target的應用 HTML標簽天天練6--