基本上,我建立了这个婚礼照片网站,它做了我想要的工作,但是仅出于学习目的,我想知道是否有一种方法可以缩短我的代码,因为它看起来很多余。

这是我现在可以改善的功能,基本上可以重复9张照片。同样由于某种原因(总共33张照片),当我在页面上添加12张以上的照片时,其中有些只是空白块,因此我删除了该编号的照片,并且移动到其位置的照片也变为空白,因此没有照片无法正常工作的情况。

.image {
    height: 300px;
    width: 30%;
    float: left;
    margin: 1.66%;
    background-size: cover;
    background-position: center center;
}

.image1 {
    background-image: url("Photo1.jpg");

}

.image2 {
    background-image: url("Photo2.jpg");
    opacity: 0.5;
}

.image2:hover {
    background-image: url("Photo2.jpg");
    opacity: 1.0;
}


就像我说的那样,它很有效,但是它速度很慢,我不确定原因是什么,因为它很长。

这是自请求以来的html代码

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Scobee/Feistner Wedding</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet">
    <link rel="stylesheet" type="text/css" media="screen" href="weddingSite.css">
</head>

<body>
    <p><em>Scobee/Feistner Wedding</em></p>

    <div class="image image1"></div>
    <div class="image image2"></div>
    <div class="image image3"></div>
    <div class="image image4"></div>
    <div class="image image5"></div>
    <div class="image image6"></div>
    <div class="image image7"></div>
    <div class="image image8"></div>
    <div class="image image9"></div>


</body>

</html>

最佳答案

如果使用伪选择器(:hide),则只需声明一次。你可以做到这一点。

.image2 {
    background-image: url("Photo2.jpg");
    opacity: 0.5;
}

.image2:hover {
    opacity: 1.0;
}


删除声明背景图像:url(“ Photo2.jpg”);在悬停事件上。

关于css - 有一种比我编写方法更简洁的方法来使背景图像具有一定的不透明度,然后具有悬停效果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54740820/

10-12 12:44
查看更多