Module: HTML Text Elements

Images

Images

Images are crucial for visually enhancing web pages. HTML provides the <img> tag for embedding images.

Basic Image Embedding:

<img src="image.jpg" alt="Description of the image">
  • src attribute: Specifies the URL of the image. This can be a relative path (e.g., "images/logo.png") or an absolute URL (e.g., "https://example.com/image.jpg").
  • alt attribute: Provides alternative text for the image. This is essential for accessibility (screen readers) and is displayed if the image cannot be loaded. It also helps with SEO. Always provide a meaningful alt text.

Image Dimensions:

You can control the size of the image using the width and height attributes. However, it's generally better to use CSS for styling (see below).

<img src="image.jpg" alt="A beautiful landscape" width="500" height="300">

Important Considerations:

  • File Formats: Common image formats include:
    • JPEG/JPG: Good for photographs, lossy compression.
    • PNG: Good for graphics with transparency, lossless compression.
    • GIF: Supports animation, limited color palette.
    • SVG: Vector graphics, scalable without loss of quality.
    • WebP: Modern image format offering superior compression and quality.
  • Image Optimization: Optimize images for web use to reduce file size and improve page load times. Tools like TinyPNG or ImageOptim can help.
  • Responsive Images: Use the <picture> element or the srcset attribute with the <img> tag to provide different image sizes based on the user's screen size and resolution. This is crucial for mobile responsiveness.

Example of srcset for Responsive Images:

<img src="image-small.jpg"
     alt="A responsive image"
     srcset="image-small.jpg 480w,
             image-medium.jpg 800w,
             image-large.jpg 1200w"
     sizes="(max-width: 480px) 100vw,
            (max-width: 800px) 50vw,
            33vw">
  • srcset: A comma-separated list of image URLs and their widths (e.g., image-small.jpg 480w).
  • sizes: A comma-separated list of media conditions and corresponding source sizes. This tells the browser which image from the srcset to choose based on the viewport width.

Using Images as Links:

You can wrap an <img> tag within an <a> tag to create a clickable image link.

<a href="https://example.com">
  <img src="link-image.jpg" alt="Link to Example">
</a>

CSS Styling for Images:

While you can use width and height attributes in HTML, it's best practice to control image styling with CSS.

img {
  width: 100%; /* Make the image responsive */
  height: auto; /* Maintain aspect ratio */
  border: 1px solid #ccc;
  border-radius: 5px;
  display: block; /* Removes default inline spacing */
  margin: 0 auto; /* Center the image */
}

img:hover {
  opacity: 0.8; /* Add a hover effect */
}

<picture> Element (Advanced):

The <picture> element provides more control over responsive images, allowing you to specify different images based on media queries.

<picture>
  <source media="(max-width: 600px)" srcset="image-small.jpg">
  <source media="(max-width: 1200px)" srcset="image-medium.jpg">
  <img src="image-large.jpg" alt="A responsive image">
</picture>

The browser will choose the first <source> element that matches the current media query. If no <source> element matches, the <img> tag will be used as a fallback.