HTML TutorialFrom W3 Schools Introduction HTML Elements Basic Tags Text Formatting Character Entities HTML Links HTML Lists HTML Lists HTML Tables What is an HTML File?
Do You Want to Try It?If you are running Windows, start Notepad (or start SimpleText if you are on a Mac) and type in the following text:
Save the file as "mypage.htm". Start your Internet browser. Select "Open" (or "Open Page") in the File menu of your browser. A dialog box will appear. Select "Browse" (or "Choose File") and locate the HTML file you just created - "mypage.htm" - select it and click "Open". Now you should see an address in the dialog box, for example "C:\MyDocuments\mypage.htm". Click OK, and the browser will display the page. Example ExplainedThe first tag in your HTML document is <html>. This tag tells your browser that this is the start of an HTML document. The last tag in your document is </html>. This tag tells your browser that this is the end of the HTML document. The text between the <head> tag and the </head> tag is header information. Header information is not displayed in the browser window. The text between the <title> tags is the title of your document. The title is displayed in your browser's caption. The text between the <body> tags is the text that will be displayed in your browser. The text between the <b> and </b> tags will be displayed in a bold font. HTM or HTML Extension?When you save an HTML file, you can use either the .htm or the .html extension. We have used .htm in our examples. It might be a bad habit inherited from the past when some of the commonly used software only allowed three letter extensions. With newer software we think it will be perfectly safe to use .html. Note on HTML Editors:You can easily edit HTML files using a WYSIWYG (what you see is what you get) editor like FrontPage, Claris Home Page, or Adobe PageMill instead of writing your markup tags in a plain text file. But if you want to be a skillful Web developer, we strongly recommend that you use a plain text editor to learn your primer HTML. Frequently Asked QuestionsQ: After I have edited an HTML file, I cannot view the result in my
browser, why? Q: I have tried to edit an HTML file but the changes don't show in the
browser. Why? Q: Can I use both Internet Explorer and Netscape Navigator? Q: Does my computer have to run Windows, what about a Mac? HTML documents are text files made up of HTML elements. HTML elements are defined using HTML tags. HTML Tags
HTML ElementsRemember the HTML example from the previous page:
This is an HTML element:
The HTML element starts with a start tag: <b> The purpose of the <b> tag is to define an HTML element that should be displayed as bold. This is also an HTML element:
This HTML element starts with the start tag <body>, and ends with the end tag </body>. The purpose of the <body> tag is to define the HTML element that contains the body of the HTML document. Why do We Use Lowercase Tags?We have just said that HTML tags are not case sensitive: <B> means the same as <b>. When you surf the Web, you will notice that most tutorials use uppercase HTML tags in their examples. We always use lowercase tags. Why? If you want to prepare yourself for the next generations of HTML you should start using lowercase tags. The World Wide Web Consortium (W3C) recommends lowercase tags in their HTML 4 recommendation, and XHTML (the next generation HTML) demands lowercase tags. Tag AttributesTags can have attributes. Attributes can provide additional information about the HTML elements on your page.This tag defines the body element of your HTML page: <body>. With an added bgcolor attribute, you can tell the browser that the background color of your page should be red, like this: <body bgcolor="red">. 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"> Attributes always come in name/value pairs like this: name="value". Attributes are always added to the start tag of an HTML element. Quote Styles, "red" or 'red'?Attribute values should always be enclosed in quotes. Double style quotes are the most common, but single style quotes are also allowed. In some rare situations, like when the attribute value itself contains quotes, it is necessary to use single quotes: name='John "ShotGun" Nelson' The most important tags in HTML are tags that define headings, paragraphs and line breaks. The best way to learn HTML is to work with examples. We have created a very nice HTML editor for you. With this editor, you can edit the HTML source code if you like, and click on a test button to view the result. HeadingsHeadings are defined with the <h1> to <h6> tags. <h1> defines the largest heading. <h6> defines the smallest heading.
HTML automatically adds an extra blank line before and after a heading. ParagraphsParagraphs are defined with the <p> tag.
HTML automatically adds an extra blank line before and after a paragraph. Line BreaksThe <br> tag is used when you want to end a line, but don't want to start a new paragraph. The <br> tag forces a line break wherever you place it.
The <br> tag is an empty tag. It has no closing tag. Comments in HTMLThe comment tag is used to insert a comment in the HTML source code. A comment will be ignored by the browser. You can use comments to explain your code, which can help you when you edit the source code at a later date.
Note that you need an exclamation point after the opening bracket, but not before the closing bracket. Basic Notes - Useful TipsWhen you write HTML text, you can never be sure how the text is displayed in another browser. Some people have large computer displays, some have small. The text will be reformatted every time the user resizes his window. Never try to format the text in your editor by adding empty lines and spaces to the text. HTML will truncate the spaces in your text. Any number of spaces count as one. Some extra information: In HTML a new line counts as one space. Using empty paragraphs <p> to insert blank lines is a bad habit. Use the <br> tag instead. (But don't use the <br> tag to create lists. Wait until you have learned about HTML lists.) You might have noticed that paragraphs can be written without the closing tag </p>. Don't rely on it. The next version of HTML will not allow you to skip ANY closing tags. HTML automatically adds an extra blank line before and after some elements, like before and after a paragraph, and before and after a heading. We use a horizontal rule (the <hr> tag), to separate the sections in our tutorials. Try Some ExamplesMore paragraphs
Line breaks Poem problems Headings Center aligned heading
Horizontal rule Hidden comments Background color HTML defines a lot of elements for formatting output, like bold or italic text. Below are a lot of examples that you can try out yourself: ExamplesText formatting
Preformatted text "Computer output"
tags Address Abbreviations and acronyms Text direction Quotations Deleted and inserted text Some characters like the < character, have a special meaning in HTML, and therefore cannot be used in the text. To display a less than sign (<) in HTML, we have to use a character entity. Character EntitiesSome characters have a special meaning in HTML, like the less than sign (<) that defines the start of an HTML tag. If we want the browser to actually display these characters we must insert character entities in the HTML source. A character entity has three parts: an ampersand (&), an entity name or a # and an entity number, and finally a semicolon (;). To display a less than sign in an HTML document we must write: < or < The advantage of using a name instead of a number is that a name is easier to remember. The disadvantage is that not all browsers support the newest entity names, while the support for entity numbers is very good in almost all browsers. Note that the entities are case sensitive. This example lets you experiment with character entities: Character Entities Non-breaking SpaceThe most common character entity in HTML is the non-breaking space. Normally HTML will truncate spaces in your text. If you write 10 spaces in your text HTML will remove 9 of them. To add spaces to your text, use the character entity. The Most Common Character Entities:
Some Other Commonly Used Character Entities:
To see a full list of HTML character entities go to our HTML Entities Reference.
HTML uses a hyperlink to link to another document on the Web.
Create hyperlinks An image as a link (You can find more examples at the bottom of this page) HTML uses the <a> (anchor) tag to create a link to another document. An anchor can point to any resource on the Web: an HTML page, an image, a sound file, a movie,
etc. The syntax of creating an anchor:
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. This anchor defines a link to W3Schools:
The line above will look like this in a browser: The Target AttributeWith the target attribute, you can define where the linked document will be opened. The line below will open the document in a new browser window:
The Anchor Tag and the Name AttributeThe name attribute is used to create a named anchor. When using named anchors we can create links that can jump directly into a specific section on a page, instead of letting the user scroll around to find what he/she is looking for. Below is the syntax of a named anchor:
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:
You should notice that a named anchor is not displayed in a special way. To link directly to the "tips" section, add a # sign and the name of the anchor to the end of a URL, like this:
A hyperlink to the Useful Tips Section from WITHIN the file "html_links.asp" will look like this:
Basic Notes - Useful TipsAlways add a trailing slash to subfolder references. If you link like this: href="http://www.w3schools.com/html", you will generate two HTTP requests to the server, because the server will add a slash to the address and create a new request like this: href="http://www.w3schools.com/html/" Named anchors are often used to create "table of contents" at the beginning of a large document. Each chapter within the document is given a named anchor, and links to each of these anchors are put at the top of the document. If a browser cannot find a named anchor that has been specified, it goes to the top of the document. No error occurs. More Examples
Open a link in a new browser
window
Link to a location on the
same page Create a mailto link Create a mailto link 2 HTML supports ordered, unordered and definition lists. ExamplesAn unordered list An ordered list (You can find more examples at the bottom of this page) Unordered ListsAn unordered list is a list of items. The list items are marked with bullets (typically small black circles). An unordered list starts with the <ul> tag. Each list item starts with the <li> tag.
Here is how it looks in a browser:
Inside a list item you can put paragraphs, line breaks, images, links, other lists, etc. Ordered ListsAn ordered list is also a list of items. The list items are marked with numbers. An ordered list starts with the <ol> tag. Each list item starts with the <li> tag.
Here is how it looks in a browser:
Inside a list item you can put paragraphs, line breaks, images, links, other lists, etc. Definition ListsA definition list is not a list of items. This is a list of terms and explanation of the terms. A definition list starts with the <dl> tag. Each definition-list term starts with the <dt> tag. Each definition-list definition starts with the <dd> tag.
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. More ExamplesDifferent types of ordered
lists Different types of
unordered Lists Nested list Nested list
2 Definition list With HTML you can display images in a document. ExamplesInsert images Insert images from different
locations (You can find more examples at the bottom of this section) The Image Tag and the Src AttributeIn 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 where the image is stored. An image named "boat.gif" located in the directory "images" on "www.w3schools.com" has the URL: http://www.w3schools.com/images/boat.gif. The browser puts the image where the image tag occurs in the document. If you put an image tag between two paragraphs, the browser shows the first paragraph, then the image, and then the second paragraph. The Alt AttributeThe alt attribute is used to define an "alternate text" for an image. The value of the alt attribute is an author-defined text:
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. Basic Notes - Useful TipsIf an HTML file contains ten images - eleven files are required to display the page right. Loading images take time, so my best advice is: Use images carefully. More ExamplesBackground image Aligning images Let the image float Adjust images to different
sizes Display an alternate text for an
image Make a hyperlink of an image Create an image map Turn an image into an image map
ExamplesTables Table borders (You can find more examples at the bottom of this section) TablesTables are defined with the <table> tag. A table is divided into rows (with the <tr> tag), and each row is divided into data cells (with the <td> tag). The letters td stands for "table data," which is the content of a data cell. A data cell can contain text, images, lists, paragraphs, forms, horizontal rules, tables, etc.
How it looks in a browser:
Tables and the Border AttributeIf 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:
Headings in a TableHeadings in a table are defined with the <th> tag.
How it looks in a browser:
Empty Cells in a TableTable cells with no content are not displayed very well in most browsers.
How it looks in a browser:
Note that the borders around the empty table cell are missing. To avoid this, add a non-breaking space ( ) to empty data cells, to make the borders visible:
How it looks in a browser:
More ExamplesTable with no border Headings in a table Empty cells Table with a caption Table cells that span more
than one row/column Tags inside a table Cell padding Cell spacing Add a background color
or a background image to a table Add a background
color or a background image to a table cell Align the content in a table
cell The frame attribute
|