JSFiddle - React, Tailwind, and code Playground
by g4165262
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Responsive Selectable Tiles with Equal Height</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<style>
.tile {
padding: 40px;
background-color: #f8f9fa;
text-align: left;
transition: transform 0.3s, background-color 0.3s;
cursor: pointer;
display: flex;
flex-direction: row;
justify-content: space-between;
height: 100%;
}
.tile:hover {
transform: translateY(-5px);
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}
.icon-size {
font-size: 40px;
color: #007bff;
}
.tile h5 {
margin-top: 15px;
font-size: 1.25rem;
}
.tile p {
font-size: 0.9rem;
color: #6c757d;
margin-bottom: 0;
}
.tile.selected {
background-color: #007bff;
color: white;
}
.tile.selected p {
background-color: #007bff;
color: white;
}
.tile.selected i {
color: white;
}
.nav-buttons {
display: flex;
justify-content: space-between;
margin-top: 20px;
}
.row.g-4 {
display: flex;
flex-wrap: wrap;
}
.col-md-3 {
display: flex;
}
.circle-icon {
background: lightgrey;
width: 50px;
height: 50px;
border-radius: 50%;
text-align: center;
line-height: 30px;
vertical-align:...