Web design tutorial Html Part-013

Web design tutorial Web Design for Beginner  Html Part-013





HTML Email Links

It’s not difficult to put an HTML email link on your webpage but it can cause
unnecessary spamming problem for your email account. There are people who
can run programs to harvest these types of emails and later use them for
spamming in various ways.
You can have another options to facilitate people to send you emails. One
option could be to use HTML forms to collect user data and then use PHP or
CGI script to send an email.
A simple example, check our Contact Us Form. We take user feedback using
this form and then we are using one CGI program which is collecting this
information and sending us email to one given email ID.
Note: You will learn about HTML Forms in HTML Forms and you will learn about
CGI in our tutorial Perl CGI Programming.
HTML Email Tag
HTML <a> tag provides you option to specify an email address to send an
email. While using <a> tag as an email tag, you will use mailto:email
address along with href attribute. Following is the syntax of
using mailto instead of using http.
<a href= "mailto:abc@example.com">Send Email</a>

This code will generate following link which you can use to send email.


Send Email

Now if a user clicks this link, it launches one Email Client (like Lotus Notes,
Outlook Express etc.) installed on your user's computer. There is another risk
to use this option to send email because if user do not have email client

installed on their computer then it would not be possible to send email.




Related ContentWeb Design for Beginner Web design tutorial Html Part-012

Default Settings

You can specify a default email subject and email body along with your email
address. Following is the example to use default subject and body.
<a href="mailto:abc@example.com?subject=Feedback&body=Message">
Send Feedback
</a>

This code will generate following link which you can use to send email.


Send Feedback


HTML Frames

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.

Disadvantages of Frames

There are few drawbacks with using frames, so it’s never recommended to use
frames in your webpages:
 Some smaller devices cannot cope with frames often because their
screen is not big enough to be divided up.
 Sometimes your page will be displayed differently on different
computers due to different screen resolution.
 The browser's back button might not work as the user hopes.
 There are still few browsers that do not support frame technology.

Creating Frames

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 rows attribute of <frameset> tag defines horizontal frames
and cols attribute defines vertical frames. Each frame is indicated by <frame>
tag and it defines which HTML document shall open into the frame.

Example

<noframes>
<body>
Your browser does not support frames.
</body>
</noframes>
</frameset>
</html>


This will produce following result:


<body> Your browser does not support frames. </body>

Example
Let's put above example as follows, here we replaced rows attribute by cols
and changed their width. This will create all the three frames vertically:

<!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>


This will produce following result:

<body> Your browser does not support frames. </body>

The <frameset> Tag Attributes
Following are important attributes of the <frameset> tag:


Attribute Description
 colsspecifies 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 four ways:

  • Absolute values in pixels. For example to create three

         vertical frames, use cols="100, 500,100".

  • A percentage of the browser window. For example to

        create three vertical frames, use cols="10%, 80%,10%".

  • Using a wildcard symbol. For example to create three

         vertical frames, use cols="10%, *,10%". In this case
         wildcard takes remainder of the window.

  • As relative widths of the browser window. For example

        to create three vertical frames, use cols="3*,2*,1*". 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.
RowsThis 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 rows="10%,
90%". You can specify the height of each row in the same way
as explained above for columns.
BorderThis attribute specifies the width of the border of each frame
in pixels. For example border="5". A value of zero means no
border.
frame border 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.
frame spacingThis 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.



The <frame> Tag Attributes
Following are important attributes of <frame> tag:


AttributeDescription
SrcThis 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.
nameThis 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 another frame, in which case
the second frame needs a name to identify itself as the target
of the link.
frame border 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).
margin widthThis 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".
margin heightThis 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".
nore sizeBy 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".
scrollingThis 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.
longdescThis 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"

Browser Support for Frames

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.
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.
You can put some nice message for your user having old browsers. For
example Sorry!! your browser does not support frames. as shown in the above
example.
Frame's name and target attributes
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.
Let's see following example where a test.htm file has following code:

<!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>

Here we have created two columns to fill with two frames. The first frame is
200 pixels wide and will contain the navigation menubar implemented
by menu.htm file. The second column fills in remaining space and will
contain the main part of the page and it is implemented by main.htm file. For
all the three links available in menubar, we have mentioned target frame
as main_page, so whenever you click any of the links in menubar, available
link will open in main_page.
Following is the content of menu.htm file
<!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>
Following is the content of main.htm file:
<!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>

Now you can try to click links available in the left panel and see the result.
The target attribute can also take one of the following values:


 Option Description
_self Loads the page into the current frame.
_blank  Loads a page into a new browser window.
_parent Loads the page into the parent window, which in the case of a
 single frameset, is the main browser window.
_top  Loads the page into the browser window, replacing any current
 frames.
target frame  Loads the page into a named targetframe.



Technology