Using Data-Attributes (data-*) in CSS


We can store extra information about elements using data-* attribute. The following examples illustrate CSS data-* attribute.

Example

 Live Demo

<!DOCTYPE html>
<html>
<head>
<style>
dl {
   margin: 2%;
}
p {
   width: 60%;
   background-color: lightgreen;
   padding: 2%;
   color: white;
   text-align: center;
}
dt {
   font-weight: bold;
}
dt:hover {
   cursor: pointer;
}
dd {
   font-style: italic;
}
</style>
</head>
<body>
<dl>
<dt onmouseover="showDescription(this)" data-food-type="beverages">Tea</dt>
<dd>Hot Spicy Tea or Ice Lemon Tea </dd>
<dt onmouseover="showDescription(this)" data-food-type="snacks">Toast</dt>
<dd>Hot Garlic Butter Toast</dd>
</dl>
<p>(hover over food item)</p>
</body>
<script>
function showDescription(food) {
   let foodType = food.getAttribute("data-food-type");
   document.querySelector('p').textContent = ("We have " + food.innerHTML + " in " + foodType + ".");
}
</script>
</html>

Output

This will produce the following result −

Example

 Live Demo

<!DOCTYPE html>
<html>
<head>
<style>
section {
   margin: 8%;
   box-shadow: inset 0 0 20px red;
   width: 300px;
   padding: 2%;
}
section[data-number='77'] {
   height: 120px;
   border-radius: 15px;
}
section::before {
   content: attr(data-user);
   font-size: 1.2em;
}
section::after {
   content: attr(data-number);
}
</style>
</head>
<body>
<section data-number="77" data-user="Client">
<p>Demo Text</p>
</section>
</body>
</html>

Output

This will produce the following result −

Updated on: 12-Mar-2021

846 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements