Course
Focus
CSS Tutorial
This CSS tutorial is designed for beginners to navigate through the essentials and intricate aspects of CSS styling. Upon finishing this tutorial, participants will possess a comprehensive understanding of CSS, setting a solid foundation for further exploration and mastery. This guide aims to equip you with the skills necessary to transform your visions into visually appealing web designs, laying the groundwork for your journey towards becoming an accomplished web designer.
focus
CSS focus
The :focus pseudo-class in CSS represents an element that has received focus. This class is generally triggered when a user clicks, taps on an element or selects an element using the tab key of keyboard.
:focus pseudo-class is applied to the focussed element itself. In order to select an element that contains a focussed element, use :focus-within pseudo-class.
Applies to
All HTML elements, such as buttons, dropdowns, input fields, etc.
Syntax
selector:focus{ properties }
CSS Focus - Link
Here is an example where focus is set on a link:
<html><head><style> a { color: darkviolet; transition: all 0.3s ease; }
a:focus { outline: none; color: red; background-color: yellow; }
body { margin: 5px; padding: 2rem; display: grid; font: 20px/1.4 system-ui, -apple-system, sans-serif; }</style></head><body> <p>Click on the link or press the tab key.</p> <p>The link here has a <a href="#0">change in background and foreground color</a> as it is focussed.</p></body></html>
CSS Focus - Button
Here is an example where focus is set on a button:
<html><head><style> button { display: block; margin: 2em; padding: 2px; font-weight: bold; font-size: 18px; text-align: center; color: black; background-color: #fff; border: 2px solid black; border-radius: 24px; cursor: pointer; transition: all 0.3s ease; width: 150px; height: 50px; } button:hover { color: blue; border-color: black; background-color: lightpink; } button:focus { background-color: darkred; color: white; border-radius: 2px; }</style></head><body> <p>Click on the button or press the tab key.</p> <button>Click Me!!</button></body></html>
CSS Focus - Input Box
Here is an example where focus is set on an input:
<html><head><style> label { display: block; font-size: 20px; color: black; width: 500px; }
input[type="text"] { padding: 10px 16px; font-size: 16px; color: black; background-color: #fff; border: 1px solid #597183; border-radius: 8px; margin-top: 5px; width: 500px; transition: all 0.3s ease; }
input[type="text"]:focus { background-color: lightyellow; }</style></head><body> <p>Click on the text box or press the tab key.</p> <form> <label> Full Name <input type="text"> </label> </form></body></html>
CSS Focus - Dropdown Box
Here is an example where focus is set on a dropdown:
<html><head><style> label { display: block; font-size: 18px; color: black; width: 500px; }
select { padding: 10px 16px; font-size: 16px; color: black; background-color: #fff; border: 1px solid #597183; border-radius: 8px; margin-top: 25px; width: 300px; transition: all 0.3s ease; }
select:focus { background-color: rgb(173, 233, 209); box-shadow: 20px 15px 30px yellow, -20px 15px 30px lime, -20px -15px 30px blue, 20px -15px 30px red; }</style></head><body> <p>Select an item from the dropdown box.</p> <form> <label> Ice cream Flavors: <select name="flavor"> <option>Cookie dough</option> <option>Pistachio</option> <option>Cookies & Cream</option> <option>Cotton Candy</option> <option>Lemon & Raspberry Sorbet</option> </select> </label> </form></body></html>
CSS Focus - Toggle Button
Here is an example where focus is set on a toggle:
<html><head><style>.toggle { position: relative; display: block; width: 100%; margin: 2em;}
.toggle label { padding-right: 8px; font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: 16px; line-height: 28px; color: black;}
.toggle span { position: relative; display: inline-block; vertical-align: middle; cursor: pointer;}
.toggle span:before { display: block; width: 50px; height: 30px; content: ""; background-color: #a9adaf; border-radius: 28px; transition: background-color 0.3s ease;}
.toggle span:after { position: absolute; top: 1px; left: 1px; display: block; width: 30px; height: 28px; visibility: visible; content: ""; background-color: #fff; border-radius: 28px; transition: left 0.3s ease;}
input[type="checkbox"]:checked ~ span:before { background-color: orange;}
input[type="checkbox"]:checked ~ span:after { top: 1px; left: 21px;}
input[type="checkbox"]:hover ~ span:before { background-color: #1194d1;}
input[type="checkbox"]:not(:checked):hover ~ span:before { background-color: #afbec9;}
input[type="checkbox"]:focus ~ span:before { outline: none; box-shadow: 0 0 0 4px red;}</style></head><body> <div class="toggle"> <label for="toggle1">Check the box to toggle me</label> <input type="checkbox" id="toggle1" /> <span></span> </div></body></html>
CSS Focus - Associated Properties
Apart from :focus, there are two more pseudo-classes that are associated with the :focus pseudo-class. They are listed in the table given below: