- Recognize the
img
tag - Use
img
tag attributes - Create images
Images are absolutely critical to making appealing and engaging websites. Can you imagine the web without them? No cat memes. No animated dancing bananas! No Instagram, at all. The internet would be a pretty boring and sad place!
In this lesson, we will be discussing how to include images in your HTML, along with some important attributes of the tag. With images, you can make your web pages much more engaging and visually appealing.
Fork and clone this lesson into your local environment. Navigate into its
directory in the terminal, then run code .
to open the files in Visual Studio
Code.
Images are inserted into HTML using the img
tag. The tag can display a variety
of image types, including animated GIFs, bitmaps and vector graphics, though
most often, the images we see on the internet are JPEG and PNG files.
The img
tag is self closing, meaning it doesn't wrap around content or text.
Instead, the relevant information is stored in attributes within the tag itself.
There are two main attributes, src
, the source of the image, and alt
, the
alternate text.
The src
attribute provides the relative path or URL to the image file we want
to display. The image file can be local; for example, if you're publishing a
website and have your images stored in a folder within your file structure, your
source may look like this:
<img src="../images/my_company_logo.png" />
However, it's very common, even when publishing your own websites, to have images hosted somewhere else on the internet. In these situations, we need to provide a full URL as the source:
<img src="https://i.imgur.com/H1qsYEl.png" />
The src
attribute is always necessary, as without it, the img
tag would have
nothing to display.
The alt
attribute contains text relevant to the image we're displaying, and
will appear in its place if the image fails to load.
Alt text is important for screen readers for the visually impaired, as the text will be read out loud to the site visitor. Alt text also improves accessibility for non-disabled users, who will get a message if the image fails to load. It is especially important if the image is used as additional content that expands upon the written content.
Alt text on a failed image will appear along with a small 'broken image' icon:
To include an alt
attribute, add it in along with the src
attribute:
<img
src="https://i.imgur.com/H1qsYEl.png"
alt="comedic crow gets wholesome support"
/>
Note that we've separated out each attribute on its own line in the HTML above. When an element gets too long for one line in your text editor, separating the code as shown above will keep your HTML code more readable.
Note: While alt text isn't required for the browser, adherence to the Americans with Disabilities Act is often enforced through legislation. Your browser will not throw an error if there is no alt text with an image, so it is up to you as the developer to adhere to best practices for accessibility.
One additional attribute that can be useful is the title
. Content added to
this attribute will display when we hover over the image with our mouse. If we
were creating an img
tag with src
, alt
and title
for a company logo, it
might look something like this:
<img
src="../images/my_company_logo.png"
alt="my company name"
title="We're here to help you!"
/>
When a visitor to your company site hovers over the logo, they'll see a message appear saying 'We're here to help you!'
The title
attribute isn't necessary and is often left out, but can be a nice
detail to include.
Its time to practice creating some images! For this challenge, feel free to use any images you'd like — the tests are looking for the correct tag and attributes, not the content. If you're not sure what to use, feel free to use the following URL as your source:
https://s3.amazonaws.com/ironboard-learn/lion.jpg
Your challenge is to write three image tags:
- The first should have just a source attribute
- The second should include an alt attribute, in addition to a source
- The third should have both an alt and source attribute, as well as a title attribute
Run npm test
and read the tests as you go.
With images, we can fill our web pages with visual content in addition to text. Brand logos, animated instructional guides, personal artwork and photography, or pictures of you and your friends — you now have the ability to create visually appealing content of any type!