IPchapter 2
IPchapter 2
IPchapter 2
A basic HTML code should have at lease the following structure and Html tags.
<html>
<head>
<title>Text appears as page heading on the browser</title>
</head>
<body>
Text appears as content of my homepage.
<b>This text is bold</b>
</body>
</html>
15
HTML tags Explained
<html> - It tells the browser that this is the start of an HTML document.
The last tag in the document is </html>. This tag tells the
browser that this is the end of the HTML document.
<head> - It is the header information. Header information is not displayed
in the browser window.
<title> - It is the title of web page document. The title is displayed in your
browser's caption.
<body> - Data enclosed will be displayed in your browser.
The text between the <b> and </b> tags will be displayed in a bold font.
HTML has three major types of markup: elements, attributes, and values. HTML
documents are text files made up of HTML elements. HTML elements are
defined using HTML tags.
16
2.1.3.2 HTML Elements
Elements identify and structure the different parts of a Web page. Some elements
have one or more attributes, which further describe the purpose and content, if
any, of the element. An element consists of an opening tag, the content, and a
closing tag.
This is an HTML element:
The <body> tag has seven attributes: bgcolor, text, link, vlink, alink, background,
margins. E.g.
<body bgcolor="#ffffff", background= "bg.gif",text="#000000",
link="#3399ff",vlink="#9966ff",alink="#000000", bgproperties="fixed",
topmargin="10", marginheight="10">
This tag defines an HTML table: <table>. With an added border attribute, you can
tell the browser that the table should have no borders:
<table border="0">
Attribute values should always be enclosed in quotes. Double style quotes are
the most common, but single style quotes are also allowed.
Quote Styles, "red" or 'red'?
In some rare situations, like when the attribute value itself contains quotes, it is
necessary to use single quotes: name='John "ShotGun" Nelson'
17
2.1.3.4 Basic HTML Tags
The most important tags in HTML are tags that define headings, paragraphs and
line breaks.
2.1.3.4.1 Headings
Headings are defined with the <h1> to <h6> tags. <h1> defines the largest
heading. <h6> defines the smallest heading.
<h1>This is a heading</h1>
<h6>This is a heading</h6>
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
HTML automatically adds an extra blank line before & after a heading.
2.1.3.4.2 Paragraphs
Paragraphs are defined with the <p> tag.
<p>This is a paragraph</p>
HTML automatically adds an extra blank line before & after a paragraph.
18
Basic Notes - Useful Tips
Never try to format the text in your editor by adding empty lines and spaces
to the text. Any numbers of spaces count as one.
Use <br> to insert blank lines instead of empty paragraphs <p>.
Use horizontal <hr> tag, to separate sections by a horizontal line.
19
2.2.3 Citations, Quotations, and Definition Tags
Tag Description
<abbr> Formats an abbreviation, to add meaning shown as a tooltip
<acronym> Formats an acronym, to add meaning shown as a tooltip
<address> Formats an address element, logical tag for making text italic
used to format the Web page designer's email address
<bdo> Formats the text direction
<blockquote> Formats a long quotation, indents from both sides
<q> Formats a short quotation, quotes inline text
<cite> Formats a citation
<dfn> Formats a definition term
20
2.2.4.3 The Most Common Character Entities:
Entity
Result Description Entity Name
Number
non-breaking space  
< less than < <
> greater than > >
& ampersand & &
" quotation mark " "
' apostrophe ' '
a stands for Anchor, which means Link. HTML uses the anchor <a> tag to create a
link to another document. This is the tag what makes hypertext "hyper".
The <a> tag is used to create an anchor to link from; the href attribute is used to
address the document to link to, and the words between the open and close of the
anchor tag will be displayed as a hyperlink colored blue and underlined.
This anchor defines a link to AAU website:
21
<a href="http://www.aau.edu.int/">Link to AAU.</a>
As you can see the </a> tag must be included, but no text between <a> and
</a> is necessary.
The name attribute is used to create a named anchor. The name of the anchor can
be any text you care to use.
The line below defines a named anchor:
<a name="tips">Useful Tips Section</a>
22
To link to the named anchor just created within the same page, include the anchor
name preceded by #.
A hyperlink to the Useful Tips Section from WITHIN the file "IPCourse.html" will
look like this:
23
2.4 HTML Frames
With frames, you can display more than one HTML document in the same
browser window. Each HTML document is called a frame, and each frame is
independent of the others.
The disadvantages of using frames are:
Frame Tags
Tag Description
<frameset> Defines a set of frames
<frame> Defines a sub window (a frame)
<noframes> Defines a noframe section for browsers that do not handle
frames
<iframe> Defines an inline sub window (frame)
The Frameset Tag
The <frameset> defines how to divide the window into frames
In the example below we have a frameset with two rows. The first row is set to
25% of the width of the browser window. The second row is set to whatever space
is available in the window. The HTML document "frame_a.htm" is put into the first
row, and the HTML document "frame_b.htm" is put into the second row:
24
Basic Notes - Useful Tips
If a frame has visible borders, the user can resize it by dragging the border.
25
Tables and the Border Attribute
If you do not specify a border attribute the table will be displayed without any
borders. Sometimes this can be useful, but most of the time, you want the
borders to show. To display a table with borders, you will have to use the border
attribute <table border="1">.
Headings in a Table
The <th> tag stands for table header. It is an optional tag used instead of the
<td> tag. By default, the content in the cell is bolded & centered.
<table border="1">
<tr>
<th>Heading</th>
<th>Another Heading</th>
</tr>
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
</tr>
</table>
Table Tags
Tag Description
<table> Defines a table
<caption> Defines a table caption/Title
<tr> Defines a table row
<th> Defines a table header
<td> Defines a table cell
Tabel Attributes
Border Turns on all the internal and external borders.
Frame Defines external borders like box, above, hsides, lhs, etc.
Rules Defines internal borders like all, none, groups rows, etc.
cellpadding Defines space between the content & the edges of the cell.
26
cellspacing Defines spaces between cells
Align Defines the position of the table relative to the
browser window like center, right, and left.
bgcolor To change the background color of the whole table
background To add a background image
width/height Defines the relative/absolute size of your table
rowspan/colspan To create a cell that spans multiple rows or columns,
attributes to <td> or <th>
Most of the table attributes are shown as follows:
Caption
Width=”10%”
Border=”10”
Colspan=”2” Frame=”box”
Rules=”all”
Height=”10%” Cellpadding=”15”
Cellspacing=”10”
Rowspan=”2”
27
Basic Notes - Useful Tips
Table cells with no content are not displayed very well in most browsers. If
you want to include a blank cell with no content, then type the code for a
non-breaking-space ( ) between the opening and closing tags
<td> </td>, and the data cell will appear blank.
If a text in a cell is too long, you can force it to break using <br>
tag.
The default type of ordered lists use Arabic numbers. The Type attribute
has values: a-lowercase alphabet, A-uppercase alphabet, i-lowercase
Roman, I-uppercase Roman and 1-Arabic numbers.
The Start attribute specify the starting number or letter for an ordered list.
<ol Type="a" Start="3" >
<li>Introduction</li>
<li>Basic HTML</li>
<li>Databases</li>
</ol>
Inside a list item you can put paragraphs, line breaks, images, links, other
lists, etc.
28
2.6.2 Unordered Lists
Unordered list is a list in which each item in the list is preceded by bullets.
An unordered list starts with the <ul> tag. Each list item starts with the
<li> tag.
The default bullets are typically small black circles (disc). The Type attribute
has values: disc, circle, and square.
<ul type= "square">
<li>Ordered List</li>
<li>Unordered List</li>
<li>Definition List</li>
</ul>
Inside a list item you can put paragraphs, line breaks, images, links, other
lists, etc.
with the <dt> & the definition-list definition starts with the <dd> tag.
<dl>
<dt>Coffee</dt>
<dd>Black hot drink</dd>
<dt>Milk</dt>
<dd>White cold drink</dd>
</dl>
Here is how it looks in a browser:
Inside a definition-list definition (the <dd> tag) you can put paragraphs, line
breaks, images, links, other lists, etc.
List Tags
Tag Description
29
<ol> Defines an ordered list
<ul> Defines an unordered list
<li> Defines a list item
<dl> Defines a definition list
<dt> Defines a definition term
<dd> Defines a definition description
30
2.7 HTML Forms and Input
Forms are used to collect information. To get your identification card, you fill out
your name, address, department, etc. Similarly, HTML Forms are used to select
different kinds of user input.
2.7.1 Forms
A form is an area that can contain form elements.
Form elements are elements that allow the user to enter information in a form
(like text fields, drop-down menus, radio buttons, checkboxes, etc.).
A form is defined with the <form> tag.
<form>
<input>
<input>
</form>
2.7.2 Input
The most used form tag is the <input> tag. The type of input is specified with the
type attribute. The most commonly used input types are explained below.
Note that the form itself is not visible. Also note that in most browsers, the
width of the text field is 20 characters by default.
To enter more than one line text, use a <textarea> tag.
31
<form>
<input type="radio" name="sex" value="male"> Male <br>
<input type="radio" name="sex" value="female"> Female <br>
</form>
Note that the name attribute contains the same value for all options to link
2.7.2.3 Checkboxes
Checkboxes are small rectangular boxes used when you want the user to select
one or more options of a limited number of choices.
<form>
<input type="checkbox" name="service" value=”cafe”> Cafeteria<br>
<input type="checkbox" name="service" value=”lib”> Library <br>
</form>
2.7.2.5 Buttons
Buttons enable users to interact with a form. When you click on the "Submit"
button, you are telling the browser you have finished filling out a form and the
32
content of the form is sent to another file or for further processing. The form's
action attribute defines the name of the file to send the content to. The file defined
in the action attribute usually does something with the received input.
If you type some characters in the text field above, and click the "Submit" button,
you will send your input to a page called "html_form_action.asp". That page will
show you the received input.
Form Tags
Tag Description
<form> Defines a form for user input
<input> Defines an input field
<textarea> Defines a text-area (a multi-line text input control)
<label> Defines a label to a control
<fieldset> Defines a fieldset
<legend> Defines a caption for a fieldset
<select> Defines a selectable list (a drop-down box)
<optgroup> Defines an option group
<option> Defines an option in the drop-down box
<button> Defines a push button
33
2.8 HTML Images
It is easy to add images anywhere in your Webpage by using the <img> tag
where <img> is short for “image”. The <img> tag is empty, which means that it
contains attributes only and it has no closing tag.
<img src="url">
E.g.
<img src=”http://www.aau.edu.et/images/boat.gif”> - absolute address-URL
<img src=”boat.gif”> - relative address- on the same directory with the page
<img src=”../boat.gif”> - relative address – one directory higher
The "alt" attribute tells the reader what he or she is missing on a page if the
browser can't load images. The browser will then display the alternate text instead
of the image. It is a good practice to include the "alt" attribute for each image on a
page, to improve the display and usefulness of your document for people who
have text-only browsers.
Image Tags
Tag Description
<img> Defines an image
<map> Defines an image map
<area> Defines an area inside an image map
34
2.8.3 Linking Sections of an image
You can link sections of an image as opposed to the entire image. Suppose you
have the Ethiopian map. You can link each region with its own page.
Image map example:
<img src="planets.gif" width="145" height="126" usemap="#planetmap">
Using the attribute “usemap” shown above, you have to tell the browser that the
image will be used as an image map.
Next you have to name the map & define each spot using coordinates as follows:
<map name="planetmap">
<area shape="circle" coords="90,90,30" alt="Mercury" href="sun.htm">
<area shape="rect" coords="0,0,82,80" alt="Sun" href="mercury.htm">
<area shape="circle" coords="100,0,50" alt="Venus" href="venus.htm">
</map>
The coordinates define the boundaries of the spot as follows:
rect x1,y1,x2,y2
poly x1,y1,x2,y2,x3,y3…
circle x,y,r
Where x, y, and r stands for horizontal, vertical and radius (circle) respectively.
35
2.9 HTML Fonts
The <font> tag in HTML is not advised. It is supposed to be removed in a future
version of HTML. Even if a lot of people are using it, you should try to avoid it, and
use styles instead.
36
2.10 HTML Styles
With HTML 4.0 all formatting can be moved out of the HTML document and into a
separate style sheet.
How to Use Styles
When a browser reads a style sheet, it will format the document according to it.
There are three ways of inserting a style sheet:
<head>
<style type="text/css">
body {background-color: red}
p {margin-left: 20px}
</style>
</head>
37
2.11 HTML Head
The head element contains general information, also called meta-information,
about a document. Meta means "information about". You can say that meta-
data means information about data or meta-information means information about
information.
Information Inside the Head Element
The elements inside the head element should not be displayed by a browser.
According to the HTML standard, only a few tags are legal inside the head section.
These are: <base>, <link>, <meta>, <title>, <style>, and <script>.
If you put an HTML element like <h1> or <p> inside a head element, most
browsers will display it, even if it is illegal.
Head Tags
Tag Description
<head> Defines information about the document
<title> Defines the document title
<base> Defines a base URL for all the links on a page
<link> Defines a resource reference
<meta> Defines meta information
<!DOCTYPE> Defines the document type. This tag goes before the <html>
start tag.
The intention of the name and content attributes is to describe the content of a
page. However, since too many webmasters have used Meta tags for spamming,
like repeating keywords to give pages a higher ranking, some search engines have
stopped using them entirely.
38
Unknown Meta Attributes
Sometimes you will see Meta attributes that are unknown to you like this:
<meta name="security" content="low">
Then you just have to accept that this is something unique to the site or to the
author of the site, and that it has probably no relevance to you.
39
2.12 Browser Compatibility Issues
There are at least four popular browsers being used regularly on the internet.
Netscape and Internet Explorer are forever enhancing their products.
As the new versions become adapted, their older counterparts lose popularity. It
generally takes a year or more for the implementation of the new browser. By that
time there is yet another version. This is good for users, but difficult for designers
and webmasters.
While web pages will almost never appear EXACTLY the same in all browser
versions, good design can eliminate many viewing problems. While we try to make
everything as browser-neutral as possible, the truth is, tailoring a site for cross
browser compatibility is a pain.
In the early days of the Internet, many sites were advertising as "Best viewed with
Netscape" or "Best viewed with Internet Explorer" or the like.
These days, such labels seem to be rarer. And no wonder. Webmasters today put
too much amount of effort to promote their sites on the search engines and
elsewhere, and it's unlikely that they'll want to turn away any visitor just because
s/he uses a different browser.
Along with this principle of catering to the widest possible audience is the principle
of designing your page for compatibility with different browsers, operating systems
and hardware.
Next, we shall discuss compatibility issues. They are by no means exhaustive, but
they are at least starting points to designing a site that will be viewable by more
visitors.
40
2.12.2 Color Limitations
It may or may not come as a surprise to you that a color code like "#F2C3BE"
results in different colors on different systems, depending on the number of colors
in your visitors' color palettes, their monitors, etc.
For example, if you choose a color that looks good on your 24-bit color system
("True Color" on Windows, "millions of colors" on Mac), and your visitor goes to
your site using a 256 color setting on his system, your color will be dithered to fit
into the more limited number of colors in his palette.
What looks to you like beautiful shades of colors may thus turn out to be ugly
combinations on a different system.
Of course, few people use 256 colors on their system anymore. As such, many
webmasters are abandoning the old technique of only using color combinations
that are multiples of the hexadecimal "33" (which are supposed to be safe to use
in that they display fairly similarly across the main platforms).
However, if you think that you can now use the next lowest denominator, the 16-
bit color setting ("High Color" on Windows, "thousands of colors" on Mac) safely,
think again. Contrary to what you might expect, the 16-bit color palette is not a
subset of the 24-bit color palette: apart from black and white, the colors in the two
palettes are not identical. If you design the color scheme of your site while
working from one palette, be sure to switch to the other color setting to make sure
that your color scheme blends well in the other setting as well.
2.12.3 Frames
Let‘s look at frames from two points of views: screen resolution and people who
browse your site using speech software.
One common complaint that people have against sites using frames is usually that
webmasters tend to forget that visitors don't have the same large screen
resolution that the designers have when they created the web page. Sites with
frames tend to provide a smaller area for people to view the main content of the
site, since the outer frames occupy some of the screen real estate as well. If the
web designer has not checked his site using a lower screen resolution like 800x600
and 640x460, and tested its usability with those lower resolutions, he may not be
aware that the site is difficult to use in such situations. Visitors may have to scroll
horizontally and vertically continually just to read the content. The situation is
worse if the designer removed the scroll bar (because it looked fine without it on
his high resolution screen), and visitors find they can no longer scroll
left/right/up/down to read the content.
If you use frames on your site - be sure to check how it appears under lower
resolutions. Try reading all the content on your site with those resolutions. If you
find that the site is inconvenient to use under those resolutions, you may need to
rethink of your design. Remember, your visitors don't have the same amount of
patience with your site that you have.
Framed pages also pose certain difficulties for people who have to use speech
41
software to access your pages, such as the visually impaired. Unlike people using a
visual web browser, the speech software reads every item on your pages & frames
serially. The person using such software does not have the ability to skip portions
of the page because it appears irrelevant. Neither is he able to match what is
displayed on one frame with the content appearing in another. Remember-
matching the content of one frame with another requires ability to see the layout.
It does not mean that this necessarily precludes the use of frames on your site.
What is needed, instead, if you think you really need to use frames on your site, is
to plan carefully so that both the user with a low screen resolution and the person
using speech software are able to access your site as you intend.
42
2.13 Introduction to CSS
The selector is the link between the HTML document and the style sheet, and all
HTML element types are possible selectors. The selector is normally the HTML
element/tag you wish to format, the property is the attribute you wish to change,
and each property can take a value. The property and value are separated by a
colon and surrounded by curly braces:
body {color: black}
To make the style definitions more readable, you can describe one property on
each line, like this:
P
{
text-align: center
}
44
Grouping
To reduce the size of CSS, you can group selectors and/or declarations.
Separate each selector with a comma. In the example below we have grouped all
the header elements. Each header element will be green:
h1,h2,h3,h4,h5,h6
{
color: green
}
45
In the code below both the h1 element and the p element have class="center".
This means that both elements will follow the rules in the ".center" selector:
<h1 class="center">
This heading will be center-aligned
</h1>
<p class="center">
This paragraph will also be center-aligned.
</p>
46
2.13.3 CSS Comments
You can insert comments in CSS to explain your code, which can help you when
you edit the source code at a later date. It will help you remember what
particularly complicated style rules are supposed to do. A comment will be ignored
by the browser. A CSS comment begins with "/*", and ends with "*/", like this:
/* This is a comment */
p
{
/* This is another comment */
color: black;
}
<head>
<link rel="stylesheet" type="text/css
href="mystyle.css" />
</head>
The browser will read the style definitions from the file mystyle.css, and format the
document according to it.
An external style sheet can be written in any text editor. The file should not
contain any html tags. Your style sheet should be saved with a .css extension. An
example of a style sheet file is shown below:
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
Do NOT leave spaces between the property value and the units! If you use
"margin-left: 20 px" instead of "margin-left: 20px" it will only work properly in IE6
but it will not work in Mozilla or Netscape.
47
2.13.4.2 Internal Style Sheet
An internal style sheet should be used when a single document has a unique style.
You define internal styles in the head section by using the <style> tag, like this:
<head>
<style type="text/css">
p {margin-left: 12px}
</style>
</head>
The browser will now read the style definitions, and format the document
according to it.
Note: A browser normally ignores unknown tags. This means that an old browser
that does not support styles will ignore the <style> tag, but the content of the
<style> tag will be displayed on the page. It is possible to prevent an old browser
from displaying the content by hiding it in the HTML comment element:
<head>
<style type="text/css">
<!--
hr {color: sienna}
p {margin-left: 12px}
-->
</style>
</head>
48
h3
{
color: red;
text-align: left;
font-size: 8pt
}
And an internal style sheet has these properties for the h3 selector:
h3
{
text-align: right;
font-size: 20pt
}
If the page with the internal style sheet also links to the external style sheet the
properties for h3 will be:
color: red;
text-align: right;
font-size: 20pt
The color is inherited from the external style sheet and the text-alignment and the
font-size is replaced by the internal style sheet.
49
2.13.6 CSS Text
Text properties allow you to control the appearance of text. It is possible to
change the color of a text, increase or decrease the space between characters in a
text, align a text, decorate a text, indent the first line in a text, and more.
Text Properties:
Property Description Values
color Sets the color of a text color
direction Sets the text direction ltr, rtl
letter-spacing Increase or decrease the space normal, length
between characters
text-align Aligns the text in an element left, right, center, justify
text-decoration Adds decoration to text none, underline, overline,
line-through, blink
text-indent Indents the first line of text in an length, %
element
text-shadow none, Color, length
text-transform Controls the letters in an element none, capitalize, uppercase,
lowercase
unicode-bidi normal, embed, bidi-override
white-space Sets how white space inside an normal, pre, nowrap
element is handled
word-spacing Increase or decrease the space normal, length
between words
50
Font Properties:
Example
<html>
<head>
<style type="text/css">
p
{
font: italic small-caps 900 12px arial
}
</style>
</head>
<body>
<p>This is a paragraph</p>
</body>
</html>
51
Border Properties:
Property Description Values
border A shorthand property for setting border-width, border-style, border-
all of the properties for the four color
borders in one declaration
border-bottom A shorthand property for setting border-bottom-width, border-style,
all of the properties for the border-color
bottom border in one
declaration
border-bottom- Sets the color of the bottom border-color
color border
border-bottom- Sets the style of the bottom border-style
style border
border-bottom- Sets the width of the bottom thin, medium, thick, length
width border
border-color Sets the color of the four color
borders, can have from one to
four colors
border-left A shorthand property for setting border-left-width, border-style,
all of the properties for the left border-color
border in one declaration
border-left-color Sets the color of the left border border-color
border-left-style Sets the style of the left border border-style
border-left-width Sets the width of the left border thin, medium, thick, length
border-right A shorthand property for setting border-right-width, border-style,
all of the properties for the right border-color
border in one declaration
border-right- Sets the color of the right border-color
color border
border-right- Sets the style of the right border-style
style border
border-right- Sets the width of the right thin, medium, thick, length
width border
border-style Sets the style of the four none, hidden, dotted, dashed, solid,
borders, can have from one to double, groove, ridge, inset, outset
four styles
border-top A shorthand property for setting border-top-width, border-style,
all of the properties for the top border-color,
border in one declaration
border-top-color Sets the color of the top border border-color
border-top-style Sets the style of the top border border-style
border-top-width Sets the width of the top border thin, medium, thick, length
border-width A shorthand property for setting thin, medium, thick, length
the width of the four borders in
one declaration, can have from
one to four values
52
Example
<html>
<head>
<style type="text/css">
p
{
border: medium double rgb(250,0,255)
}
</style>
</head>
<body>
<p>Some text</p>
</body>
</html>
53
2.13.10 CSS Padding
The Padding properties define the space between the element border and the
element content. Negative values are not allowed. The top, right, bottom, and
left padding can be changed independently using separate properties. A shorthand
padding property is also created to control multiple sides at once.
Padding Properties:
Property Description Values
padding A shorthand property for setting all of padding-top, padding-right,
the padding properties in one padding-bottom, padding-left
declaration
padding- Sets the bottom padding of an length, %
bottom element
padding-left Sets the left padding of an element length, %
padding-right Sets the right padding length of an length, %
element
padding-top Sets the top padding of an element length, %
Example
<html>
<head>
<style type="text/css">
td {padding-left: 2cm}
</style>
</head>
<body>
<table border="1">
<tr>
<td>This is a table cell with a left padding</td>
</tr>
</table>
</body>
</html>
54
2.13.11 CSS List Properties
The List properties allow you to change between different list-item markers, set an
image as a list-item marker, and set where to place a list-item marker.
Property Description Values
list-style A shorthand property for list-style-type, list-style-position, list-
setting all of the properties style-image
for a list in one declaration
list-style-image Sets an image as the list- none, url
item marker
list-style-position Places the list-item marker inside, outside
in the list
list-style-type Sets the type of the list-item none, disc, circle, square, decimal,
marker decimal-leading-zero, lower-roman,
upper-roman, lower-alpha, upper-
alpha, lower-greek, lower-latin,
upper-latin, hebrew, armenian,
georgian, cjk-ideographic, hiragana,
katakana, hiragana-iroha, katakana-
iroha
marker-offset auto, length
Example
<html>
<head>
<style type="text/css">
ul
{
list-style-type:square; list-style-position:inside; list-style-
image:url('arrow.gif')
}
</style>
</head>
<body>
<p><b>Note:</b> Netscape 4 does not display the images or position the
list.</p>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
</body>
</html>
55