El atributo class es usado para especificar una clase para un elemento HTML. Múltiples elementos HTML pueden utilizar la misma clase.
Usar el atributo class
El atributo class se usa a menudo para apuntar a un nombre de clase en una hoja de estilo. También puede ser utilizado por JavaScript para acceder y manipular elementos con el nombre de clase específico.
En el siguiente ejemplo tenemos tres elementos <div> con un atributo class con el valor de «ciudad». Los tres elementos <div> tendrán el mismo estilo de acuerdo con la definición de estilo .city en la sección principal.
Ejm
<!DOCTYPE html>
<html>
<head>
<style>
.city {
background-color: tomato;
color: white;
border: 2px solid black;
margin: 20px;
padding: 20px;
}
</style>
</head>
<body>
<div class="city">
<h2>London</h2>
<p>London is the capital of England.</p>
</div>
<div class="city">
<h2>Paris</h2>
<p>Paris is the capital of France.</p>
</div>
<div class="city">
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan.</p>
</div>
</body>
</html>
Nota: el atributo class se puede usar en cualquier elemento HTML. ¡El nombre de la clase distingue entre mayúsculas y minúsculas!.
Sintaxis para class
Para crear una clase, escribe un carácter de punto (.), seguido de un nombre de clase. Luego, define las propiedades CSS entre llaves {}.
Ejm
<!DOCTYPE html>
<html>
<head>
<style>
.city {
background-color: tomato;
color: white;
padding: 10px;
}
</style>
</head>
<body>
<h2 class="city">London</h2>
<p>London is the capital of England.</p>
<h2 class="city">Paris</h2>
<p>Paris is the capital of France.</p>
<h2 class="city">Tokyo</h2>
<p>Tokyo is the capital of Japan.</p>
</body>
</html>
Múltiples clases
Los elementos HTML pueden pertenecer a más de una clase. Para definir varias clases, separa los nombres de las clases con un espacio, por ejm <div class=»ciudad principal»>. El elemento se diseñará de acuerdo con todas las clases especificadas.
En el siguiente ejemplo, el primer elemento <h2> pertenece tanto a la clase de ciudad como a la clase principal, y obtendrá los estilos CSS de ambas clases.
Ejm
<!DOCTYPE html>
<html>
<head>
<style>
.city {
background-color: tomato;
color: white;
padding: 10px;
}
.main {
text-align: center;
}
</style>
</head>
<body>
<h2>Multiple Classes</h2>
<p>Here, all three h2 elements belongs to the "city" class.
In addition, London also belongs to the "main" class,
which center-aligns the text.</p>
<h2 class="city main">London</h2>
<h2 class="city">Paris</h2>
<h2 class="city">Tokyo</h2>
</body>
</html>
Diferentes elementos pueden compartir la misma clase
Diferentes elementos HTML pueden apuntar al mismo nombre de clase. En el siguiente ejemplo, tanto <h2> como <p> apuntan a la clase «city» y compartirán el mismo estilo.
Ejm
<!DOCTYPE html>
<html>
<head>
<style>
.city {
background-color: tomato;
color: white;
padding: 10px;
}
</style>
</head>
<body>
<h2>Different Elements Can Share Same Class</h2>
<p>Even if the two elements do not have the same tag name, they can both point to the same class, and get the same CSS styling:</p>
<h2 class="city">Paris</h2>
<p class="city">Paris is the capital of France.</p>
</body>
</html>
Uso del atributo class en JavaScript
JavaScript también puede usar el nombre de la clase para realizar ciertas tareas para elementos específicos. JavaScript puede acceder a elementos con un nombre de clase específico con el método getElementsByClassName().
Ejm
<!DOCTYPE html>
<html>
<body>
<h2>Use of The class Attribute in JavaScript</h2>
<p>Click the button to hide all elements with class name "city":</p>
<button onclick="myFunction()">Hide elements</button>
<h2 class="city">London</h2>
<p>London is the capital of England.</p>
<h2 class="city">Paris</h2>
<p>Paris is the capital of France.</p>
<h2 class="city">Tokyo</h2>
<p>Tokyo is the capital of Japan.</p>
<script>
function myFunction() {
var x = document.getElementsByClassName("city");
for (var i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
}
</script>
</body>
</html>