8 Extremely Useful HTML Tricks
HTML has plenty of practical secrets that might come in handy.
But I do want to make sure that the site is working on Internet Explorer and other browsers.
You can use use Endtest to create automated tests and execute them on the cross-browser cloud.
Below are 8 extremely useful HTML tricks.
1. The <figure> tag
This can be used to mark up a photo.
The <figure> element can also contain a <figcaption>:
<figure>
<img src="https://thepracticaldev.s3.amazonaws.com/i/g84et7kjgp2phal89140.jpg" alt="Swat Kats" style="width:100%">
<figcaption>Fig.1 - SWAT Kats</figcaption>
</figure>
And this is what it would look like.
2. The <video> tag
This allows you to embed a media player for video playback.
For example, you can upload your video on AWS S3 and use the <video> tag to embed it on your website.
Using YouTube for that might come off as unprofessional.
And Vimeo doesn't allow you to embed your videos without paying. ☹️
You can specify certain attributes, such as width, height, autoplay, loop, controls, etc.
And this is what it would look like.
You can also embed a live stream using getUserMedia() or WebRTC
3. The <picture> tag
This tag helps you display images in a responsive manner, by showing an alternative image version for smaller viewports.
It needs to contain one or more <source> tags and one <img> tag.
The <img> tag will be used only if the viewport doesn't match any of the <source> tags or if the browser does not support it.
<picture>
<source media="(min-width: 968px)" srcset="large_img.jpg">
<source media="(min-width: 360px)" srcset="small_img.jpg">
<img src="default_img.jpg" alt="avatar">
</picture>
4. The <progress> tag
The <progress> tag represents the progress of a task.
The <progress> tag should not be confused with the <meter> tag (which represents a gauge).
<progress value="63" max="100">
</progress>
And this is what it would look like.
5. The <meter> tag
You can use the meter element to measure data within a given range (a gauge).
This can be achieved with min and max values or with a percentage.
<meter value="2" min="0" max="10">2 out of 10</meter>
<meter value="0.6">60%</meter>
And this is what they would look like.
6. The <map> tag
The <map> tag is used to define a client-side image-map.
An image-map is an image with clickable areas.
All you have to do is mention the X and Y coordinates in the elements from the <map>.
This means that you create a map of our Solar System and define areas for each planet and take the visitors to a separate page for each planet they click on.
<img src="solar_system.png" width="500" height="300" alt="Planets" usemap="#planetmap">
<map name="planetmap">
<area shape="rect" coords="0,0,52,92" href="earth.htm" alt="Earth">
<area shape="circle" coords="60,48,5" href="mars.htm" alt="Mars">
<area shape="circle" coords="135,48,12" href="saturn.htm" alt="Saturn">
</map>
7. The contenteditable attribute
This attribute specifies whether the content of an element is editable or not.
<p contenteditable="true">This is an editable paragraph.</p>
And this is what it would look like.
8. Input suggestions
<input type="text" list="planets">
<datalist id="planets">
<option value="Mercury"></option>
<option value="Venus"></option>
<option value="Earth"></option>
<option value="Mars"></option>
<option value="Jupiter"></option>
<option value="Saturn"></option>
<option value="Uranus"></option>
<option value="Neptune"></option>
</datalist>
Here it is.
I hope you don't mind that I didn't add any styling.
I prefer to keep things as vanilla as possible in my examples.
Closing thoughts
I think it's really cool that you're looking for HTML tricks, but are you sure your Web Application is working correctly on all browsers and devices?
You can use Endtest to quickly build Automated Tests and execute them on the cross-browser cloud.
You don't even have to code in order to use it.
Check out the docs.