Image
Preliminaries
So far in this titorial, you have created
text-only Web pages. They’re perfectly functional, but a bit dull. Web pages
are more interesting and attractive when they include graphics.
Much of the Web’s
popularity is due to its ability to present graphical content rather than only
text, and even a few well placed graphics can make a huge difference in the
look of a web page. Graphics of any size increase the time it takes to download
a page, however, so you should use them with care to avoid making your pages
awkward to access.
Images appear on web pages in two
ways: as part of the inline content or as tiling background images. Background
images are added using background attribute in body tag or using Cascading
Style Sheets. Inline images may be used on web pages in several ways:
- As a simple image. An image
can be used on a web page much as it is used in print, as a static image that
adds information, such as a company logo or an illustration.
- As a
link. As we saw in the previous chapter, an image can be used as a link to
another document by placing it in the anchor element.
- As an imagemap. An imagemap is a single image that contains multiple links (“hotspots”) that link to other documents. We’ll look at the markup used to add clickable areas to images in this chapter as well.
Which image format is suitable for you?
The most common and most widely
supported image file types are
GIF:
The Graphics
Interchange Format (GIF) was the earliest format use in inline images on the
Web. GIF format has the ability to encapsulate several images within one file,
giving the format animation functionality.
JPEG: JPEG is the acronym for Joint Photographic Experts Group and it was created specifically for photographic imagery and shouldn’t be used for flat-color graphics. JPEG is a commonly used method of lossy compression for digital photography (image). With JPEG, you get to keep all your colors, but you don’t get to keep all the data about the image.
PNG: The Portable Network Graphics, or PNG format, was developed exclusively for the Web and is in the public domain. The PNG format takes advantage of a clever way of storing the information about the image so you don’t lose color and you don’t lose image quality; it is a lossless format. The only drawback is, because the standard is so new, only fourth-generation and later browsers support PNG graphics.
JPEG: JPEG is the acronym for Joint Photographic Experts Group and it was created specifically for photographic imagery and shouldn’t be used for flat-color graphics. JPEG is a commonly used method of lossy compression for digital photography (image). With JPEG, you get to keep all your colors, but you don’t get to keep all the data about the image.
PNG: The Portable Network Graphics, or PNG format, was developed exclusively for the Web and is in the public domain. The PNG format takes advantage of a clever way of storing the information about the image so you don’t lose color and you don’t lose image quality; it is a lossless format. The only drawback is, because the standard is so new, only fourth-generation and later browsers support PNG graphics.
The Img Tag and src Attribute
In HTML, images are defined with the
<img> tag. The img tag is empty, which means that it contains attributes
only and it has no closing tag. To display an image on a page, you need to use
the src attribute, src stands for “source”. The value of the src attribute is
the URL of the image you want to display on your page.
The syntax of defining an image:
The URL points to the location or
address where the image is stored. The form of the URL may be either an
absolute URL or a relative URL.
The alt attribute is required to
specify a text alternative for the image in case the user cannot see the image.
Often referred to as alt text, it is important that the value of this attribute
really describes the image. Two common reasons why images are not visible to
users are:
- Because the browser did not download the file correctly; the file cannot be found
- Because the user has visual impairment that prevents him or her from seeing the image
- Sometimes images do not convey any information, and are only used to enhance the layout of the page. (For example, you might have an image that is just a design element but does not add any information to the page.) Then the alt attribute should still be used but given no value, as follows:
In addition to the alt
attribute, it’s a good idea to add the title attribute to your
img tag. While the alt attribute specifies alternative text for images in case
the images don’t load, the title attribute can be added to images as well as
links and other page elements. It serves as a quick tip for users to briefly
explain the contents of the page element or, in this case, the image.
The greatest benefit in using the
title attribute is that its contents are displayed as “tool tips” in all
browsers.
After you start adding several images to your Web pages, you may notice they sometimes cause the browser to wait a little while before displaying the page. Because they don’t know the size of the image, some browsers actually wait until the images are all loaded before displaying the Web page.
Therefore, you can help speed the display of your Web pages by telling the browser the sizes of your images right within the img tag. You do so with the height and width attributes.
We can also set sizes of image using the style attribute of CSS, we will look this in CSS chapter.
Positioning an Image on the Web Page
By
default, the browser displays images inline. That is, it displays an image
immediately to the right of the previous content. Text does not wrap around it.
You can display an image on the left or right side of the Web page, however,
allowing the surrounding content to flow around the image. This type of image
is called a floating image.
<img src="book.jpg" alt="My Book for Learning HTML" align="left">
<img src="book.jpg" alt="My Book for Learning HTML" align="right">
RIGHT: Displays image on right side of the window and surrounding flows around the image
Hyperlink
your Image
In the previous chapter, you learned
how to create text hyperlinks using the <a> tag. Recall that you place the URL in
the opening <a> tag, and then you place the hyperlink
text between the <a> and </a> tags.
You create a graphical hyperlink in much the same way, by placing an <img> tag
in an <a> tag like this
Add a Background Graphic
Instead of placing a graphic inline
with the text, you may want to use it to form the background of a web page. A
background graphic can make your web pages much more colorful and dramatic, but
you must make sure that the graphic neither obscures the text of the page nor
clashes with any graphics you place inline. To add a background image, add the
background attribute to the <body> tag, and specify the filename in double quotation marks.
<body
background=”picture.jpg”>
Image
Maps
Image maps allow you to specify several
links that correspond to different areas of one single image, so that when
users click different parts of the image they get taken to different pages.
There are two types of image maps:
- Server-side image maps
- Client-side image maps
In the server-side image map, the user clicks on an image but the server
must decode where the user clicked before the destination page (if any) is
loaded. With client-side image maps,
all of the map information, which regions map to which URLs can be specified in
the same HTML file that contains the image. Including the map data with the
image and letting the browser decode it.
It has several advantages, including
- There is no need to visit a server to determine the destination, so links are resolved faster.
- Destination URLs can be shown in the status box as the user’s pointer moves over the image.
- Image maps can be created and tested locally, without requiring a server or system administration support.
- Client-side image maps can be created so that they present an alternative text menu to users of text-only browsers.
Client-Side
Image Maps using <map> and <area>
In this, the image that is going to
form the map is inserted into the page using the <img/> element as
normal, except it carries an extra attribute called usemap. The value of the
usemap attribute is the value of the name attributes on the <map>
element, which you are about to meet, preceded by a pound or hash sign.
The <map> element
actually creates the map for the image and usually follows directly after the
<img /> element. It acts as a container for the <area> elements
that actually define the clickable hotspots. The <map> element carries
only one attribute, the name attribute, which is the name that identifies the
map. This is how the <img /> element knows which <map> element to
use.
The <area> element
specifies the shape and the coordinates that define the boundaries of each
clickable hot - spot.
Here’s an example from the image map
that was used for the image in Figure.
<body>
<p>It is an example of Image Map</p>
<img src="planetmenu.png" width="400px" height="140px" alt="Planet menu"border="0" usemap="#map1" /><map id="map1" name="map1"><area href="mars.htm" shape="circle" coords="71,64,44"alt="The planet Mars" /><area href="jupiter.htm" shape="circle" coords="195,64,49"alt="The planet Jupiter" /><area href="jupiter.htm" shape="circle" coords="329,64,49"alt="The planet Jupiter" />
</map>
Advantages of Image
Maps
·
Since an image-map is
one large image, you can place links in it the way you want without worrying
about layout issues.
·
Lesser HTML scripting is
involved since there are programs available that will generate the code.
·
Image map creation is
quite simple if you use a program such as MapThis.
Disadvantages of Image
Maps
·
An image-map takes only
one ALT attribute. Thus, it's not possible to have different ALT attributes for
different links. Visitors with disability or those using text based browsers
might not appreciate this.
·
No interactivity is
possible. You can't have separate mouseovers for individual links.
·
An image map is one
large image and if its not optimized properly, will take a long time to
download.