Home » HTML Iframes Tutorial

HTML Iframes Tutorial

by shedders

Iframes (short for inline frames) are used to embed another HTML document within a web page. The <iframe> tag is commonly used to display external content such as web pages, videos, interactive maps, or advertisements.

In this tutorial, you will learn:

  1. The basic syntax of iframes.
  2. How to embed external websites.
  3. Using attributes to control iframe appearance and behavior.
  4. How to embed YouTube videos and Google Maps using iframes.
  5. Security considerations for iframes.

1. Basic Syntax of Iframes

The <iframe> tag is used to create an inline frame. The src attribute specifies the URL of the content to embed.

Example 1: Basic Iframe

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Basic Iframe Example</title>
</head>
<body>
    <h1>Embedded Page using Iframe</h1>
    <iframe src="https://www.example.com" width="600" height="400" title="Example Page"></iframe>
</body>
</html>

Explanation:

  • src: The URL of the page to load inside the iframe.
  • width and height: Specify the dimensions of the iframe.
  • title: Provides a descriptive title for accessibility.

2. Embedding External Websites

You can load external web pages into an iframe using the src attribute. However, note that some websites may block embedding for security reasons.

Example 2: Embedding an External Website

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Embed Google in an Iframe</title>
</head>
<body>
    <h1>Embedding Google Search</h1>
    <iframe src="https://www.google.com" width="800" height="500" title="Google Search"></iframe>
</body>
</html>

Important Note:
Many websites, like Google, block embedding due to their Content Security Policy (CSP). If an iframe fails to load, it is likely due to these restrictions.

3. Iframe Attributes

Iframes can be customized with several attributes for appearance and behavior.

Common Attributes:

Attribute Description
src Specifies the URL of the content to load.
width Sets the width of the iframe.
height Sets the height of the iframe.
title Descriptive title for screen readers.
frameborder Specifies the border (use 0 for no border).
scrolling Allows or disables scrollbars (yes, no, auto).
allow Grants permissions for features like camera, autoplay, etc.

Example 3: Customizing Iframe Attributes

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Iframe Attributes</title>
</head>
<body>
    <h1>Custom Iframe</h1>
    <iframe 
        src="https://www.example.com" 
        width="600" 
        height="400" 
        frameborder="0" 
        scrolling="no" 
        title="Custom Iframe Example">
    </iframe>
</body>
</html>
  • frameborder=”0″ removes the border.
  • scrolling=”no” disables scrollbars.

4. Embedding YouTube Videos

YouTube provides a specific embed URL for sharing videos via iframes.

Example 4: Embedding a YouTube Video

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Embed YouTube Video</title>
</head>
<body>
    <h1>My Favorite Video</h1>
    <iframe 
        width="560" 
        height="315" 
        src="https://www.youtube.com/embed/dQw4w9WgXcQ" 
        title="YouTube Video"
        frameborder="0"
        allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" 
        allowfullscreen>
    </iframe>
</body>
</html>

Explanation:

  • Replace dQw4w9WgXcQ in the src with the video ID of your desired YouTube video.
  • The allowfullscreen attribute enables fullscreen mode for the video.

5. Embedding Google Maps

Google Maps also provides an iframe code for embedding maps.

Example 5: Embedding Google Maps

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Embed Google Maps</title>
</head>
<body>
    <h1>Our Location</h1>
    <iframe 
        src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3151.835434509849!2d144.953735315316!3d-37.81627927975179!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x6ad642af0f11fd81%3A0xf5770b3a9b8d56f4!2sMelbourne!5e0!3m2!1sen!2sau!4v1635605676756!5m2!1sen!2sau" 
        width="600" 
        height="450" 
        style="border:0;" 
        allowfullscreen="" 
        loading="lazy">
    </iframe>
</body>
</html>

How to Embed Maps:

  1. Open Google Maps.
  2. Search for a location.
  3. Click “Share” > “Embed a Map”.
  4. Copy the iframe code provided.

6. Nested Iframes

You can place an iframe inside another iframe. However, this is rarely done and can complicate content loading.

Example 6: Nested Iframes

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Nested Iframes</title>
</head>
<body>
    <h1>Nested Iframe Example</h1>
    <iframe src="https://www.example.com" width="600" height="400">
        <iframe src="https://www.w3schools.com" width="300" height="200"></iframe>
    </iframe>
</body>
</html>

7. Security Considerations

Iframes can pose security risks, such as:

  • Clickjacking: Tricking users into clicking invisible iframes.
  • Malicious content: External content might load harmful code.

Solutions:

  1. Use the sandbox attribute to apply restrictions.
  2. Use the allow attribute to explicitly grant permissions.

Example 7: Secure Iframe Using Sandbox

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Sandboxed Iframe</title>
</head>
<body>
    <h1>Sandboxed Iframe</h1>
    <iframe 
        src="https://www.example.com" 
        width="600" 
        height="400" 
        sandbox="allow-same-origin allow-scripts"
        title="Secure Iframe Example">
    </iframe>
</body>
</html>
  • sandbox restricts the iframe’s capabilities.
  • allow-scripts allows scripts to run.
  • allow-same-origin allows same-origin content.

Conclusion

In this tutorial, you learned how to:

  1. Embed web pages using <iframe>.
  2. Customize iframes with attributes like width, height, and frameborder.
  3. Embed YouTube videos and Google Maps.
  4. Apply security features to make iframes safer.

Key Takeaways:

  • Use iframes responsibly and ensure the source content is trustworthy.
  • Avoid overusing nested iframes for performance reasons.
  • Always include the title attribute for accessibility.

Experiment with these examples to master iframes

You may also like