diff --git a/css/styles.css b/css/styles.css index 8f1f56b..4506b7e 100644 --- a/css/styles.css +++ b/css/styles.css @@ -1118,6 +1118,7 @@ img { /* Shorts specific styling */ .short-card { width: 180px; + position: relative; } .short-thumbnail { @@ -1125,6 +1126,13 @@ img { height: 320px; border-radius: 12px; overflow: hidden; + position: relative; + cursor: pointer; + transition: transform 0.3s ease; +} + +.short-thumbnail:hover { + transform: scale(1.05); } .short-thumbnail img { @@ -1132,6 +1140,106 @@ img { height: 100%; object-fit: cover; object-position: center; + transition: filter 0.3s ease; +} + +.short-thumbnail:hover img { + filter: blur(2px); +} + +/* Overlay hover pour les shorts */ +.short-thumbnail::before { + content: ''; + position: absolute; + top: 100%; + left: 0; + right: 0; + bottom: 0; + background: rgba(64, 64, 64, 0.9); + transition: top 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); + z-index: 2; +} + +.short-thumbnail:hover::before { + top: 0; +} + +/* Logo overlay */ +.short-thumbnail::after { + content: ''; + position: absolute; + top: 20px; + left: 50%; + transform: translateX(-50%) translateY(20px); + width: 80px; + height: 80px; + background-image: url('../img/logo.png'); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + opacity: 0; + transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s; + z-index: 3; +} + +.short-thumbnail:hover::after { + opacity: 1; + transform: translateX(-50%) translateY(0); +} + +/* Titre sur l'overlay pour les shorts */ +.short-card .short-title-overlay { + position: absolute; + bottom: 0; + left: 0; + right: 0; + color: white; + font-weight: 600; + font-size: 14px; + line-height: 1.3; + text-shadow: 0 2px 4px rgba(0,0,0,0.8); + z-index: 4; + background: linear-gradient(transparent, rgba(0,0,0,0.9)); + padding: 30px 12px 12px; + border-radius: 0 0 12px 12px; + text-align: center; + opacity: 0; + transform: translateY(20px); + transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s; +} + +.short-card:hover .short-title-overlay { + opacity: 1; + transform: translateY(0); +} + +/* Icône play sur l'overlay pour les shorts */ +.short-card .short-play-overlay { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + opacity: 0; + z-index: 5; + width: 60px; + height: 60px; + background-image: url('../img/play-icon.svg'); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.15s; + pointer-events: none; + filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3)); +} + +/* Cacher l'icône Font Awesome pour les shorts */ +.short-card .short-play-overlay i { + display: none; +} + +.short-card:hover .short-play-overlay { + opacity: 1; + transform: translate(-50%, -50%) scale(1.1); } /* Ajustements pour mobile */ diff --git a/index.php b/index.php index efd1a79..b7af55e 100644 --- a/index.php +++ b/index.php @@ -274,28 +274,14 @@ setSecurityHeaders();
Miniature de la vidéo: <?php echo htmlspecialchars($video['title']); ?> -
-
-
-

-
- -
- -
- - <?php echo $video['channel']; ?> - - + -