# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://codingzonebd.gitbook.io/html-elements/html-images.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
