Le design web évolue constamment, avec une attention particulière aux détails interactifs qui captivent les utilisateurs. Un effet LED peut donner à votre site web un aspect moderne et innovant, en jouant sur la lumière et l’interaction utilisateur. Ce tutoriel vous guidera à travers la création d’un effet d’éclairage LED en utilisant HTML, CSS, et JavaScript. Cet effet crée une lumière LED qui suit le mouvement de la souris et révèle du texte caché lorsqu’elle le survole. Nous explorerons en détail chaque étape du processus, en expliquant comment le code fonctionne pour vous permettre de l’intégrer dans vos propres projets.
L’effet LED n’est pas seulement esthétique ; il ajoute également une couche d’interactivité qui peut améliorer l’engagement des utilisateurs. Lorsqu’un utilisateur interagit avec des éléments qui répondent visuellement, cela crée un sentiment de satisfaction et peut inciter à explorer davantage le site. De plus, cet effet est parfait pour les sites de design, portfolios ou toute plateforme qui souhaite se démarquer visuellement.
Pour commencer, nous devons structurer notre projet avec du HTML. Voici le code de base que nous utiliserons pour créer l’effet LED.
LED Light
Digital marketing agency
Mondesign Web
container
et un titre h1
avec l’ID title.Le <div id=" »light »"> : est l’élément qui représentera la lumière LED.
La prochaine étape consiste à styliser les éléments HTML afin de créer l’effet visuel désiré. Le fichier CSS suivant assure la mise en forme de la page, ainsi que l’apparence de l’effet LED.
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Playfair Display', serif;
}
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
overflow: hidden;
background: rgb(14, 14, 14);
background: linear-gradient(270deg, rgba(14, 14, 14, 1) 0%, rgba(0, 96, 181, 1) 50%, rgba(14, 14, 14, 1) 100%);
}
#title {
position: relative;
color: #FFFBFB;
font-weight: 700;
font-size: 10em;
cursor: default;
opacity: 0;
transition: opacity 0.1s ease;
}
#light {
position: absolute;
transform: translate(-50%, -50%);
width: 20px;
height: 300px;
background: #FFFBFB;
border-radius: 5px;
box-shadow: 0 0 15px #FFFBFB, 0 0 100px #FFFBFB, 0 0 200px #FFFBFB, 0 0 300px #0060B5;
}
.title{
position: relative;
color: white;
font-weight: 500;
font-size: 52px;
}
.container{
display: flex;
flex-direction: column;
align-items: center;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Playfair Display', serif;
}
Playfair Display
à tous les éléments.
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
overflow: hidden;
background: rgb(14, 14, 14);
background: linear-gradient(270deg, rgba(14, 14, 14, 1) 0%, rgba(0, 96, 181, 1) 50%, rgba(14, 14, 14, 1) 100%);
}
#title {
position: relative;
color: #FFFBFB;
font-weight: 700;
font-size: 10em;
cursor: default;
opacity: 0;
transition: opacity 0.1s ease;
}
#light {
position: absolute;
transform: translate(-50%, -50%);
width: 20px;
height: 300px;
background: #FFFBFB;
border-radius: 5px;
box-shadow: 0 0 15px #FFFBFB, 0 0 100px #FFFBFB, 0 0 200px #FFFBFB, 0 0 300px #0060B5;
}
light
est un rectangle vertical mince.Si vous souhaitez également explorer d'autres effets intéressants pour votre site web, découvrez notre article sur l'effet de texte flottant en utilisant HTML, CSS et JavaScript. Ce tutoriel vous guide à travers un design web dynamique qui pourrait compléter vos compétences en effets visuels.
Le JavaScript est essentiel pour rendre l’effet LED interactif. Voici le script qui permet de faire suivre la lumière par la souris et de révéler le texte lorsqu’elle passe au-dessus.
var text = document.getElementById('title');
var light = document.getElementById('light');
document.addEventListener('mousemove', function(event) {
var mouseX = event.clientX;
var mouseY = event.clientY;
light.style.left = mouseX + 'px';
light.style.top = mouseY + 'px';
var textRect = text.getBoundingClientRect();
var isWithinX = mouseX > textRect.left && mouseX < textRect.right;
var isWithinY = mouseY > textRect.top && mouseY < textRect.bottom;
if (isWithinX && isWithinY) {
text.style.opacity = 1;
} else {
text.style.opacity = 0;
}
});
Analysons le code JavaScript suivant :
var text = document.getElementById('title');
var light = document.getElementById('light');
title
, qui correspond au texte du titre dans votre page.light
, qui correspond à l’élément lumineux que vous déplacez sur la page.
document.addEventListener('mousemove', function(event) {
var mouseX = event.clientX;
var mouseY = event.clientY;
light.style.left = mouseX + 'px';
light.style.top = mouseY + 'px';
light.style.left et light.style.top : Positionnent l’élément lumineux (#light
) exactement là où se trouve la souris, en utilisant les coordonnées X et Y.
var textRect = text.getBoundingClientRect();
var textCenterX = textRect.left + textRect.width / 2;
var textCenterY = textRect.top + textRect.height / 2;
#title
), c’est-à-dire la position du texte par rapport à la fenêtre.left
) et en ajoutant la moitié de sa largeur/hauteur.
var isWithinX = mouseX > textRect.left && mouseX < textRect.right;
var isWithinY = mouseY > textRect.top && mouseY < textRect.bottom;
if (isWithinX && isWithinY) {
text.style.opacity = 1;
} else {
text.style.opacity = 0;
}
});
Ce script permet de créer un effet interactif où le texte (#title
) devient visible uniquement lorsque l’effet lumineux (#light
) passe au-dessus de lui. Lorsque l’utilisateur déplace la souris, la lumière suit le mouvement, et le texte apparaît et disparaît en fonction de la position de cette lumière, créant ainsi un effet de révélation dynamique.
Dans ce tutoriel, nous avons exploré comment créer un effet d’éclairage LED interactif en utilisant HTML, CSS et JavaScript. Ce type d’effet est idéal pour dynamiser une interface web en ajoutant une touche moderne et interactive. Que ce soit pour un portfolio, un site de marketing, ou tout autre projet, cet effet peut être facilement personnalisé pour répondre à vos besoins spécifiques.
L’effet d’éclairage LED n’est pas seulement visuellement attractif, mais il peut également améliorer l’expérience utilisateur en rendant les interactions avec votre site plus engageantes. En comprenant les bases de sa mise en œuvre, vous pouvez maintenant expérimenter et adapter cet effet à vos propres projets pour créer des expériences web encore plus captivantes.
MonDesign Web, your digital marketing agency, dedicated to guiding you to the pinnacle of your online success.