forked from ashwin6cs/study-welfare-tutorials
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathf11.html
283 lines (257 loc) · 13.6 KB
/
f11.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>HTML - Frames</title>
<link rel="shortcut icon" sizes="200*200" type="image/x-icon" href="logo1.jpg"></head>
<body style="background-color: aliceblue;color:rgb(90, 46, 194)">
<h2>HTML - Frames</h2>
<div class="clearer"></div>
<p>HTML frames are used to divide your browser window into multiple sections where each section can load a separate HTML document. A collection of frames in the browser window is known as a frameset. The window is divided into frames in a similar way the tables are organized: into rows and columns.</p>
<h2>Disadvantages of Frames</h2>
<p>There are few drawbacks with using frames, so it's never recommended to use frames in your webpages −</p>
<ul class="list">
<li><p>Some smaller devices cannot cope with frames often because their screen is not big enough to be divided up.</p></li>
<li><p>Sometimes your page will be displayed differently on different computers due to different screen resolution.</p></li>
<li><p>The browser's <i>back</i> button might not work as the user hopes.</p></li>
<li><p>There are still few browsers that do not support frame technology.</p></li>
</ul>
<h2>Creating Frames</h2>
<p>To use frames on a page we use <frameset> tag instead of <body> tag. The <frameset> tag defines, how to divide the window into frames. The <b>rows</b> attribute of <frameset> tag defines horizontal frames and <b>cols</b> attribute defines vertical frames. Each frame is indicated by <frame> tag and it defines which HTML document shall open into the frame.</p>
<blockquote><p><b>Note</b> − The <frame> tag deprecated in HTML5. Do not use this element.</p></blockquote>
<h3>Example</h3>
<p>Following is the example to create three horizontal frames −</p>
<pre style="background-color:azure; class="prettyprint notranslate">
<!DOCTYPE html>
<html>
<head>
<title>HTML Frames</title>
</head>
<frameset rows = "10%,80%,10%">
<frame name = "top" src = "/html/top_frame.htm" />
<frame name = "main" src = "/html/main_frame.htm" />
<frame name = "bottom" src = "/html/bottom_frame.htm" />
<noframes>
<body>Your browser does not support frames.</body>
</noframes>
</frameset>
</html>
</pre>
</div>
<a target="_blank" href="f11-1.html" class="w3-btn w3-margin-bottom"><button style="background-color:rgb(115, 126, 226);">Try it Yourself</button> »</a>
</div>
<h3>Example</h3>
<p>Let's put the above example as follows, here we replaced rows attribute by cols and changed their width. This will create all the three frames vertically −</p>
<pre style="background-color:azure; class="prettyprint notranslate">
<!DOCTYPE html>
<html>
<head>
<title>HTML Frames</title>
</head>
<frameset cols = "25%,50%,25%">
<frame name = "left" src = "/html/top_frame.htm" />
<frame name = "center" src = "/html/main_frame.htm" />
<frame name = "right" src = "/html/bottom_frame.htm" />
<noframes>
<body>Your browser does not support frames.</body>
</noframes>
</frameset>
</html>
</pre>
</div>
<a target="_blank" href="f11-2.html" class="w3-btn w3-margin-bottom"><button style="background-color:rgb(115, 126, 226);">Try it Yourself</button> »</a>
</div>
<h2>The <frameset> Tag Attributes</h2>
<p>Following are important attributes of the <frameset> tag −</p>
<table class="table table-bordered">
<tr>
<th>Sr.No</th>
<th style="text-align:center">Attribute & Description</th>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">1</td>
<td>
<p><b>cols</b></p>
<p>Specifies how many columns are contained in the frameset and the size of each column. You can specify the width of each column in one of the four ways −</p>
<p>Absolute values in pixels. For example, to create three vertical frames, use <i>cols = "100, 500, 100"</i>.</p>
<p>A percentage of the browser window. For example, to create three vertical frames, use <i>cols = "10%, 80%, 10%"</i>.</p>
<p>Using a wildcard symbol. For example, to create three vertical frames, use <i>cols = "10%, *, 10%"</i>. In this case wildcard takes remainder of the window.</p>
<p>As relative widths of the browser window. For example, to create three vertical frames, use <i>cols = "3*, 2*, 1*"</i>. This is an alternative to percentages. You can use relative widths of the browser window. Here the window is divided into sixths: the first column takes up half of the window, the second takes one third, and the third takes one sixth.</p>
</td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">2</td>
<td>
<p><b>rows</b></p>
<p>This attribute works just like the cols attribute and takes the same values, but it is used to specify the rows in the frameset. For example, to create two horizontal frames, use <i>rows = "10%, 90%"</i>. You can specify the height of each row in the same way as explained above for columns.</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">3</td>
<td>
<p><b>border</b></p>
<p>This attribute specifies the width of the border of each frame in pixels. For example, border = "5". A value of zero means no border.</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">4</td>
<td>
<p><b>frameborder</b></p>
<p>This attribute specifies whether a three-dimensional border should be displayed between frames. This attribute takes value either 1 (yes) or 0 (no). For example frameborder = "0" specifies no border.</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">5</td>
<td>
<p><b>framespacing</b></p>
<p>This attribute specifies the amount of space between frames in a frameset. This can take any integer value. For example framespacing = "10" means there should be 10 pixels spacing between each frames.</p></td>
</tr>
</table>
<h2>The <frame> Tag Attributes</h2>
<p>Following are the important attributes of <frame> tag −</p>
<table class="table table-bordered">
<tr>
<th>Sr.No</th>
<th style="text-align:center;">Attribute & Description</th>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">1</td>
<td>
<p><b>src</b></p>
<p>This attribute is used to give the file name that should be loaded in the frame. Its value can be any URL. For example, src = "/html/top_frame.htm" will load an HTML file available in html directory.</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">2</td>
<td>
<p><b>name</b></p>
<p>This attribute allows you to give a name to a frame. It is used to indicate which frame a document should be loaded into. This is especially important when you want to create links in one frame that load pages into an another frame, in which case the second frame needs a name to identify itself as the target of the link.</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">3</td>
<td>
<p><b>frameborder</b></p>
<p>This attribute specifies whether or not the borders of that frame are shown; it overrides the value given in the frameborder attribute on the <frameset> tag if one is given, and this can take values either 1 (yes) or 0 (no).</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">4</td>
<td>
<p><b>marginwidth</b></p>
<p>This attribute allows you to specify the width of the space between the left and right of the frame's borders and the frame's content. The value is given in pixels. For example marginwidth = "10".</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">5</td>
<td>
<p><b>marginheight</b></p>
<p>This attribute allows you to specify the height of the space between the top and bottom of the frame's borders and its contents. The value is given in pixels. For example marginheight = "10".</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">6</td>
<td>
<p><b>noresize</b></p>
<p>By default, you can resize any frame by clicking and dragging on the borders of a frame. The noresize attribute prevents a user from being able to resize the frame. For example noresize = "noresize".</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">7</td>
<td>
<p><b>scrolling</b></p>
<p>This attribute controls the appearance of the scrollbars that appear on the frame. This takes values either "yes", "no" or "auto". For example scrolling = "no" means it should not have scroll bars.</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">8</td>
<td>
<p><b>longdesc</b></p>
<p>This attribute allows you to provide a link to another page containing a long description of the contents of the frame. For example longdesc = "framedescription.htm"</p></td>
</tr>
</table>
<h2>Browser Support for Frames</h2>
<p>If a user is using any old browser or any browser, which does not support frames then <noframes> element should be displayed to the user.</p>
<p>So you must place a <body> element inside the <noframes> element because the <frameset> element is supposed to replace the <body> element, but if a browser does not understand <frameset> element then it should understand what is inside the <body> element which is contained in a <noframes> element.</p>
<p>You can put some nice message for your user having old browsers. For example, <i>Sorry!! your browser does not support frames.</i> as shown in the above example.</p>
<h2>Frame's name and target attributes</h2>
<p>One of the most popular uses of frames is to place navigation bars in one frame and then load main pages into a separate frame.</p>
<p>Let's see following example where a test.htm file has following code −</p>
<pre style="background-color:azure; class="prettyprint notranslate">
<!DOCTYPE html>
<html>
<head>
<title>HTML Target Frames</title>
</head>
<frameset cols = "200, *">
<frame src = "/html/menu.htm" name = "menu_page" />
<frame src = "/html/main.htm" name = "main_page" />
<noframes>
<body>Your browser does not support frames.</body>
</noframes>
</frameset>
</html>
</pre>
</div>
<a target="_blank" href="f11-3.html" class="w3-btn w3-margin-bottom"><button style="background-color:rgb(115, 126, 226);">Try it Yourself</button> »</a>
</div>
<p>Here, we have created two columns to fill with two frames. The first frame is 200 pixels wide and will contain the navigation menu bar implemented by <b>menu.htm</b> file. The second column fills in remaining space and will contain the main part of the page and it is implemented by <b>main.htm</b> file. For all the three links available in menu bar, we have mentioned target frame as <b>main_page</b>, so whenever you click any of the links in menu bar, available link will open in main page.</p>
<p>Following is the content of menu.htm file</p>
<pre style="background-color:azure; class="prettyprint notranslate">
<!DOCTYPE html>
<html>
<body bgcolor = "#4a7d49">
<a href = "http://www.google.com" target = "main_page">Google</a>
<br />
<br />
<a href = "http://www.microsoft.com" target = "main_page">Microsoft</a>
<br />
<br />
<a href = "http://news.bbc.co.uk" target = "main_page">BBC News</a>
</body>
</html>
</pre>
</div>
<a target="_blank" href="f11-4.html" class="w3-btn w3-margin-bottom"><button style="background-color:rgb(115, 126, 226);">Try it Yourself</button> »</a>
</div>
<p>Following is the content of main.htm file −</p>
<pre style="background-color:azure; class="prettyprint notranslate">
<!DOCTYPE html>
<html>
<body bgcolor = "#b5dcb3">
<h3>This is main page and content from any link will be displayed here.</h3>
<p>So now click any link and see the result.</p>
</body>
</html>
</pre>
</div>
<a target="_blank" href="f11-5.html" class="w3-btn w3-margin-bottom"><button style="background-color:rgb(115, 126, 226);">Try it Yourself</button> »</a>
</div>
<p>Now you can try to click links available in the left panel and see the result. The <i>targetattribute</i> can also take one of the following values −</p>
<table class="table table-bordered">
<tr>
<th>Sr.No</th>
<th style="text-align:center;">Option & Description</th>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">1</td>
<td>
<p><b>_self</b></p>
<p>Loads the page into the current frame.</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">2</td>
<td>
<p><b>_blank</b></p>
<p>Loads a page into a new browser window. Opening a new window.</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">3</td>
<td>
<p><b>_parent</b></p>
<p>Loads the page into the parent window, which in the case of a single frameset is the main browser window.</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">4</td>
<td>
<p><b>_top</b></p>
<p>Loads the page into the browser window, replacing any current frames.</p></td>
</tr>
<tr>
<td style="text-align:center;vertical-align:middle">5</td>
<td>
<p><b>targetframe</b></p>
<p>Loads the page into a named targetframe.</p></td>
</tr>
</table>
</body>
</html>