JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<title>Resim Karşılaştırıcı Slider. Onur Erdoğan, NewsLabTurkey, 2024.</title>
<style>
.container {
position: relative;
width: 100%; /* Ekranın genişliğine göre otomatik ayarlanır */
height: 100vh; /* Ekranın yüksekliğinin %50'si kadar */
overflow: hidden;
cursor: ew-resize; /* İmleç container üzerine geldiğinde resize ikonuna dönüşsün */
user-select: none; /* Kopyala-yapıştır işlevini devre dışı bırak */
-webkit-user-select: none; /* Safari ve eski Chrome sürümleri için */
-moz-user-select: none; /* Firefox için */
-ms-user-select: none; /* Internet Explorer için */
}
.container img {
position: absolute;
width: 100%;
height: 100%;
top: 0;
display: block;
}
.container .img-top {
width: 100%;
height: 100%;
object-fit: cover;
}
.container .img-top {
clip-path: inset(0 50% 0 0); /* İlk yüklemede üst resmi yarı yarıya göster */
}
.slider {
position: absolute;
top: 0;
left: 50%;
width: 0.5px;
height: 100%;
background: #fff;
cursor: ew-resize;
overflow: hidden;
}
.slider-text { /* Slider altı metin için eklenen stil */
position: absolute; /* Mutlak konumlandırma */
bottom: -10px; /* Slider altındaki metni container dışına çıkart */
left: 0;
right: 0;
width: 100%;
text-align: left; /* Metni ortala */
color: #fff; /* Metin rengini beyaza çevir */
background-color: #000; /* Arka plan rengini siyaha çevir */
padding: 5px; /* Üstten, alttan ve yanlardan padding */
box-sizing: border-box; /* Padding'i genişliğe dahil et */
z-index: 3; /* Slider üzerinde gözükmesi için */
font-family: Arial, sans-serif; /* Font ailesi */
font-size: 10px; /* Font boyutu */
font-weight: bold; /* Font ağırlığı */
}
</style>
</head>
<body>
<div class="slider-text">"Mutlu bir adam" (sağa kaydırın) vs. "Gün ışığıyla aydınlanan ofisinde boydan pencere önünde, bilgisayar başında oturan ve gülümseyen bir adam,...