У меня есть сетка из 4 фотографий, и мне нужно настроить их на изменение при наведении курсора.
Я могу сделать это с одним изображением, используя 'img: hover' и 'position: absolute;'однако с несколькими изображениями абсолютное позиционирование портит макет.
* { box-sizing: border-box; } .column { float: left; width: 50%; padding: 5px; } .row::after { content: ""; clear: both; display: table; }
<div class="row"> <div class="column"> <img src="https://helpx.adobe.com/content/dam/help/en/stock/how-to/visual-reverse-image-search/jcr_content/main-pars/image/visual-reverse-image-search-v2_intro.jpg" alt="Snow" style="width:100%"> </div> <div class="column"> <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSV7Xfy9xsIHJKQDzyNeuADyO-dTfLioo221t2-7m8ABCWDiaJKTQ" alt="Forest" style="width:100%"> </div> </div> <div class="row"> <div class="column"> <img src="https://helpx.adobe.com/content/dam/help/en/stock/how-to/visual-reverse-image-search/jcr_content/main-pars/image/visual-reverse-image-search-v2_intro.jpg" alt="Snow" style="width:100%"> </div> <div class="column"> <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSV7Xfy9xsIHJKQDzyNeuADyO-dTfLioo221t2-7m8ABCWDiaJKTQ" alt="Forest" style="width:100%"> </div> </div>
Это код, который у меня есть, и я пытался добавить фон (url ...) в CSS безрезультатно.
Любая помощь / руководство будет высоко ценится, большое спасибо!
Вы можете использовать оверлей, используя css.Пожалуйста, отметьте это .. Это будет работать для вас
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> .container { position: relative; width: 50%; } .image { display: block; width: 100%; height: auto; } .overlay { position: absolute; top: 0; bottom: 0; left: 0; right: 0; height: 100%; width: 100%; opacity: 0; transition: .5s ease; background-color: #008CBA; } .container:hover .overlay { opacity: 1; } .text { color: white; font-size: 20px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); text-align: center; } </style> </head> <body> <h2>Fade in Overlay</h2> <p>Hover over the image to see the effect.</p> <div class="container"> <img src="https://img.icons8.com/office/16/000000/download-2.png" alt="Avatar" class="image"> <div class="overlay"> <div class="text">111<img src="https://img.icons8.com/windows/32/000000/cloudflare.png" alt="Avatar" class="image"></div> </div> </div> <div class="container"> <img src="https://img.icons8.com/office/16/000000/download-2.png" alt="Avatar" class="image"> <div class="overlay"> <div class="text">222<img src="https://img.icons8.com/windows/32/000000/cloudflare.png" alt="Avatar" class="image"></div> </div> </div> <div class="container"> <img src="https://img.icons8.com/office/16/000000/download-2.png" alt="Avatar" class="image"> <div class="overlay"> <div class="text">333<img src="https://img.icons8.com/windows/32/000000/cloudflare.png" alt="Avatar" class="image"></div> </div> </div> <div class="container"> <img src="https://img.icons8.com/office/16/000000/download-2.png" alt="Avatar" class="image"> <div class="overlay"> <div class="text">444<img src="https://img.icons8.com/windows/32/000000/cloudflare.png" alt="Avatar" class="image"></div> </div> </div> </body> </html>
Решением было добавить код, предложенный Лалджи выше, чтобы стиль соответственно применялся к изображениям.
Попробуйте с
<div class="row"> <div class="column"> <img src="https://images.pexels.com/photos/956981/milky-way-starry-sky-night-sky-star-956981.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" alt="Snow" style="width:100%"> <img class="hover-img" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSdf7iabWlo2C3SXNzPOVitkY47gwvZXSkYXRt9Xh0vdRFcbMA5" /> </div> <div class="column"> <img src="https://images.pexels.com/photos/956981/milky-way-starry-sky-night-sky-star-956981.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" alt="Forest" style="width:100%"> <img class="hover-img" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSdf7iabWlo2C3SXNzPOVitkY47gwvZXSkYXRt9Xh0vdRFcbMA5" /> </div> </div> <div class="row"> <div class="column"> <img src="https://images.pexels.com/photos/956981/milky-way-starry-sky-night-sky-star-956981.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" alt="Snow" style="width:100%"> <img class="hover-img" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSdf7iabWlo2C3SXNzPOVitkY47gwvZXSkYXRt9Xh0vdRFcbMA5" /> </div> <div class="column"> <img src="https://images.pexels.com/photos/956981/milky-way-starry-sky-night-sky-star-956981.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500" alt="Forest" style="width:100%"> <img class="hover-img" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSdf7iabWlo2C3SXNzPOVitkY47gwvZXSkYXRt9Xh0vdRFcbMA5" /> </div> </div>
CSS
*{ box-sizing:border-box; } .column { float: left; width: 50%; padding: 5px; position:relative; } /* Clearfix (clear floats) */ .row::after { content: ""; clear: both; display: table; } .hover-img{ display:none; position:absolute; left:0; top:0; width:100%; height:100%; } .column:hover img + img{ display:block; }
https://jsfiddle.net/lalji1051/jhrpfq8u/4/