Almost all tabs in the browser have small icons called favicons. They, like the header, allow you to quickly navigate through the tabs and go to the right one. They are used by search engines, showing next to the name of the page in a search.
In order to set a favicon for your page, use the tag <link>
, which specifies two attributes:
rel
to specify contenthref
to link to the icon<link rel="icon" href="/favicon.png">
Different devices can display icons in different sizes and formats, so now not one but several icons can be added at once. The <link>
tag can specify image type and size. This is done using the type
and sizes
attributes.
Let's specify that the icon is in png format and has a size of 32x32
<link rel="icon" href="/favicon32.png" type="image/png" sizes="32x32">
You can specify several more icons with different sizes after it:
<link rel="icon" href="/favicon64.png" type="image/png" sizes="64x64">
<link rel="icon" href="/favicon32.png" type="image/png" sizes="32x32">
<link rel="icon" href="/favicon16.png" type="image/png" sizes="16x16">
When specifying dimensions, the first number is the width in pixels and the second is the height.
Now, browsers on different devices will be able to work more precisely with icons and immediately load the one that suits them.
The <link>
tag allows you to not only add a favicon, but also include style files, fonts, and prompt browsers to the next (or previous) page of the article. The most common example is connecting a CSS file to an HTML page:
<link rel="stylesheet" href="style.css">
Add a link
to this favicon: https://www.w3schools.com/favicon.ico with a size of 64x64.
All the features of the <link>
tag can be seen on MDN Web Docs
Like other meta tags, the <link>
tag is specified in the head
section
If you've reached a deadlock it's time to ask your question in the «Discussions». How ask a question correctly:
Tests are designed so that they test the solution in different ways and against different data. Often the solution works with one kind of input data but doesn't work with others. Check the «Tests» tab to figure this out, you can find hints at the error output.
It's fine. 🙆 One task in programming can be solved in many different ways. If your code passed all tests, it complies with the task conditions.
In some rare cases, the solution may be adjusted to the tests, but this can be seen immediately.
It's hard to make educational materials that will suit everyone. We do our best but there is always something to improve. If you see a material that is not clear to you, describe the problem in “Discussions”. It will be great if you'll write unclear points in the question form. Usually, we need a few days for corrections.
By the way, you can participate in courses improvement. There is a link below to the lessons course code which you can edit right in your browser.
Your exercise will be checked with these tests:
1const { test } = require('tests');
2
3test(({ query, expect }) => {
4 const linkIcon = query(document, 'link[rel="icon"]');
5
6 expect(linkIcon).to.have.attr('href', 'https://www.w3schools.com/favicon.ico');
7 expect(linkIcon).to.have.attr('sizes', '64x64');
8});
9
Teacher's solution will be available in: