4

HTML Basics #1: Elements and Attributes

 2 years ago
source link: https://dev.to/ericnanhu/html-basics-1-elements-and-attributes-1995
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

You can download the source code for this tutorial here:

Download the Source Code

What is HTML

The HyperText Markup Language (HTML) is the most fundamental component of the web. It defines the structure and content of every web page. Generally, other technologies are used alongside, CSS, for example, can be used to describe the page's appearance, and JS can be used to define the web page's behavior and make it more interactive with the user. We will talk about these technologies in detail later.

Here is an example of a typical HTML file:

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8" />
  <title>My HTML page</title>
</head>

<body>
  <h1>This is a heading</h1>
  <p>This is a paragraph.</p>
</body>

</html>

Enter fullscreen mode

Exit fullscreen mode

Elements

Elements are the basic building blocks of an HTML file.

An HTML element is usually defined by a start tag and an end tag, and with some content in between like this:

<tag>Some content...</tag>

Enter fullscreen mode

Exit fullscreen mode

However, there are some exceptions, <hr>, for example, does not need content nor an end tag. It defines a horizontal rule on the web page, which usually indicates a thematic change between content.

The HTML elements are usually in a nested structure, which means one element can contain other elements like this:

<body>

    <h1>This is a Heading</h1>
    <p>This is a paragraph.</p>

    <div>
        <p>This is also a paragraph.</p>
    </div>

</body>

Enter fullscreen mode

Exit fullscreen mode

https://www.ericsdevblog.com/wp-content/uploads/2021/01/image-6.png

The <body> has three elements inside, a heading <h1>, a paragraph <p>, and a <div>. And the <div> element has another paragraph <p> inside.

The plot on the right side is how the structure tree looks like, and there is no limit on how long or how complex this tree could be. This is related to a very important concept in frontend development called the document object model (DOM).

With the DOM, we will be able to find and change any element in an HTML file. We will talk about this in detail later.

One other important note is that you should never escape the end tag (if it needs one). Sometimes the elements will display correctly, but you should never rely on that. It can cause unexpected consequences.

Attributes

Attributes provide additional information to the HTML elements. They are always specified in the start tag, and they usually come in name/value pairs like this:

<tag name="value">An Example</tag>

Enter fullscreen mode

Exit fullscreen mode

There are some important things you should notice before I give you some examples:

First, the attributes should always be in lower case. It is not a requirement, but it is highly recommended. XHTML, the strict version of HTML actually demands that.

Second, the value of the attributes should always be in quotes. It doesn't matter if you use single or double quotes, but they should always match.

Examples

Next, let's take a look at some examples. Please note that this is not a full list of all elements for HTML. That would make this article long and tedious. However, here is a full tutorial on HTML from w3schools: https://www.w3schools.com/html/html_intro.asp

Headings and Paragraphs

Headings define hierarchy and structure of the web page. HTML offers six different levels of heading, from <h1> to <h6>. <h1> is the most important heading and it should summarize your entire page content. Which is why there should only be one <h1> heading in the HTML file.

<body>

    <h1>Heading level 1</h1>
    <h2>Heading level 2</h2>
    <h3>Heading level 3</h3>
    <h4>Heading level 4</h4>
    <h5>Heading level 5</h5>
    <h6>Heading level 6</h6>

</body>

Enter fullscreen mode

Exit fullscreen mode

The output should look like this:

https://www.ericsdevblog.com/wp-content/uploads/2021/01/image-7.png

Paragraphs on the other hand are defined like this:

<p>This is a paragraph.</p>
<p>This is also a paragraph.</p>

Enter fullscreen mode

Exit fullscreen mode

For HTML, you cannot change how the paragraphs are displayed in the browser by adding extra spaces for extra lines in the code. They will be automatically removed by the browser. For instance, the following two paragraphs are exactly the same.

<p>This is a paragraph.</p>

<p>This           is a
paragraph.</p>

Enter fullscreen mode

Exit fullscreen mode

However, now we have a problem, what happens if we do want a line break? The answer is simple, we use a <br> element:

<p>This is a <br> paragraph.</p>

Enter fullscreen mode

Exit fullscreen mode

The output is:

https://www.ericsdevblog.com/wp-content/uploads/2021/01/image-8.png

Formatting Elements

The formatting elements are a special collection of elements that give texts special meaning and appearance.

  • <b> - Bold text
  • <strong> - Important text
  • <i> - Italic text
  • <em> - Emphasized text
  • <mark> - Marked text
  • <small> - Smaller text
  • <del> - Deleted text
  • <ins> - Inserted text
  • <sub> - Subscript text
  • <sup> - Superscript text

