Post Link Sharing: Html

Header Ads Widget

ad728
Showing posts with label Html. Show all posts
Showing posts with label Html. Show all posts
HTML Learn

HTML Learn

    Introduction

    HTML stands for Hypertext Markup Language, and it is the most widely used language to write Web Pages.

    • Hypertext refers to the way in which Web pages (HTML documents) are linked together. Thus, the link available on a webpage is called Hypertext.

    • As its name suggests, HTML is a Markup Language which means you use HTML to simply "mark-up" a text document with tags that tell a Web browser how to structure it to display.

    Originally, HTML was developed with the intent of defining the structure of documents like headings, paragraphs, lists, and so forth to facilitate the sharing of scientific information between researchers.

    Now, HTML is being widely used to format web pages with the help of different tags available in HTML language.

    Basic HTML Document

    In its simplest form, following is an example of an HTML document −

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>This is document title</title>
       </head>
    	
       <body>
          <h1>This is a heading</h1>
          <p>Document content goes here.....</p>
       </body>
    	
    </html>

    HTML Tags

    As told earlier, HTML is a markup language and makes use of various tags to format the content. These tags are enclosed within angle braces <Tag Name>. Except few tags, most of the tags have their corresponding closing tags. For example, <html> has its closing tag </html> and <body> tag has its closing tag </body> tag etc.

    Above example of HTML document uses the following tags −

    Sr.No Tag & Description
    1 <!DOCTYPE...>

    This tag defines the document type and HTML version.

    2 <html>

    This tag encloses the complete HTML document and mainly comprises of document header which is represented by <head>...</head> and document body which is represented by <body>...</body> tags.

    3 <head>

    This tag represents the document's header which can keep other HTML tags like <title>, <link> etc.

    4 <title>

    The <title> tag is used inside the <head> tag to mention the document title.

    5 <body>

    This tag represents the document's body which keeps other HTML tags like <h1>, <div>, <p> etc.

    6 <h1>

    This tag represents the heading.

    7 <p>

    This tag represents a paragraph.

    To learn HTML, you will need to study various tags and understand how they behave, while formatting a textual document. Learning HTML is simple as users have to learn the usage of different tags in order to format the text or images to make a beautiful webpage.

    World Wide Web Consortium (W3C) recommends to use lowercase tags starting from HTML 4.

    HTML Document Structure

    A typical HTML document will have the following structure −

    <html>
       
       <head>
          Document header related tags
       </head>
       
       <body>
          Document body related tags
       </body>
       
    </html>

    We will study all the header and body tags in subsequent chapters, but for now let's see what is document declaration tag.

    The <!DOCTYPE> Declaration

    The <!DOCTYPE> declaration tag is used by the web browser to understand the version of the HTML used in the document. Current version of HTML is 5 and it makes use of the following declaration −

    <!DOCTYPE html>

    There are many other declaration types which can be used in HTML document depending on what version of HTML is being used. We will see more details on this while discussing <!DOCTYPE...> tag along with other HTML tags.

    Basic Tags

    Heading Tags

    Any document starts with a heading. You can use different sizes for your headings. HTML also has six levels of headings, which use the elements <h1>, <h2>, <h3>, <h4>, <h5>,and <h6>. While displaying any heading, browser adds one line before and one line after that heading.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Heading Example</title>
       </head>
    	
       <body>
          <h1>This is heading 1</h1>
          <h2>This is heading 2</h2>
          <h3>This is heading 3</h3>
          <h4>This is heading 4</h4>
          <h5>This is heading 5</h5>
          <h6>This is heading 6</h6>
       </body>
    	
    </html>

    This will produce the following result −

    Paragraph Tag

    The <p> tag offers a way to structure your text into different paragraphs. Each paragraph of text should go in between an opening <p> and a closing </p> tag as shown below in the example −

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Paragraph Example</title>
       </head>
    	
       <body>
          <p>Here is a first paragraph of text.</p>
          <p>Here is a second paragraph of text.</p>
          <p>Here is a third paragraph of text.</p>
       </body>
    	
    </html>

    This will produce the following result −

    Line Break Tag

    Whenever you use the <br /> element, anything following it starts from the next line. This tag is an example of an empty element, where you do not need opening and closing tags, as there is nothing to go in between them.

    The <br /> tag has a space between the characters br and the forward slash. If you omit this space, older browsers will have trouble rendering the line break, while if you miss the forward slash character and just use <br> it is not valid in XHTML.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Line Break  Example</title>
       </head>
    	
       <body>
          <p>Hello<br />
             You delivered your assignment ontime.<br />
             Thanks<br />
             Mahnaz</p>
       </body>
    	
    </html>

    This will produce the following result −

    Centering Content

    You can use <center> tag to put any content in the center of the page or any table cell.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Centring Content Example</title>
       </head>
    	
       <body>
          <p>This text is not in the center.</p>
          
          <center>
             <p>This text is in the center.</p>
          </center>
       </body>
    	
    </html>

    This will produce following result −

    Horizontal Lines

    Horizontal lines are used to visually break-up sections of a document. The <hr> tag creates a line from the current position in the document to the right margin and breaks the line accordingly.

    For example, you may want to give a line between two paragraphs as in the given example below −

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Horizontal Line Example</title>
       </head>
    	
       <body>
          <p>This is paragraph one and should be on top</p>
          <hr />
          <p>This is paragraph two and should be at bottom</p>
       </body>
    	
    </html>

    This will produce the following result −

    Again <hr /> tag is an example of the empty element, where you do not need opening and closing tags, as there is nothing to go in between them.

    The <hr /> element has a space between the characters hr and the forward slash. If you omit this space, older browsers will have trouble rendering the horizontal line, while if you miss the forward slash character and just use <hr> it is not valid in XHTML

    Preserve Formatting

    Sometimes, you want your text to follow the exact format of how it is written in the HTML document. In these cases, you can use the preformatted tag <pre>.

    Any text between the opening <pre> tag and the closing </pre> tag will preserve the formatting of the source document.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Preserve Formatting Example</title>
       </head>
    	
       <body>
          <pre>
             function testFunction( strText ){
                alert (strText)
             }
          </pre>
       </body>
    	
    </html>

    This will produce the following result −

    Try using the same code without keeping it inside <pre>...</pre> tags

    Nonbreaking Spaces

    Suppose you want to use the phrase "12 Angry Men." Here, you would not want a browser to split the "12, Angry" and "Men" across two lines −

    An example of this technique appears in the movie "12 Angry Men."
    

    In cases, where you do not want the client browser to break text, you should use a nonbreaking space entity &nbsp; instead of a normal space. For example, when coding the "12 Angry Men" in a paragraph, you should use something similar to the following code −

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Nonbreaking Spaces Example</title>
       </head>
    	
       <body>
          <p>An example of this technique appears in the movie "12&nbsp;Angry&nbsp;Men."</p>
       </body>
    	
    </html>

    This will produce the following result −

    Elements

    An HTML element is defined by a starting tag. If the element contains other content, it ends with a closing tag, where the element name is preceded by a forward slash as shown below with few tags −

    Start Tag Content End Tag
    <p> This is paragraph content. </p>
    <h1> This is heading content. </h1>
    <div> This is division content. </div>
    <br />    

    So here <p>....</p> is an HTML element, <h1>...</h1> is another HTML element. There are some HTML elements which don't need to be closed, such as <img.../><hr /> and <br /> elements. These are known as void elements.

    HTML documents consists of a tree of these elements and they specify how HTML documents should be built, and what kind of content should be placed in what part of an HTML document.

    HTML Tag vs. Element

    An HTML element is defined by a starting tag. If the element contains other content, it ends with a closing tag.

    For example, <p> is starting tag of a paragraph and </p> is closing tag of the same paragraph but <p>This is paragraph</p> is a paragraph element.

    Nested HTML Elements

    It is very much allowed to keep one HTML element inside another HTML element −

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Nested Elements Example</title>
       </head>
    	
       <body>
          <h1>This is <i>italic</i> heading</h1>
          <p>This is <u>underlined</u> paragraph</p>
       </body>
    	
    </html>

    This will display the following result −

    Attributes

    We have seen few HTML tags and their usage like heading tags <h1>, <h2>, paragraph tag <p> and other tags. We used them so far in their simplest form, but most of the HTML tags can also have attributes, which are extra bits of information.

    An attribute is used to define the characteristics of an HTML element and is placed inside the element's opening tag. All attributes are made up of two parts − a name and a value

    • The name is the property you want to set. For example, the paragraph <p>element in the example carries an attribute whose name is align, which you can use to indicate the alignment of paragraph on the page.

    • The value is what you want the value of the property to be set and always put within quotations. The below example shows three possible values of align attribute: left, center and right.

    Attribute names and attribute values are case-insensitive. However, the World Wide Web Consortium (W3C) recommends lowercase attributes/attribute values in their HTML 4 recommendation.

    Example

     Live Demo

    <!DOCTYPE html> 
    <html>
     
       <head> 
          <title>Align Attribute  Example</title> 
       </head>
    	
       <body> 
          <p align = "left">This is left aligned</p> 
          <p align = "center">This is center aligned</p> 
          <p align = "right">This is right aligned</p> 
       </body>
    	
    </html>

    This will display the following result −

    Core Attributes

    The four core attributes that can be used on the majority of HTML elements (although not all) are −

    • Id
    • Title
    • Class
    • Style

    The Id Attribute

    The id attribute of an HTML tag can be used to uniquely identify any element within an HTML page. There are two primary reasons that you might want to use an id attribute on an element −

    • If an element carries an id attribute as a unique identifier, it is possible to identify just that element and its content.

    • If you have two elements of the same name within a Web page (or style sheet), you can use the id attribute to distinguish between elements that have the same name.

    We will discuss style sheet in separate tutorial. For now, let's use the id attribute to distinguish between two paragraph elements as shown below.

    Example

    <p id = "html">This para explains what is HTML</p>
    <p id = "css">This para explains what is Cascading Style Sheet</p>
    

    The title Attribute

    The title attribute gives a suggested title for the element. They syntax for the title attribute is similar as explained for id attribute −

    The behavior of this attribute will depend upon the element that carries it, although it is often displayed as a tooltip when cursor comes over the element or while the element is loading.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>The title Attribute Example</title>
       </head>
    	
       <body>
          <h3 title = "Hello HTML!">Titled Heading Tag Example</h3>
       </body>
    	
    </html>

    This will produce the following result −

    Now try to bring your cursor over "Titled Heading Tag Example" and you will see that whatever title you used in your code is coming out as a tooltip of the cursor.

    The class Attribute

    The class attribute is used to associate an element with a style sheet, and specifies the class of element. You will learn more about the use of the class attribute when you will learn Cascading Style Sheet (CSS). So for now you can avoid it.

    The value of the attribute may also be a space-separated list of class names. For example −

    class = "className1 className2 className3"
    

    The style Attribute

    The style attribute allows you to specify Cascading Style Sheet (CSS) rules within the element.

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>The style Attribute</title>
       </head>
    	
       <body>
          <p style = "font-family:arial; color:#FF0000;">Some text...</p>
       </body>
    	
    </html>

    This will produce the following result −

    At this point of time, we are not learning CSS, so just let's proceed without bothering much about CSS. Here, you need to understand what are HTML attributes and how they can be used while formatting content.

    Internationalization Attributes

    There are three internationalization attributes, which are available for most (although not all) XHTML elements.

    • dir
    • lang
    • xml:lang

    The dir Attribute

    The dir attribute allows you to indicate to the browser about the direction in which the text should flow. The dir attribute can take one of two values, as you can see in the table that follows −

    Value Meaning
    ltr Left to right (the default value)
    rtl Right to left (for languages such as Hebrew or Arabic that are read right to left)

    Example

     Live Demo

    <!DOCTYPE html>
    <html dir = "rtl">
    
       <head>
          <title>Display Directions</title>
       </head>
    	
       <body>
          This is how IE 5 renders right-to-left directed text.
       </body>
    	
    </html>

    This will produce the following result −

    When dir attribute is used within the <html> tag, it determines how text will be presented within the entire document. When used within another tag, it controls the text's direction for just the content of that tag.

    The lang Attribute

    The lang attribute allows you to indicate the main language used in a document, but this attribute was kept in HTML only for backwards compatibility with earlier versions of HTML. This attribute has been replaced by the xml:lang attribute in new XHTML documents.

    The values of the lang attribute are ISO-639 standard two-character language codes. Check HTML Language Codes: ISO 639 for a complete list of language codes.

    Example

     Live Demo

    <!DOCTYPE html>
    <html lang = "en">
    
       <head>
          <title>English Language Page</title>
       </head>
    
       <body>
          This page is using English Language
       </body>
    
    </html>

    This will produce the following result −

    The xml:lang Attribute

    The xml:lang attribute is the XHTML replacement for the lang attribute. The value of the xml:lang attribute should be an ISO-639 country code as mentioned in previous section.

    Generic Attributes

    Here's a table of some other attributes that are readily usable with many of the HTML tags.

    Attribute Options Function
    align right, left, center Horizontally aligns tags
    valign top, middle, bottom Vertically aligns tags within an HTML element.
    bgcolor numeric, hexidecimal, RGB values Places a background color behind an element
    background URL Places a background image behind an element
    id User Defined Names an element for use with Cascading Style Sheets.
    class User Defined Classifies an element for use with Cascading Style Sheets.
    width Numeric Value Specifies the width of tables, images, or table cells.
    height Numeric Value Specifies the height of tables, images, or table cells.
    title User Defined "Pop-up" title of the elements.

    We will see related examples as we will proceed to study other HTML tags. For a complete list of HTML Tags and related attributes please check reference to HTML Tags List.

    Formatting

    If you use a word processor, you must be familiar with the ability to make text bold, italicized, or underlined; these are just three of the ten options available to indicate how text can appear in HTML and XHTML.

    Bold Text

    Anything that appears within <b>...</b> element, is displayed in bold as shown below −

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Bold Text Example</title>
       </head>
    	
       <body>
          <p>The following word uses a <b>bold</b> typeface.</p>
       </body>
    	
    </html>

    This will produce the following result −

    Italic Text

    Anything that appears within <i>...</i> element is displayed in italicized as shown below −

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Italic Text Example</title>
       </head>
    	
       <body>
          <p>The following word uses an <i>italicized</i> typeface.</p>
       </body>
    	
    </html>

    This will produce the following result −

    Underlined Text

    Anything that appears within <u>...</u> element, is displayed with underline as shown below −

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Underlined Text Example</title>
       </head>
    	
       <body>
          <p>The following word uses an <u>underlined</u> typeface.</p>
       </body>
    	
    </html>

    This will produce the following result −

    Strike Text

    Anything that appears within <strike>...</strike> element is displayed with strikethrough, which is a thin line through the text as shown below −

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Strike Text Example</title>
       </head>
    	
       <body>
          <p>The following word uses a <strike>strikethrough</strike> typeface.</p>
       </body>
    	
    </html>

    This will produce the following result −

    Monospaced Font

    The content of a <tt>...</tt> element is written in monospaced font. Most of the fonts are known as variable-width fonts because different letters are of different widths (for example, the letter 'm' is wider than the letter 'i'). In a monospaced font, however, each letter has the same width.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Monospaced Font Example</title>
       </head>
    	
       <body>
          <p>The following word uses a <tt>monospaced</tt> typeface.</p>
       </body>
    	
    </html>

    This will produce the following result −

    Superscript Text

    The content of a <sup>...</sup> element is written in superscript; the font size used is the same size as the characters surrounding it but is displayed half a character's height above the other characters.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Superscript Text Example</title>
       </head>
    	
       <body>
          <p>The following word uses a <sup>superscript</sup> typeface.</p>
       </body>
    	
    </html>

    This will produce the following result −

    Subscript Text

    The content of a <sub>...</sub> element is written in subscript; the font size used is the same as the characters surrounding it, but is displayed half a character's height beneath the other characters.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Subscript Text Example</title>
       </head>
    	
       <body>
          <p>The following word uses a <sub>subscript</sub> typeface.</p>
       </body>
    	
    </html>

    This will produce the following result −

    Inserted Text

    Anything that appears within <ins>...</ins> element is displayed as inserted text.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Inserted Text Example</title>
       </head>
    	
       <body>
          <p>I want to drink <del>cola</del> <ins>wine</ins></p>
       </body>
    	
    </html>

    This will produce the following result −

    Deleted Text

    Anything that appears within <del>...</del> element, is displayed as deleted text.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Deleted Text Example</title>
       </head>
    	
       <body>
          <p>I want to drink <del>cola</del> <ins>wine</ins></p>
       </body>
    	
    </html>

    This will produce the following result −

    Larger Text

    The content of the <big>...</big> element is displayed one font size larger than the rest of the text surrounding it as shown below −

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Larger Text Example</title>
       </head>
    	
       <body>
          <p>The following word uses a <big>big</big> typeface.</p>
       </body>
    	
    </html>

    This will produce the following result −

    Smaller Text

    The content of the <small>...</small> element is displayed one font size smaller than the rest of the text surrounding it as shown below −

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Smaller Text Example</title>
       </head>
    
       <body>
          <p>The following word uses a <small>small</small> typeface.</p>
       </body>
    
    </html>

    This will produce the following result −

    Grouping Content

    The <div> and <span> elements allow you to group together several elements to create sections or subsections of a page.

    For example, you might want to put all of the footnotes on a page within a <div> element to indicate that all of the elements within that <div> element relate to the footnotes. You might then attach a style to this <div> element so that they appear using a special set of style rules.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Div Tag Example</title>
       </head>
    	
       <body>
          <div id = "menu" align = "middle" >
             <a href = "/index.htm">HOME</a> | 
             <a href = "/about/contact_us.htm">CONTACT</a> | 
             <a href = "/about/index.htm">ABOUT</a>
          </div>
    
          <div id = "content" align = "left" bgcolor = "white">
             <h5>Content Articles</h5>
             <p>Actual content goes here.....</p>
          </div>
       </body>
    	
    </html>

    This will produce the following result −

    The <span> element, on the other hand, can be used to group inline elements only. So, if you have a part of a sentence or paragraph which you want to group together, you could use the <span> element as follows.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Span Tag Example</title>
       </head>
    	
       <body>
          <p>This is the example of <span style = "color:green">span tag</span>
             and the <span style = "color:red">div tag</span> alongwith CSS</p>
       </body>
    	
    </html>

    This will produce the following result −

    These tags are commonly used with CSS to allow you to attach a style to a section of a page.

    Images

    Images are very important to beautify as well as to depict many complex concepts in simple way on your web page. This tutorial will take you through simple steps to use images in your web pages.

    Insert Image

    You can insert any image in your web page by using <img> tag. Following is the simple syntax to use this tag.

    <img src = "Image URL" ... attributes-list/>
    

    The <img> tag is an empty tag, which means that, it can contain only list of attributes and it has no closing tag.

    Example

    To try following example, let's keep our HTML file test.htm and image file test.png in the same directory −

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Using Image in Webpage</title>
       </head>
    	
       <body>
          <p>Simple Image Insert</p>
          <img src = "/html/images/test.png" alt = "Test Image" />
       </body>
    	
    </html>

    This will produce the following result −

    You can use PNG, JPEG or GIF image file based on your comfort but make sure you specify correct image file name in src attribute. Image name is always case sensitive.

    The alt attribute is a mandatory attribute which specifies an alternate text for an image, if the image cannot be displayed.

    Set Image Location

    Usually we keep all the images in a separate directory. So let's keep HTML file test.htm in our home directory and create a subdirectory images inside the home directory where we will keep our image test.png.

    Example

    Assuming our image location is "image/test.png", try the following example −

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Using Image in Webpage</title>
       </head>
    	
       <body>
          <p>Simple Image Insert</p>
          <img src = "/html/images/test.png" alt = "Test Image" />
       </body>
    	
    </html>

    This will produce the following result −

    Set Image Width/Height

    You can set image width and height based on your requirement using width and heightattributes. You can specify width and height of the image in terms of either pixels or percentage of its actual size.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Set Image Width and Height</title>
       </head>
    	
       <body>
          <p>Setting image width and height</p>
          <img src = "/html/images/test.png" alt = "Test Image" width = "150" height = "100"/>
       </body>
    	
    </html>

    This will produce the following result −

    Set Image Border

    By default, image will have a border around it, you can specify border thickness in terms of pixels using border attribute. A thickness of 0 means, no border around the picture.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Set Image Border</title>
       </head>
    	
       <body>
          <p>Setting image Border</p>
          <img src = "/html/images/test.png" alt = "Test Image" border = "3"/>
       </body>
    	
    </html>

    This will produce the following result −

    Set Image Alignment

    By default, image will align at the left side of the page, but you can use align attribute to set it in the center or right.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Set Image Alignment</title>
       </head>
    	
       <body>
          <p>Setting image Alignment</p>
          <img src = "/html/images/test.png" alt = "Test Image" border = "3" align = "right"/>
       </body>
    	
    </html>

    This will produce the following result −

    Free Web Graphics

    For Free Web Graphics including patterns you can look into Free Web Graphics

    Tables

    The HTML tables allow web authors to arrange data like text, images, links, other tables, etc. into rows and columns of cells.

    The HTML tables are created using the <table> tag in which the <tr> tag is used to create table rows and <td> tag is used to create data cells. The elements under <td> are regular and left aligned by default

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Tables</title>
       </head>
    	
       <body>
          <table border = "1">
             <tr>
                <td>Row 1, Column 1</td>
                <td>Row 1, Column 2</td>
             </tr>
             
             <tr>
                <td>Row 2, Column 1</td>
                <td>Row 2, Column 2</td>
             </tr>
          </table>
          
       </body>
    </html>

    This will produce the following result −

    Here, the border is an attribute of <table> tag and it is used to put a border across all the cells. If you do not need a border, then you can use border = "0".

    Table Heading

    Table heading can be defined using <th> tag. This tag will be put to replace <td> tag, which is used to represent actual data cell. Normally you will put your top row as table heading as shown below, otherwise you can use <th> element in any row. Headings, which are defined in <th> tag are centered and bold by default.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Table Header</title>
       </head>
    	
       <body>
          <table border = "1">
             <tr>
                <th>Name</th>
                <th>Salary</th>
             </tr>
             <tr>
                <td>Ramesh Raman</td>
                <td>5000</td>
             </tr>
             
             <tr>
                <td>Shabbir Hussein</td>
                <td>7000</td>
             </tr>
          </table>
       </body>
       
    </html>

    This will produce the following result −

    Cellpadding and Cellspacing Attributes

    There are two attributes called cellpadding and cellspacing which you will use to adjust the white space in your table cells. The cellspacing attribute defines space between table cells, while cellpadding represents the distance between cell borders and the content within a cell.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Table Cellpadding</title>
       </head>
    	
       <body>
          <table border = "1" cellpadding = "5" cellspacing = "5">
             <tr>
                <th>Name</th>
                <th>Salary</th>
             </tr>
             <tr>
                <td>Ramesh Raman</td>
                <td>5000</td>
             </tr>
             <tr>
                <td>Shabbir Hussein</td>
                <td>7000</td>
             </tr>
          </table>
       </body>
    	
    </html>

    This will produce the following result −

    Colspan and Rowspan Attributes

    You will use colspan attribute if you want to merge two or more columns into a single column. Similar way you will use rowspan if you want to merge two or more rows.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Table Colspan/Rowspan</title>
       </head>
    	
       <body>
          <table border = "1">
             <tr>
                <th>Column 1</th>
                <th>Column 2</th>
                <th>Column 3</th>
             </tr>
             <tr>
                <td rowspan = "2">Row 1 Cell 1</td>
                <td>Row 1 Cell 2</td>
                <td>Row 1 Cell 3</td>
             </tr>
             <tr>
                <td>Row 2 Cell 2</td>
                <td>Row 2 Cell 3</td>
             </tr>
             <tr>
                <td colspan = "3">Row 3 Cell 1</td>
             </tr>
          </table>
       </body>
    	
    </html>

    This will produce the following result −

    Tables Backgrounds

    You can set table background using one of the following two ways −

    • bgcolor attribute − You can set background color for whole table or just for one cell.

    • background attribute − You can set background image for whole table or just for one cell.

    You can also set border color also using bordercolor attribute.

    Note − The bgcolorbackground, and bordercolor attributes deprecated in HTML5. Do not use these attributes.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Table Background</title>
       </head>
    	
       <body>
          <table border = "1" bordercolor = "green" bgcolor = "yellow">
             <tr>
                <th>Column 1</th>
                <th>Column 2</th>
                <th>Column 3</th>
             </tr>
             <tr>
                <td rowspan = "2">Row 1 Cell 1</td>
                <td>Row 1 Cell 2</td>
                <td>Row 1 Cell 3</td>
             </tr>
             <tr>
                <td>Row 2 Cell 2</td>
                <td>Row 2 Cell 3</td>
             </tr>
             <tr>
                <td colspan = "3">Row 3 Cell 1</td>
             </tr>
          </table>
       </body>
    	
    </html>

    This will produce the following result −

    Here is an example of using background attribute. Here we will use an image available in /images directory.

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Table Background</title>
       </head>
    	
       <body>
          <table border = "1" bordercolor = "green" background = "/images/test.png">
             <tr>
                <th>Column 1</th>
                <th>Column 2</th>
                <th>Column 3</th>
             </tr>
             <tr>
                <td rowspan = "2">Row 1 Cell 1</td>
                <td>Row 1 Cell 2</td><td>Row 1 Cell 3</td>
             </tr>
             <tr>
                <td>Row 2 Cell 2</td>
                <td>Row 2 Cell 3</td>
             </tr>
             <tr>
                <td colspan = "3">Row 3 Cell 1</td>
             </tr>
          </table>
       </body>
    	
    </html>

    This will produce the following result. Here background image did not apply to table's header.

    Table Height and Width

    You can set a table width and height using width and height attributes. You can specify table width or height in terms of pixels or in terms of percentage of available screen area.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Table Width/Height</title>
       </head>
    	
       <body>
          <table border = "1" width = "400" height = "150">
             <tr>
                <td>Row 1, Column 1</td>
                <td>Row 1, Column 2</td>
             </tr>
             
             <tr>
                <td>Row 2, Column 1</td>
                <td>Row 2, Column 2</td>
             </tr>
          </table>
       </body>
    	
    </html>

    This will produce the following result −

    Table Caption

    The caption tag will serve as a title or explanation for the table and it shows up at the top of the table. This tag is deprecated in newer version of HTML/XHTML.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Table Caption</title>
       </head>
    	
       <body>
          <table border = "1" width = "100%">
             <caption>This is the caption</caption>
             
             <tr>
                <td>row 1, column 1</td><td>row 1, columnn 2</td>
             </tr>
             
             <tr>
                <td>row 2, column 1</td><td>row 2, columnn 2</td>
             </tr>
          </table>
       </body>
    	
    </html>

    This will produce the following result −

    Table Header, Body, and Footer

    Tables can be divided into three portions − a header, a body, and a foot. The head and foot are rather similar to headers and footers in a word-processed document that remain the same for every page, while the body is the main content holder of the table.

    The three elements for separating the head, body, and foot of a table are −

    • <thead> − to create a separate table header.

    • <tbody> − to indicate the main body of the table.

    • <tfoot> − to create a separate table footer.

    A table may contain several <tbody> elements to indicate different pages or groups of data. But it is notable that <thead> and <tfoot> tags should appear before <tbody>

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Table</title>
       </head>
    	
       <body>
          <table border = "1" width = "100%">
             <thead>
                <tr>
                   <td colspan = "4">This is the head of the table</td>
                </tr>
             </thead>
             
             <tfoot>
                <tr>
                   <td colspan = "4">This is the foot of the table</td>
                </tr>
             </tfoot>
             
             <tbody>
                <tr>
                   <td>Cell 1</td>
                   <td>Cell 2</td>
                   <td>Cell 3</td>
                   <td>Cell 4</td>
                </tr>
             </tbody>
             
          </table>
       </body>
    	
    </html>

    This will produce the following result −

    Nested Tables

    You can use one table inside another table. Not only tables you can use almost all the tags inside table data tag <td>.

    Example

    Following is the example of using another table and other tags inside a table cell.

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Table</title>
       </head>
    	
       <body>
          <table border = "1" width = "100%">
             
             <tr>
                <td>
                   <table border = "1" width = "100%">
                      <tr>
                         <th>Name</th>
                         <th>Salary</th>
                      </tr>
                      <tr>
                         <td>Ramesh Raman</td>
                         <td>5000</td>
                      </tr>
                      <tr>
                         <td>Shabbir Hussein</td>
                         <td>7000</td>
                      </tr>
                   </table>
                </td>
             </tr>
             
          </table>
       </body>
    	
    </html>

    This will produce the following result −

    List

    HTML offers web authors three ways for specifying lists of information. All lists must contain one or more list elements. Lists may contain −

    • <ul> − An unordered list. This will list items using plain bullets.

    • <ol> − An ordered list. This will use different schemes of numbers to list your items.

    • <dl> − A definition list. This arranges your items in the same way as they are arranged in a dictionary.

    HTML Unordered Lists

    An unordered list is a collection of related items that have no special order or sequence. This list is created by using HTML <ul> tag. Each item in the list is marked with a bullet.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Unordered List</title>
       </head>
    	
       <body>
          <ul>
             <li>Beetroot</li>
             <li>Ginger</li>
             <li>Potato</li>
             <li>Radish</li>
          </ul>
       </body>
       
    </html>

    This will produce the following result −

    The type Attribute

    You can use type attribute for <ul> tag to specify the type of bullet you like. By default, it is a disc. Following are the possible options −

    <ul type = "square">
    <ul type = "disc">
    <ul type = "circle">
    

    Example

    Following is an example where we used <ul type = "square">

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Unordered List</title>
       </head>
    
       <body>
          <ul type = "square">
             <li>Beetroot</li>
             <li>Ginger</li>
             <li>Potato</li>
             <li>Radish</li>
          </ul>
       </body>
    
    </html>

    This will produce the following result −

    Example

    Following is an example where we used <ul type = "disc"> −

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Unordered List</title>
       </head>
    	
       <body>
          <ul type = "disc">
             <li>Beetroot</li>
             <li>Ginger</li>
             <li>Potato</li>
             <li>Radish</li>
          </ul>
       </body>
    
    </html>

    This will produce the following result −

    Example

    Following is an example where we used <ul type = "circle"> −

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Unordered List</title>
       </head>
    
       <body>
          <ul type = "circle">
             <li>Beetroot</li>
             <li>Ginger</li>
             <li>Potato</li>
             <li>Radish</li>
          </ul>
       </body>
    	
    </html>

    This will produce the following result −

    HTML Ordered Lists

    If you are required to put your items in a numbered list instead of bulleted, then HTML ordered list will be used. This list is created by using <ol> tag. The numbering starts at one and is incremented by one for each successive ordered list element tagged with <li>.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Ordered List</title>
       </head>
    
       <body>
          <ol>
             <li>Beetroot</li>
             <li>Ginger</li>
             <li>Potato</li>
             <li>Radish</li>
          </ol>
       </body>
    
    </html>

    This will produce the following result −

    The type Attribute

    You can use type attribute for <ol> tag to specify the type of numbering you like. By default, it is a number. Following are the possible options −

    <ol type = "1"> - Default-Case Numerals.
    <ol type = "I"> - Upper-Case Numerals.
    <ol type = "i"> - Lower-Case Numerals.
    <ol type = "A"> - Upper-Case Letters.
    <ol type = "a"> - Lower-Case Letters.
    

    Example

    Following is an example where we used <ol type = "1">

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Ordered List</title>
       </head>
    
       <body>
          <ol type = "1">
             <li>Beetroot</li>
             <li>Ginger</li>
             <li>Potato</li>
             <li>Radish</li>
          </ol>
       </body>
    
    </html>

    This will produce the following result −

    Example

    Following is an example where we used <ol type = "I">

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Ordered List</title>
       </head>
    	
       <body>
          <ol type = "I">
             <li>Beetroot</li>
             <li>Ginger</li>
             <li>Potato</li>
             <li>Radish</li>
          </ol>
       </body>
    	
    </html>

    This will produce the following result −

    Example

    Following is an example where we used <ol type = "i">

     Live Demo

    <!DOCTYPE html>
    <html>
       
       <head>
          <title>HTML Ordered List</title>
       </head>
    	
       <body>
          <ol type = "i">
             <li>Beetroot</li>
             <li>Ginger</li>
             <li>Potato</li>
             <li>Radish</li>
          </ol>
       </body>
    	
    </html>

    This will produce the following result −

    Example

    Following is an example where we used <ol type = "A" >

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Ordered List</title>
       </head>
    	
       <body>
          <ol type = "A">
             <li>Beetroot</li>
             <li>Ginger</li>
             <li>Potato</li>
             <li>Radish</li>
          </ol>
       </body>
    	
    </html>

    This will produce the following result −

    Example

    Following is an example where we used <ol type = "a">

     Live Demo

    <!DOCTYPE html>
    <html>
       
       <head>
          <title>HTML Ordered List</title>
       </head>
    	
       <body>
          <ol type = "a">
             <li>Beetroot</li>
             <li>Ginger</li>
             <li>Potato</li>
             <li>Radish</li>
          </ol>
       </body>
    	
    </html>

    This will produce the following result −

    The start Attribute

    You can use start attribute for <ol> tag to specify the starting point of numbering you need. Following are the possible options −

    <ol type = "1" start = "4">    - Numerals starts with 4.
    <ol type = "I" start = "4">    - Numerals starts with IV.
    <ol type = "i" start = "4">    - Numerals starts with iv.
    <ol type = "a" start = "4">    - Letters starts with d.
    <ol type = "A" start = "4">    - Letters starts with D.
    

    Example

    Following is an example where we used <ol type = "i" start = "4" >

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Ordered List</title>
       </head>
    	
       <body>
          <ol type = "i" start = "4">
             <li>Beetroot</li>
             <li>Ginger</li>
             <li>Potato</li>
             <li>Radish</li>
          </ol>
       </body>
    	
    </html>

    This will produce the following result −

    HTML Definition Lists

    HTML and XHTML supports a list style which is called definition lists where entries are listed like in a dictionary or encyclopedia. The definition list is the ideal way to present a glossary, list of terms, or other name/value list.

    Definition List makes use of following three tags.

    • <dl> − Defines the start of the list
    • <dt> − A term
    • <dd> − Term definition
    • </dl> − Defines the end of the list

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Definition List</title>
       </head>
    	
       <body>
          <dl>
             <dt><b>HTML</b></dt>
             <dd>This stands for Hyper Text Markup Language</dd>
             <dt><b>HTTP</b></dt>
             <dd>This stands for Hyper Text Transfer Protocol</dd>
          </dl>
       </body>
    	
    </html>

    This will produce the following result −

    Text Links

    A webpage can contain various links that take you directly to other pages and even specific parts of a given page. These links are known as hyperlinks.

    Hyperlinks allow visitors to navigate between Web sites by clicking on words, phrases, and images. Thus you can create hyperlinks using text or images available on a webpage.

    Note − I recommend you to go through a short tutorial on Understanding URL

    Linking Documents

    A link is specified using HTML tag <a>. This tag is called anchor tag and anything between the opening <a> tag and the closing </a> tag becomes part of the link and a user can click that part to reach to the linked document. Following is the simple syntax to use <a> tag.

    <a href = "Document URL" ... attributes-list>Link Text</a> 
    

    Example

    Let's try following example which links http://www.tutorialspoint.com at your page −

     Live Demo

    <!DOCTYPE html>
    <html>
       
       <head>
          <title>Hyperlink Example</title>
       </head>
    	
       <body>
          <p>Click following link</p>
          <a href = "https://www.tutorialspoint.com" target = "_self">Tutorials Point</a>
       </body>
    	
    </html>

    This will produce the following result, where you can click on the link generated to reach to the home page of Tutorials Point (in this example).

    The target Attribute

    We have used target attribute in our previous example. This attribute is used to specify the location where linked document is opened. Following are the possible options −

    Sr.No Option & Description
    1

    _blank

    Opens the linked document in a new window or tab.

    2

    _self

    Opens the linked document in the same frame.

    3

    _parent

    Opens the linked document in the parent frame.

    4

    _top

    Opens the linked document in the full body of the window.

    5

    targetframe

    Opens the linked document in a named targetframe.

    Example

    Try following example to understand basic difference in few options given for target attribute.

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Hyperlink Example</title>
          <base href = "https://www.tutorialspoint.com/">
       </head>
    	
       <body>
          <p>Click any of the following links</p>
          <a href = "/html/index.htm" target = "_blank">Opens in New</a> |
          <a href = "/html/index.htm" target = "_self">Opens in Self</a> |
          <a href = "/html/index.htm" target = "_parent">Opens in Parent</a> |
          <a href = "/html/index.htm" target = "_top">Opens in Body</a>
       </body>
    
    </html>

    This will produce the following result, where you can click on different links to understand the difference between various options given for target attribute.

    Use of Base Path

    When you link HTML documents related to the same website, it is not required to give a complete URL for every link. You can get rid of it if you use <base> tag in your HTML document header. This tag is used to give a base path for all the links. So your browser will concatenate given relative path to this base path and will make a complete URL.

    Example

    Following example makes use of <base> tag to specify base URL and later we can use relative path to all the links instead of giving complete URL for every link.

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Hyperlink Example</title>
          <base href = "https://www.tutorialspoint.com/">
       </head>
    	
       <body>
          <p>Click following link</p>
          <a href = "/html/index.htm" target = "_blank">HTML Tutorial</a>
       </body>
    	
    </html>

    This will produce the following result, where you can click on the link generated HTML Tutorial to reach to the HTML tutorial.

    Now given URL <a href = "/html/index.htm" is being considered as <ahref = "http://www.tutorialspoint.com/html/index.htm"

    Linking to a Page Section

    You can create a link to a particular section of a given webpage by using name attribute. This is a two-step process.

    Note − The name attribute deprecated in HTML5. Do not use this attribute. Use id and title attribute instead.

    First create a link to the place where you want to reach with-in a webpage and name it using <a...> tag as follows −

    <h1>HTML Text Links <a name = "top"></a></h1>
    

    Second step is to create a hyperlink to link the document and place where you want to reach −

    <a href = "/html/html_text_links.htm#top">Go to the Top</a>
    

    This will produce following link, where you can click on the link generated Go to the Topto reach to the top of the HTML Text Link tutorial.

    Go to the Top 
    

    Setting Link Colors

    You can set colors of your links, active links and visited links using linkalink and vlinkattributes of <body> tag.

    Example

    Save the following in test.htm and open it in any web browser to see how linkalink and vlink attributes work.

     Live Demo

    <!DOCTYPE html>
    <html>
       
       <head>
          <title>Hyperlink Example</title>
          <base href = "https://www.tutorialspoint.com/">
       </head>
    	
       <body alink = "#54A250" link = "#040404" vlink = "#F40633">
          <p>Click following link</p>
          <a href = "/html/index.htm" target = "_blank" >HTML Tutorial</a>
       </body>
       
    </html>

    This will produce the following result. Just check color of the link before clicking on it, next check its color when you activate it and when the link has been visited.

    Download Links

    You can create text link to make your PDF, or DOC or ZIP files downloadable. This is very simple; you just need to give complete URL of the downloadable file as follows −

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Hyperlink Example</title>
       </head>
    	
       <body>
          <a href = "https://www.tutorialspoint.com/page.pdf">Download PDF File</a>
       </body>
    	
    </html>

    This will produce following link and will be used to download a file.

    File Download Dialog Box

    Sometimes it is desired that you want to give an option where a user will click a link and it will pop up a "File Download" box to the user instead of displaying actual content. This is very easy and can be achieved using an HTTP header in your HTTP response.

    For example, if you want make a Filename file downloadable from a given link then its syntax will be as follows.

    #!/usr/bin/perl
    
    # Additional HTTP Header
    print "Content-Type:application/octet-stream; name = \"FileName\"\r\n";
    print "Content-Disposition:attachment; filename = \"FileName\"\r\n\n";
    
    # Open the target file and list down its content as follows
    open( FILE, "<FileName" );
    
    while(read(FILE, $buffer, 100)){
       print("$buffer");
    }

    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.

    Note − The <frame> tag deprecated in HTML5. Do not use this element.

    Example

    Following is the example to create three horizontal frames −

     Live Demo

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

    This will produce the following result −

    Example

    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 −

     Live Demo

    <!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 the following result −

    The <frameset> Tag Attributes

    Following are important attributes of the <frameset> tag −

    Sr.No Attribute & Description
    1

    cols

    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 −

    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.

    2

    rows

    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 rows = "10%, 90%". You can specify the height of each row in the same way as explained above for columns.

    3

    border

    This attribute specifies the width of the border of each frame in pixels. For example, border = "5". A value of zero means no border.

    4

    frameborder

    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.

    5

    framespacing

    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.

    The <frame> Tag Attributes

    Following are the important attributes of <frame> tag −

    Sr.No Attribute & Description
    1

    src

    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.

    2

    name

    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.

    3

    frameborder

    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).

    4

    marginwidth

    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".

    5

    marginheight

    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".

    6

    noresize

    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".

    7

    scrolling

    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.

    8

    longdesc

    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"

    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 −

     Live Demo

    <!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 menu bar 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 menu bar, we have mentioned target frame as main_page, so whenever you click any of the links in menu bar, available link will open in main page.

    Following is the content of menu.htm file

     Live Demo

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

     Live Demo

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

    When we load test.htm file, it produces following result −

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

    Sr.No Option & Description
    1

    _self

    Loads the page into the current frame.

    2

    _blank

    Loads a page into a new browser window. Opening a new window.

    3

    _parent

    Loads the page into the parent window, which in the case of a single frameset is the main browser window.

    4

    _top

    Loads the page into the browser window, replacing any current frames.

    5

    targetframe

    Loads the page into a named targetframe.

    Style Sheet

    Cascading Style Sheets (CSS) describe how documents are presented on screens, in print, or perhaps how they are pronounced. W3C has actively promoted the use of style sheets on the Web since the consortium was founded in 1994.

    Cascading Style Sheets (CSS) provide easy and effective alternatives to specify various attributes for the HTML tags. Using CSS, you can specify a number of style properties for a given HTML element. Each property has a name and a value, separated by a colon (:). Each property declaration is separated by a semi-colon (;).

    Example

    First let's consider an example of HTML document which makes use of <font> tag and associated attributes to specify text color and font size −

    Note − The font tag deprecated and it is supposed to be removed in a future version of HTML. So they should not be used rather, it's suggested to use CSS styles to manipulate your fonts. But still for learning purpose, this chapter will work with an example using the font tag.

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML CSS</title>
       </head>
    	
       <body>
          <p><font color = "green" size = "5">Hello, World!</font></p>
       </body>
    
    </html>

    We can re-write above example with the help of Style Sheet as follows −

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML CSS</title>
       </head>
    
       <body>
          <p style = "color:green; font-size:24px;" >Hello, World!</p>
       </body>
    
    </html>

    This will produce the following result −

    You can use CSS in three ways in your HTML document −

    • External Style Sheet − Define style sheet rules in a separate .css file and then include that file in your HTML document using HTML <link> tag.

    • Internal Style Sheet − Define style sheet rules in header section of the HTML document using <style> tag.

    • Inline Style Sheet − Define style sheet rules directly along-with the HTML elements using style attribute.

    Let's see all the three cases one by one with the help of suitable examples.

    External Style Sheet

    If you need to use your style sheet to various pages, then its always recommended to define a common style sheet in a separate file. A cascading style sheet file will have extension as .css and it will be included in HTML files using <link> tag.

    Example

    Consider we define a style sheet file style.css which has following rules −

    .red {
       color: red;
    }
    .thick {
       font-size:20px;
    }
    .green {
       color:green;
    }

    Here we defined three CSS rules which will be applicable to three different classes defined for the HTML tags. I suggest you should not bother about how these rules are being defined because you will learn them while studying CSS. Now let's make use of the above external CSS file in our following HTML document −

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML External CSS</title>
          <link rel = "stylesheet" type = "text/css" href = "/html/style.css">
       </head>
    
       <body>
          <p class = "red">This is red</p>
          <p class = "thick">This is thick</p>
          <p class = "green">This is green</p>
          <p class = "thick green">This is thick and green</p>
       </body>
    
    </html>

    This will produce the following result −

    Internal Style Sheet

    If you want to apply Style Sheet rules to a single document only, then you can include those rules in header section of the HTML document using <style> tag.

    Rules defined in internal style sheet overrides the rules defined in an external CSS file.

    Example

    Let's re-write above example once again, but here we will write style sheet rules in the same HTML document using <style> tag −

     Live Demo

    <!DOCTYPE html> 
    <html>
     
       <head> 
          <title>HTML Internal CSS</title> 
          
          <style type = "text/css"> 
             .red { 
                color: red; 
             } 
             .thick{ 
                font-size:20px; 
             } 
             .green { 
                color:green; 
             } 
          </style> 
       </head>
    	
       <body> 
          <p class = "red">This is red</p>  
          <p class = "thick">This is thick</p>  
          <p class = "green">This is green</p>  
          <p class = "thick green">This is thick and green</p> 
       </body>
    	
    </html>

    This will produce the following result −

    Inline Style Sheet

    You can apply style sheet rules directly to any HTML element using style attribute of the relevant tag. This should be done only when you are interested to make a particular change in any HTML element only.

    Rules defined inline with the element overrides the rules defined in an external CSS file as well as the rules defined in <style> element.

    Example

    Let's re-write above example once again, but here we will write style sheet rules along with the HTML elements using style attribute of those elements.

     Live Demo

    <!DOCTYPE html> 
    <html>
     
       <head> 
          <title>HTML Inline CSS</title> 
       </head>
     
       <body> 
          <p style = "color:red;">This is red</p>  
          <p style = "font-size:20px;">This is thick</p>  
          <p style = "color:green;">This is green</p>  
          <p style = "color:green;font-size:20px;">This is thick and green</p> 
       </body>
     
    </html> 

    This will produce the following result −

    Marquees

    An HTML marquee is a scrolling piece of text displayed either horizontally across or vertically down your webpage depending on the settings. This is created by using HTML <marquees> tag.

    Note − The <marquee> tag deprecated in HTML5. Do not use this element, instead you can use JavaScript and CSS to create such effects.

    Syntax

    A simple syntax to use HTML <marquee> tag is as follows −

    <marquee attribute_name = "attribute_value"....more attributes>
       One or more lines or text message or image
    </marquee>
    

    The <marquee> Tag Attributes

    Following is the list of important attributes which can be used with <marquee> tag.

    Sr.No Attribute & Description
    1

    width

    This specifies the width of the marquee. This can be a value like 10 or 20% etc.

    2

    height

    This specifies the height of the marquee. This can be a value like 10 or 20% etc.

    3

    direction

    This specifies the direction in which marquee should scroll. This can be a value like up, down, left or right.

    4

    behavior

    This specifies the type of scrolling of the marquee. This can have a value like scroll, slide and alternate.

    5

    scrolldelay

    This specifies how long to delay between each jump. This will have a value like 10 etc.

    6

    scrollamount

    This specifies the speed of marquee text. This can have a value like 10 etc.

    7

    loop

    This specifies how many times to loop. The default value is INFINITE, which means that the marquee loops endlessly.

    8

    bgcolor

    This specifies background color in terms of color name or color hex value.

    9

    hspace

    This specifies horizontal space around the marquee. This can be a value like 10 or 20% etc.

    10

    vspace

    This specifies vertical space around the marquee. This can be a value like 10 or 20% etc.

    Below are few examples to demonstrate the usage of marquee tag.

    Examples - 1

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML marquee Tag</title>
       </head>
    	
       <body>
          <marquee>This is basic example of marquee</marquee>
       </body>
    	
    </html>

    This will produce the following result −

    Examples - 2

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML marquee Tag</title>
       </head>
    	
       <body>
          <marquee width = "50%">This example will take only 50% width</marquee>
       </body>
    	
    </html>

    This will produce the following result −

    Examples - 3

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML marquee Tag</title>
       </head>
    
       <body>
          <marquee direction = "right">This text will scroll from left to right</marquee>
       </body>
    	
    </html>

    This will produce the following result −

    Examples - 4

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML marquee Tag</title>
       </head>
    	
       <body>
          <marquee direction = "up">This text will scroll from bottom to up</marquee>
       </body>
    	
    </html>

    This will produce the following result −

    Javascript

    script is a small piece of program that can add interactivity to your website. For example, a script could generate a pop-up alert box message, or provide a dropdown menu. This script could be written using JavaScript or VBScript.

    You can write various small functions, called event handlers using any of the scripting language and then you can trigger those functions using HTML attributes.

    Now-a-days, only JavaScript and associated frameworks are being used by most of the web developers, VBScript is not even supported by various major browsers.

    You can keep JavaScript code in a separate file and then include it wherever it's needed, or you can define functionality inside HTML document itself. Let's see both the cases one by one with suitable examples.

    External JavaScript

    If you are going to define a functionality which will be used in various HTML documents then it's better to keep that functionality in a separate JavaScript file and then include that file in your HTML documents. A JavaScript file will have extension as .js and it will be included in HTML files using <script> tag.

    Example

    Consider we define a small function using JavaScript in script.js which has following code −

    function Hello() {
       alert("Hello, World");
    }
    

    Now let's make use of the above external JavaScript file in our following HTML document −

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Javascript External Script</title>
          <script src = "/html/script.js" type = "text/javascript"/></script>
       </head>
    
       <body>
          <input type = "button" onclick = "Hello();" name = "ok" value = "Click Me" />
       </body>
    
    </html>

    This will produce the following result, where you can try to click on the given button −

    Internal Script

    You can write your script code directly into your HTML document. Usually we keep script code in header of the document using <script> tag, otherwise there is no restriction and you can put your source code anywhere in the document but inside <script> tag.

    Example

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>JavaScript Internal Script</title>
          <base href = "https://www.tutorialspoint.com/" />
          
          <script type = "text/JavaScript">
             function Hello() {
                alert("Hello, World");
             }
          </script>
       </head>
    
       <body>
          <input type = "button" onclick = "Hello();" name = "ok" value = "Click Me" />
       </body>
    
    </html>

    This will produce the following result, where you can try to click on the given button −

    Event Handlers

    Event handlers are nothing but simply defined functions which can be called against any mouse or keyboard event. You can define your business logic inside your event handler which can vary from a single to 1000s of line code.

    Following example explains how to write an event handler. Let's write one simple function EventHandler() in the header of the document. We will call this function when any user brings mouse over a paragraph.

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Event Handlers Example</title>
          <base href = "https://www.tutorialspoint.com/" />
          
          <script type = "text/JavaScript">
             function EventHandler() {
                alert("I'm event handler!!");
             }
          </script>
       </head>
    
       <body>
          <p onmouseover = "EventHandler();">Bring your mouse here to see an alert</p>
       </body>
    
    </html>

    Now This will produce the following result. Bring your mouse over this line and see the result −

    Hide Scripts from Older Browsers

    Although most (if not all) browsers these days support JavaScript, but still some older browsers don't. If a browser doesn't support JavaScript, instead of running your script, it would display the code to the user. To prevent this, you can simply place HTML comments around the script as shown below.

    JavaScript Example:
    <script type = "text/JavaScript">
       <!--
          document.write("Hello JavaScript!");
       //-->
    </script>
    
    VBScript Example:
    <script type = "text/vbscript">
       <!--
          document.write("Hello VBScript!")
       '-->
    </script>

    The <noscript> Element

    You can also provide alternative info to the users whose browsers don't support scripts and for those users who have disabled script option their browsers. You can do this using the <noscript> tag.

    JavaScript Example:
    <script type = "text/JavaScript">
       <!--
          document.write("Hello JavaScript!");
       //-->
    </script>
    
    <noscript>Your browser does not support JavaScript!</noscript>
    
    VBScript Example:
    <script type = "text/vbscript">
       <!--
          document.write("Hello VBScript!")
       '-->
    </script>
    
    <noscript>Your browser does not support VBScript!</noscript>

    Default Scripting Language

    There may be a situation when you will include multiple script files and ultimately using multiple <script> tags. You can specify a default scripting language for all your script tags. This saves you from specifying the language every time you use a script tag within the page. Below is the example −

    <meta http-equiv = "Content-Script-Type" content = "text/JavaScript" />

    Note that you can still override the default by specifying a language within the script tag

    Layouts

    A webpage layout is very important to give better look to your website. It takes considerable time to design a website's layout with great look and feel.

    Now-a-days, all modern websites are using CSS and JavaScript based framework to come up with responsive and dynamic websites but you can create a good layout using simple HTML tables or division tags in combination with other formatting tags. This chapter will give you few examples on how to create a simple but working layout for your webpage using pure HTML and its attributes.

    HTML Layout - Using Tables

    The simplest and most popular way of creating layouts is using HTML <table> tag. These tables are arranged in columns and rows, so you can utilize these rows and columns in whatever way you like.

    Example

    For example, the following HTML layout example is achieved using a table with 3 rows and 2 columns but the header and footer column spans both columns using the colspan attribute −

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Layout using Tables</title>
       </head>
    
       <body>
          <table width = "100%" border = "0">
             
             <tr>
                <td colspan = "2" bgcolor = "#b5dcb3">
                   <h1>This is Web Page Main title</h1>
                </td>
             </tr>
             <tr valign = "top">
                <td bgcolor = "#aaa" width = "50">
                   <b>Main Menu</b><br />
                   HTML<br />
                   PHP<br />
                   PERL...
                </td>
                
                <td bgcolor = "#eee" width = "100" height = "200">
                   Technical and Managerial Tutorials
                </td>
             </tr>
             <tr>
                <td colspan = "2" bgcolor = "#b5dcb3">
                   <center>
                      Copyright © 2007 Tutorialspoint.com
                   </center>
                </td>
             </tr>
             
          </table>
       </body>
    
    </html>

    This will produce the following result −

    Multiple Columns Layout - Using Tables

    You can design your webpage to put your web content in multiple pages. You can keep your content in middle column and you can use left column to use menu and right column can be used to put advertisement or some other stuff. This layout will be very similar to what we have at our website tutorialspoint.com.

    Example

    Here is an example to create three column layout −

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>Three Column HTML Layout</title>
       </head>
    
       <body>
          <table width = "100%" border = "0">
             
             <tr valign = "top">
                <td bgcolor = "#aaa" width = "20%">
                   <b>Main Menu</b><br />
                   HTML<br />
                   PHP<br />
                   PERL...
                </td>
    				
                <td bgcolor = "#b5dcb3" height = "200" width = "60%">
                   Technical and Managerial Tutorials
                </td>
    				
                <td bgcolor = "#aaa" width = "20%">
                   <b>Right Menu</b><br />
                   HTML<br />
                   PHP<br />
                   PERL...
                </td>
             </tr>
             
          <table>
       </body>
    
    </html>

    This will produce the following result −

    HTML Layouts - Using DIV, SPAN

    The <div> element is a block level element used for grouping HTML elements. While the <div> tag is a block-level element, the HTML <span> element is used for grouping elements at an inline level.

    Although we can achieve pretty nice layouts with HTML tables, but tables weren't really designed as a layout tool. Tables are more suited to presenting tabular data.

    Note − This example makes use of Cascading Style Sheet (CSS), so before understanding this example you need to have a better understanding on how CSS works.

    Example

    Here we will try to achieve same result using <div> tag along with CSS, whatever you have achieved using <table> tag in previous example.

     Live Demo

    <!DOCTYPE html>
    <html>
    
       <head>
          <title>HTML Layouts using DIV, SPAN</title>
       </head>
    
       <body>
          <div style = "width:100%">
    		
             <div style = "background-color:#b5dcb3; width:100%">
                <h1>This is Web Page Main title</h1>
             </div>
    			
             <div style = "background-color:#aaa; height:200px; width:100px; float:left;">
                <div><b>Main Menu</b></div>
                HTML<br />
                PHP<br />
                PERL...
             </div>
    			
             <div style = "background-color:#eee; height:200px; width:350px; float:left;" >
                <p>Technical and Managerial Tutorials</p>
             </div>
    		
             <div style = "background-color:#aaa; height:200px; width:100px; float:right;">
                <div><b>Right Menu</b></div>
                HTML<br />
                PHP<br />
                PERL...
             </div>
    			
             <div style = "background-color:#b5dcb3; clear:both">
                <center>
                   Copyright © 2007 Tutorialspoint.com
                </center>
             </div>
    			
          </div>
       </body>
    
    </html>

    This will produce the following result −

    You can create better layout using DIV, SPAN along with CSS. For more information on CSS, please refer to CSS Tutorial.