🚀 Levoric Learn v2.1.1: Improved tutorials, faster navigation, and more. Learn more

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

AttributesDescription
accesskeySpecifies a shortcut key to activate or focus an element.
autocapitalizeControls whether and how text input is automatically capitalized.
classSpecifies one or more class names for the element, allowing CSS styling and JavaScript manipulation.
contenteditableSpecifies whether the content of an element is editable or not.
contextmenuSpecifies a context menu for the element.
dirDefines the text direction. Possible values are "ltr" (left-to-right), "rtl" (right-to-left), and "auto".
draggableSpecifies whether an element is draggable. Possible values are "true" or "false".
enterkeyhintSpecifies the action label or icon to be shown for the enter key on virtual keyboards.
hiddenIndicates that the element is not yet, or is no longer, relevant. The browser does not display elements that have the `hidden` attribute set.
idSpecifies a unique identifier for the element.
inputmodeProvides a hint to browsers for which virtual keyboard configuration to use when editing this element or its descendants.
isAllows you to specify the type of custom element.
langSpecifies the language of the element's content.
nonceA 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.
partSpecifies the element’s part in the shadow DOM.
slotAssigns a slot in a shadow DOM shadow tree.
spellcheckIndicates whether the element is subject to spell checking.
styleProvides inline CSS styling for the element.
tabindexSpecifies the tab order of the element.
titleAdds extra information about the element, displayed as a tooltip when hovering over the element.
translateSpecifies whether the content of the element should be translated. Possible values are "yes" or "no".
HTML AttributesGlobal AttributesEvent Attributes
To view the full list
To view the full list
To view the full list
elementsChrome BrowsersMicrosoft Edge BrowserFirefox BrowsersSafari BrowserOpera Browser
<source>4.09.03.54.010.5