Let's see how each of them look like in the browser:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. <b>Vestibulum volutpat pretium turpis, sodales facilisis metus
    porta a.</b> Morbi condimentum porta massa, eu mattis turpis cursus sit amet. <strong>cursus ut tellus a convallis. In nec
    nisl nisl.</strong> Mauris a ligula et ligula malesuada luctus. <i>Fusce placerat id tortor at tristique.</i> Quisque non vulputate
    eros. <em>Pellentesque malesuada interdum ligula, et dignissim arcu vestibulum tincidunt.</em></p>

<p><mark>Aliquam imperdiet volutpat lorem, in viverra lorem ultricies sed.</mark> Integer bibendum velit sit amet hendrerit
    venenatis. <small>Suspendisse interdum ornare molestie.</small> Nulla porttitor venenatis purus eu sollicitudin. <del>In quis aliquet
    ipsum. Curabitur eu feugiat sem.</del> Etiam rhoncus lectus eget dolor cursus, a viverra tellus faucibus. <ins>Nam aliquam
    rhoncus urna.</ins> Vivamus pulvinar eleifend nibh quis semper. <sub>Sed finibus neque in</sub> sollicitudin cursus. <sup>Curabitur ut ex
    </sup>egestas, suscipit lectus a, auctor ante.</p>

Enter fullscreen mode

Exit fullscreen mode

https://www.ericsdevblog.com/wp-content/uploads/2021/01/image-9-1024x419.png

Links

Links are found on nearly all web pages. They allow users to click their way from page to page. When you click on a link, it takes you to another HTML file, and this simple action forms the foundation of the internet.

The links are defined as follows:

<a href="https://www.example.com/">link text</a>

Enter fullscreen mode

Exit fullscreen mode

By default, the browser will display an underlined text link text, and when you click on it, it will take you to https://www.example.com/.

The target Attribute

By default, when you click on a link, the target shows up in the same browser window/tab. You can change this with the target attribute.

  • _self - Default. Opens the document in the same window/tab as it was clicked
  • _blank - Opens the document in a new window or tab
  • _parent - Opens the document in the parent frame
  • _top - Opens the document in the full body of the window

For example, the following link will take you to a new tab:

<a href="https://www.example.com/" target="_blank">link text</a>

Enter fullscreen mode

Exit fullscreen mode

Tables and Lists

In HTML, tables are defined using the <table> tag.

Each row is defined with a <tr> tag, and each data cell is defined with a <td> tag. If you want a header for the table, you need to use the <th> tag.

By default, the text in <td> elements are regular and left-aligned, and the text in <th> elements are bold and centered.

Here is an example:

<table>
  <tr>
    <th>Firstname</th>
    <th>Lastname</th>
    <th>Age</th>
  </tr>
  <tr>
    <td>Jill</td>
    <td>Smith</td>
    <td>50</td>
  </tr>
  <tr>
    <td>Eve</td>
    <td>Jackson</td>
    <td>94</td>
  </tr>
</table>

Enter fullscreen mode

Exit fullscreen mode

https://www.ericsdevblog.com/wp-content/uploads/2021/01/image-11.png

This may look a little strange to you since this table is borderless. To add a border to this table we need a technology called the Cascading Style Sheets (CSS) like this:

<style>
    table,
    th,
    td {
        border: 1px solid black;
    }
</style>

<table>
    <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>Age</th>
    </tr>
    <tr>
        <td>Jill</td>
        <td>Smith</td>
        <td>50</td>
    </tr>
    <tr>
        <td>Eve</td>
        <td>Jackson</td>
        <td>94</td>
    </tr>
    <tr>
        <td>John</td>
        <td>Doe</td>
        <td>80</td>
    </tr>
</table>

Enter fullscreen mode

Exit fullscreen mode

https://www.ericsdevblog.com/wp-content/uploads/2021/01/image-13.png

We'll talk about CSS in the future.

Lists are also commonly used in web pages. They are defined with a <ul> tag, and each element in the list is defined with a <li> tag.

<ul>
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ul>

Enter fullscreen mode

Exit fullscreen mode

https://www.ericsdevblog.com/wp-content/uploads/2021/01/image-12.png

IDs and Classes

The IDs and classes are not HTML elements. They are two attributes that require our special attention.

ID is unique, it can only be used to identify one element in an HTML file. Class does not have to be unique, it is used to identify a group of elements in an HTML file.

One element can have both a class and an ID.

<h1 id="myHeader">Cities</h1>

<div class="city">
    <h2 id="city1" class="city-title">London</h2>
    <p>London is the capital of England.</p>
</div>

<div class="city">
    <h2 id="city2" class="city-title">Paris</h2>
    <p>Paris is the capital of France.</p>
</div>

<div class="city">
    <h2 id="city3" class="city-title">Tokyo</h2>
    <p>Tokyo is the capital of Japan.</p>
</div>

Enter fullscreen mode

Exit fullscreen mode

When combined with technologies like CSS and JavaScript, these IDs and classes allow us to change the appearance and behavior of any part of our web page. And we will talk about both of them in detail in the future.

In the next article, we are going to talk about the basic file structure for a typical HTML document.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK