> For the complete documentation index, see [llms.txt](https://codingzonebd.gitbook.io/html-elements/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codingzonebd.gitbook.io/html-elements/html-images.md).

# HTML Images

<figure><img src="/files/ygVRZe0d6wood90hjBUm" alt=""><figcaption></figcaption></figure>

{% code overflow="wrap" lineNumbers="true" %}

```html
<img src="pic_trulli.jpg" alt="Italian Trulli">
```

{% endcode %}

### HTML Images Syntax

The HTML `<img>` tag is used to embed an image in a web page.

Images are not technically inserted into a web page; images are linked to web pages. The `<img>` tag creates a holding space for the referenced image.

The `<img>` tag is empty, it contains attributes only, and does not have a closing tag.

The `<img>` tag has two required attributes:

* src - Specifies the path to the image
* alt - Specifies an alternate text for the image

{% code title="Syntax" overflow="wrap" lineNumbers="true" %}

```html
<img src="url" alt="alternatetext">
```

{% endcode %}

### The src Attribute

The required `src` attribute specifies the path (URL) to the image.

**Note:** When a web page loads, it is the browser, at that moment, that gets the image from a web server and inserts it into the page. Therefore, make sure that the image actually stays in the same spot in relation to the web page, otherwise your visitors will get a broken link icon. The broken link icon and the `alt` text are shown if the browser cannot find the image.

{% code overflow="wrap" lineNumbers="true" %}

```html
<img src="img_chania.jpg" alt="Flowers in Chania">
```

{% endcode %}

### The alt Attribute

The required `alt` attribute provides an alternate text for an image, if the user for some reason cannot view it (because of slow connection, an error in the src attribute, or if the user uses a screen reader).

The value of the `alt` attribute should describe the image:

{% code overflow="wrap" lineNumbers="true" %}

```html
<img src="img_chania.jpg" alt="Flowers in Chania">
```

{% endcode %}

### Image Size - Width and Height

You can use the `style` attribute to specify the width and height of an image.

{% code overflow="wrap" lineNumbers="true" %}

```markup
<!DOCTYPE html>
<html>
  <head>
    <style>
    img {
      width: 100%;
    }
    </style>
  </head>
  <body>
    <img src="img_girl.jpg" alt="Girl in a jacket" style="width:500px;height:600px;">
    <img src="html5.gif" alt="HTML5 Icon" width="128" height="128">
    <img src="html5.gif" alt="HTML5 Icon" style="width:128px;height:128px;">
  </body>
</html>
```

{% endcode %}

### Images in Another Folder

If you have your images in a sub-folder, you must include the folder name in the `src` attribute:

{% code overflow="wrap" lineNumbers="true" %}

```html
<img src="/images/html5.gif" alt="HTML5 Icon" style="width:128px;height:128px;">
```

{% endcode %}

### Images on Another Server/Website

Some web sites point to an image on another server.

To point to an image on another server, you must specify an absolute (full) URL in the `src` attribute:

{% code overflow="wrap" lineNumbers="true" %}

```html
<img src="https://www.w3schools.com/images/w3schools_green.jpg" alt="W3Schools.com">
```

{% endcode %}

### Animated Images

HTML allows animated GIFs:

{% code overflow="wrap" lineNumbers="true" %}

```html
<img src="programming.gif" alt="Computer Man" style="width:48px;height:48px;">
```

{% endcode %}

### Image as a Link

To use an image as a link, put the `<img>` tag inside the `<a>` tag:

{% code overflow="wrap" lineNumbers="true" %}

```html
<a href="default.asp">
  <img src="smiley.gif" alt="HTML tutorial" style="width:42px;height:42px;">
</a>
```

{% endcode %}

### Image Floating

Use the CSS `float` property to let the image float to the right or to the left of a text:

{% code overflow="wrap" lineNumbers="true" %}

```html
<p><img src="smiley.gif" alt="Smiley face" style="float:right;width:42px;height:42px;">
The image will float to the right of the text.</p>

<p><img src="smiley.gif" alt="Smiley face" style="float:left;width:42px;height:42px;">
The image will float to the left of the text.</p>
```

{% endcode %}

### Background Image on a HTML element

To add a background image on an HTML element, use the HTML `style` attribute and the CSS `background-image` property:

{% code overflow="wrap" lineNumbers="true" %}

```markup
<p style="background-image: url('img_girl.jpg');">

<style>
p {
  background-image: url('img_girl.jpg');
}
</style>

<style>
body {
  background-image: url('img_girl.jpg');
}
</style>

<style>
body {
  background-image: url('example_img_girl.jpg');
  background-repeat: no-repeat;
}
</style>

```

{% endcode %}

### Background Cover

If you want the background image to cover the entire element, you can set the `background-size` property to `cover.`

Also, to make sure the entire element is always covered, set the `background-attachment` property to `fixed:`

This way, the background image will cover the entire element, with no stretching (the image will keep its original proportions):

{% code overflow="wrap" lineNumbers="true" %}

```html
<style>
body {
  background-image: url('img_girl.jpg');
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}
</style>

<style>
body {
  background-image: url('img_girl.jpg');
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: 100% 100%;
}
</style>
```

{% endcode %}

### The HTML \<picture> Element

The HTML `<picture>` element gives web developers more flexibility in specifying image resources.

The `<picture>` element contains one or more `<source>` elements, each referring to different images through the `srcset` attribute. This way the browser can choose the image that best fits the current view and/or device.

Each `<source>` element has a `media` attribute that defines when the image is the most suitable.

{% code overflow="wrap" lineNumbers="true" %}

```html
<picture>
  <source media="(min-width: 650px)" srcset="img_food.jpg">
  <source media="(min-width: 465px)" srcset="img_car.jpg">
  <img src="img_beatles.gif" alt="Beatles" style="width:auto;">
</picture>
```

{% endcode %}
