Jump to content
xisto Community
Sign in to follow this  

Advanced Html Frame Tag Frames and Tables

Recommended Posts



Frame syntax is similar in scope and complexity to that used by tables, and has been designed to be quickly processed by Internet client layout engines.


This is the main container for a Frame. It has 2 attributes ROWS and COLS. A frame document has no BODY, and no tags that would normally be placed in the BODY can appear before the FRAMESET tag, or the FRAMESET will be ignored. The FRAMESET tag has a matching end tag, and within the FRAMESET you can only have other nested FRAMESET tags, FRAME tags, or the NOFRAMES tag.



The ROWS attribute takes as its value a comma separated list of values. These values can be absolute pixel values, percentage values between 1 and 100, or relative scaling values. The number of rows is implicit in the number of elements in the list. Since the total height of all the rows must equal the height of the window, row heights might be normalized to achieve this. A missing ROWS attribute is interpreted as a single row arbitrarily sized to fit.


Syntax of value list.


A simple numeric value is assumed to be a fixed size in pixels. This is the most dangerous type of value to use since the size of the viewer's window can and does vary substantially. If fixed pixel values are used, it will almost certainly be necessary to mix them with one or more of the relative size values described below. Otherwise the client engine will likely override your specified pixel value to ensure that the total proportions of the frame are 100% of the width and height of the user's window.


This is a simple percentage value between 1 and 100. If the total is greater than 100 all percentages are scaled down. If the total is less than 100, and relative-sized frames exist, extra space will be given to them. If there are no relative-sized frames, all percentages will be scaled up to match a total of 100%.


The value on this field is optional. A single '*' character is a "relative-sized" frame and is interpreted as a request to give the frame all remaining space. If there exist multiple relative-sized frames, the remaining space is divided evenly among them. If there is a value in front of the '*', that frame gets that much more relative space. "2*,*" would give 2/3 of the space to the first frame, and 1/3 to the second.


Example for 3 rows, the first and the last being smaller than the center row:

	<FRAMESET ROWS="20%,60%,20%">

Example for 3 rows, the first and the last being fixed height, with the remaining space assigned to the middle row:

	<FRAMESET ROWS="100,*,100">	COLS="column_width_list"
The COLS attribute takes as its value a comma separated list of values that is of the exact same syntax as the list described above for the ROWS attribute.



The NORESIZE attribute has no value. It is a flag that indicates that the frame is not resizable by the user. Users typically resize frames by draggin a frame edge to a new position. Note that if any frame adjacent to an edge is not resizable, that entire edge will be restricted from moving. This will effect the resizability of other frames.The NORESIZE attribute is optional; by default all frames are resizable.


The FRAMESET tag can be nested inside other FRAMESET tags. In this case the complete subframe is placed in the space that would be used for the corresponding frame if this had been a FRAME tag instead of a nested FRAMESET.

This tag defines a single frame in a frameset. It has 6 possible attributes: SRC, NAME, MARGINWIDTH, MARGINHEIGHT, SCROLLING, and NORESIZE. The FRAME tag is not a container so it has no matching end tag.

The SRC attribute takes as its value the URL of the document to be displayed in this particular frame. FRAMEs without SRC attributes are displayed as a blank space the size the frame would have been.



The MARGINWIDTH attribute is used when the document author wants some control of the margins for this frame. If specified, the value for MARGINWIDTH is in pixels. Margins can not be less than one-so that frame objects will not touch frame edges-and can not be specified so that there is no space for the document contents. The MARGINWIDTH attribute is optional; by default, all frames default to letting the browser decide on an appropriate margin width.



The MARGINHEIGHT attribute is just like MARGINWIDTH above, except it controls the upper an lower margins instead of the left and right margins.



The SCROLLING attribute is used to describe if the frame should have a scrollbar or not. Yes results in scrollbars always being visible on that frame. No results in scrollbars never being visible. Auto instructs the browser to decide whether scrollbars are needed, and place them where necessary. The SCROLLING attribute is optional; the default value is auto.



The NAME attribute is used to assign a name to a frame so it can be targeted by links in other documents (These are usually from other frames in the same document.) The NAME attribute is optional; by default all windows are unnamed.

Names must begin with an alphanumeric character.

Named frames can have their window contents targeted with the new TARGET attribute.


This tag is for content providers who want to create alternative content that is viewable by non-Frame-capable clients. A Frame-capable Internet client ignores all tags and data between start and end NOFRAMES tags.






Attribute Specifications


ALIGN=[ left | center | right ] (table alignment)

SUMMARY=Text (purpose/structure of table)

WIDTH=Length (table width)

BORDER=Pixels (border width)

FRAME=[ void | above | below | hsides | lhs | rhs | vsides | box | border ] (outer border)

RULES=[ none | groups | rows | cols | all ] (inner borders)

CELLSPACING=Length (spacing between cells)

CELLPADDING=Length (spacing within cells)

BGCOLOR=Color (table background color)




these again are courtesy of various websites and books i own and information i have gathered and comiled into a MS word .doc


credit goes to the originators of this information.


Notice from BuffaloHELP:
When you copy from another source you must use QUOTE tags. If your post consists of more than 10% quote, provide link instead. Site source http://forums.xisto.com/no_longer_exists/

Edited by BuffaloHELP (see edit history)

Share this post

Link to post
Share on other sites

That's a good summary of Frames and Tables. Biggest problem is they are both 'frowned upon' in the current Web Development environment. Frames are not very search friendly and can't be linked to. Tables make for poor structuring on a site, although there are some uses for them with certain data, they should not be used for the 'layout' of the page.The w3c specs also allow for the <iframe> tag which you didn't mention. Perhaps some info on that could be included on your next posting?

Share this post

Link to post
Share on other sites

That's a good summary of Frames and Tables. Biggest problem is they are both 'frowned upon' in the current Web Development environment.

Tables are fine for displaying tabular data, but unfortunately, a lot of the attributes provided in the example have been deprecated since HTML 4.

Share this post

Link to post
Share on other sites

Yeah so basically unless you are a newbie web developer you definitely should not be using tables for your site. Instead you need to use css and divs since it is web spider friendly and will improve your rating since it can be indexed better. Plus, it gives you sooo much more flexibility along with a lot easier way to change the look of your site by just editing the css file.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.