Copied successfully!
Introduction to <source>
tag
The <source>tag in HTML is a versatile element used primarily within media elements like <audio>and <video>, as well as the <picture>element for images. It allows developers to specify multiple media sources for different scenarios, such as varying screen sizes, resolutions, or media types. By using the <source>tag, you can provide alternative files that the browser can choose from, depending on its capabilities and the user's device settings.
Copy to clipboard
<!-- Picture and Source Example -->
<picture class="custom-picture">
<!-- Source for larger screens -->
<source media="(min-width: 800px)" srcset="large-image.jpg" type="image/jpeg">
<!-- Source for smaller screens -->
<source media="(max-width: 799px)" srcset="small-image.jpg" type="image/jpeg">
<!-- Default image for older browsers -->
<img src="default-image.jpg" alt="A beautiful landscape" class="responsive-img">
</picture>
Copy to clipboard
/* Style for the picture container */
picture.custom-picture {
display: block; /* Ensure it behaves as a block-level element */
width: 100%; /* Full width to adapt to parent container */
max-width: 100%; /* Ensure it doesn't exceed its container's width */
margin: 0 auto; /* Center align if needed */
}
/* Style for the image sources */
source {
display: none; /* Hide source elements (not visible in the document) */
}
/* Style for the fallback image */
img.responsive-img {
width: 100%; /* Make the image responsive to the container's width */
height: auto; /* Maintain the aspect ratio of the image */
display: block; /* Ensure no extra space below the image */
border: 1px solid #ddd; /* Optional border for visual separation */
border-radius: 8px; /* Optional rounded corners */
}
Global Attributes
Attributes | Description |
---|---|
accesskey | Specifies a shortcut key to activate or focus an element. |
autocapitalize | Controls whether and how text input is automatically capitalized. |
class | Specifies one or more class names for the element, allowing CSS styling and JavaScript manipulation. |
contenteditable | Specifies whether the content of an element is editable or not. |
contextmenu | Specifies a context menu for the element. |
dir | Defines the text direction. Possible values are "ltr" (left-to-right), "rtl" (right-to-left), and "auto". |
draggable | Specifies whether an element is draggable. Possible values are "true" or "false". |
enterkeyhint | Specifies the action label or icon to be shown for the enter key on virtual keyboards. |
hidden | Indicates that the element is not yet, or is no longer, relevant. The browser does not display elements that have the `hidden` attribute set. |
id | Specifies a unique identifier for the element. |
inputmode | Provides a hint to browsers for which virtual keyboard configuration to use when editing this element or its descendants. |
is | Allows you to specify the type of custom element. |
lang | Specifies the language of the element's content. |
nonce | A cryptographic nonce ("number used once") that can be used by Content Security Policy (CSP) to determine whether or not a given fetch will be allowed to proceed. |
part | Specifies the element’s part in the shadow DOM. |
slot | Assigns a slot in a shadow DOM shadow tree. |
spellcheck | Indicates whether the element is subject to spell checking. |
style | Provides inline CSS styling for the element. |
tabindex | Specifies the tab order of the element. |
title | Adds extra information about the element, displayed as a tooltip when hovering over the element. |
translate | Specifies whether the content of the element should be translated. Possible values are "yes" or "no". |
HTML Attributes | Global Attributes | Event Attributes |
---|---|---|
To view the full list | To view the full list | To view the full list |
elements | |||||
---|---|---|---|---|---|
<source> | 4.0 | 9.0 | 3.5 | 4.0 | 10.5 |
Improve Our Platform
Did you find what you were looking for?
Learn how to contribute.Last updated on January 12, 2025by our contributors.
View this page on GitHub• Report an issue with this content