我想在图像上添加圆形波纹悬停效果

RandomNoobDeveloper

我想将鼠标悬停在图像上时添加涟漪效果动画。我有一个链接,他通过使用JavaScript在按钮上使用波纹效果,我不知道它是如何工作的,但是我想对代码中的图像使用相同的方法。https://codepen.io/ViktorKorolyuk/pen/GYGwpv

上面的链接显示了按钮上的波纹效果,下面是我的代码完全没有动画的模糊效果,所以我只想使用相同的方法在图像上添加波纹效果

<html>
<div class="row">
<div class="column">

    <div class="div-with-image-and-text">
    <div class="row">
    <div class="column half">

       <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%">
      </div>
    <div class="column half">

      <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%">
      <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%">
      </div></div>

      <div class="text"><a href="https://www.w3schools.com/w3images/wedding.jpg"style="text- 
      decoration:none"><h1 style="color:white;">Architecture</h1></a></div>
      </div>

      <div class="div-with-image-and-text">
      <div class="row">
       <div class="column half">

       <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%">
       </div>
      <div class="column half">

      <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%">
      <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%">
      </div></div>

      <div class="text"><a href="https://www.w3schools.com/w3images/wedding.jpg"style="text- 
      decoration:none"><h1 style="color:white;">Architecture</h1></a></div>
     </div>
      </div>
      <!--Second container-->

     <div class="column">

     <div class="div-with-image-and-text">
     <div class="row">
     <div class="column half">
      <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%">
      <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%"> 
   </div>
    <div class="column half">
      <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%"> 
     </div></div>

      <div class="text"><a href="https://www.w3schools.com/w3images/wedding.jpg"style="text- 
  decoration:none"><h1 style="color:white;">Landscape</h1></a></div>
  </div>

 <div class="div-with-image-and-text">
    <div class="row">
    <div class="column half">
      <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%">
      <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%"> 
    </div>
    <div class="column half">
      <img src="https://www.w3schools.com/w3images/wedding.jpg" style="width:100%"> 
     </div></div>

      <div class="text"><a href="https://www.w3schools.com/w3images/wedding.jpg"style="text- 
     decoration:none"><h1 style="color:white;">Landscape</h1></a></div>
     </div>
     </html>

     <style>
     * {
     box-sizing: border-box;
       }

     body {
     margin: 0;
     font-family: Arial;
      }

     .header {
     text-align: center;
     padding: 32px;
      }

    .row {
     display: -ms-flexbox;
     display: flex;
     -ms-flex-wrap: wrap;
     flex-wrap: wrap;
     padding: 0 4px;
      }

     .column {
     -ms-flex: 25%; /* IE10 */
      flex: 25%;
      max-width: 50%;
     padding: 0 4px;
     }

     .column.half {
    -ms-flex: 50%; /* IE10 */
     flex: 50%;
     max-width: 50%;
     padding: 0 4px;
      }

      .column img {
      margin-top: 8px;
      vertical-align: middle;
      width: 100%;
      }

       @media screen and (max-width: 800px) {
      .column {
       -ms-flex: 50%;
       flex: 50%;
        max-width: 50%;
           }
        }

       @media screen and (max-width: 600px) {
      .column {
      -ms-flex: 100%;
      flex: 100%;
      max-width: 100%;
         }
       }

       .div-with-image-and-text{
       position: relative;
         }
       .div-with-image-and-text .text {
       display:none;
        }

       .div-with-image-and-text:hover img{
         filter: blur(3px) brightness(40%);
         opacity: 0.5;
         transform: scale(0.98);
         box-shadow: none;
           }
          .div-with-image-and-text:hover .text{
            display: block;
            position: absolute;
              top: 50%;left: 50%;
            transform:translate(-50%, -50%);
           text-align:center;
            font-family: 'Muli';
            color:white;
            font-size: 30px;
            text-shadow:0 0 10px gray;
              }
穆罕默德

这样可以给您带来涟漪效果,而您却不会获得悬停效果

首先制作一个html文件并编写此代码

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <link rel="stylesheet" href="./style.css" />
  </head>
  <body>
    <div class="mainRow">
      <div class="display">
        <a class="HOVER">
          <span></span>

          <div class="row">
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
          </div>

          <!-- <div class="text">
          <a
            href="https://www.w3schools.com/w3images/wedding.jpg"
            style="text-decoration:none"
          >
            <h1 style="color:white;">Architecture</h1>
          </a>
        </div> -->
        </a>
        <a class="HOVER">
          <span></span>
          <div class="row">
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
          </div>

          <!-- <div class="text">
          <a
            href="https://www.w3schools.com/w3images/wedding.jpg"
            style="text-decoration:none"
          >
            <h1 style="color:white;">Architecture</h1>
          </a>
        </div> -->
        </a>
        <a class="HOVER">
          <span></span>
          <div class="row">
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
          </div>

          <!-- <div class="text">
          <a
            href="https://www.w3schools.com/w3images/wedding.jpg"
            style="text-decoration:none"
          >
            <h1 style="color:white;">Landscape</h1></a
          >
        </div> -->
        </a>
        <a class="HOVER FLASH">
          <span></span>
          <div class="row">
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
          </div>

          <div class="text">
            <a
              href="https://www.w3schools.com/w3images/wedding.jpg"
              style="text-decoration:none"
            >
              <h1 style="color:white;">Landscape</h1>
            </a>
          </div>
        </a>
      </div>
    </div>
  </body>
</html>

之后,anf在您的html文件后面制作一个css文件,并将此代码写入cssFile

index.css

/* @keyframes shake {
  25% {
    transform: rotate(calc(var(--angle) * -1));
  }

  50% {
    transform: rotate(var(--angle));
  }

  100% {
    transform: rotate(0deg);
  }
} */

html {
  font: 100 1.5em sans-serif;
}
body {
  padding: 2em 5em 0em 5em;
}

h1 {
  font-weight: 100;
}

.display {
  display: grid;
  grid-template-columns: 50% 50%;
  grid-gap: 0.1em;
  /* width: 50%; */
}

.HOVER {
  --width: 100%;
  --time: 0.7s;
  position: relative;
  display: inline-block;
  /* height: 18em; */
  /* padding: 1em; */

  color: white;
  background: #222;
  overflow: hidden;
}

.HOVER:hover {
  filter: blur(8px);
  -webkit-filter: blur(8px);
}

.HOVER text {
  position: relative;
  z-index: 5;
  transition: color var(--time);
}

.HOVER:hover text {
  color: #222;
}
.HOVER span {
  border-radius: 100%;
  position: absolute;
  display: block;
  content: "";
  z-index: 0;
  width: 0;
  height: 0;

  background: #fff;
  transform: translate(-50%, -50%);
  transition: width var(--time), padding-top var(--time);
}

.HOVER:hover span {
  width: calc(var(--width) * 2.25);
  padding-top: calc(var(--width) * 2.25);
}

.HOVER.FLASH:hover text {
  color: white;
  filter: blur(3px) brightness(40%);
  opacity: 0.5;
  transform: scale(0.98);
  box-shadow: none;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-family: "Muli";
  color: white;
  font-size: 30px;
  text-shadow: 0 0 10px gray;
}
.HOVER.FLASH span {
  background: #ff3b3b;
  filter: blur(3px) brightness(40%);
  opacity: 0.5;
  transform: scale(0.98);
  box-shadow: none;
}

.animated {
  --angle: 5deg;
  animation: shake 0.3s;
}
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: Arial;
}

.header {
  text-align: center;
  padding: 32px;
}
.mainRow {
  display: flex;
  flex-wrap: wrap;
}
.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 5px;
}

.column {
  -ms-flex: 25%; /* IE10 */
  flex: 25%;
  max-width: 50%;
  padding: 0 4px;
}

.column.half {
  -ms-flex: 50%; /* IE10 */
  flex: 50%;
  max-width: 50%;
  padding: 0 4px;
}

.column img {
  margin-top: 8px;
  vertical-align: middle;
  width: 100%;
}

@media screen and (max-width: 800px) {
  .column {
    -ms-flex: 50%;
    flex: 50%;
    max-width: 50%;
  }
}

@media screen and (max-width: 600px) {
  .column {
    -ms-flex: 100%;
    flex: 100%;
    max-width: 100%;
  }
}

.div-with-image-and-text {
  position: relative;
}
.div-with-image-and-text .text {
  display: none;
}

.div-with-image-and-text:hover img {
  filter: blur(3px) brightness(40%);
  opacity: 0.5;
  transform: scale(0.98);
  box-shadow: none;
}
.div-with-image-and-text:hover .text {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-family: "Muli";
  color: white;
  font-size: 30px;
  text-shadow: 0 0 10px gray;
}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <link rel="stylesheet" href="./style.css" />
  </head>
  <body>
    <div class="mainRow">
      <div class="display">
        <a class="HOVER">
          <span></span>

          <div class="row">
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
          </div>

          <!-- <div class="text">
          <a
            href="https://www.w3schools.com/w3images/wedding.jpg"
            style="text-decoration:none"
          >
            <h1 style="color:white;">Architecture</h1>
          </a>
        </div> -->
        </a>
        <a class="HOVER">
          <span></span>
          <div class="row">
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
          </div>

          <!-- <div class="text">
          <a
            href="https://www.w3schools.com/w3images/wedding.jpg"
            style="text-decoration:none"
          >
            <h1 style="color:white;">Architecture</h1>
          </a>
        </div> -->
        </a>
        <a class="HOVER">
          <span></span>
          <div class="row">
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
          </div>

          <!-- <div class="text">
          <a
            href="https://www.w3schools.com/w3images/wedding.jpg"
            style="text-decoration:none"
          >
            <h1 style="color:white;">Landscape</h1></a
          >
        </div> -->
        </a>
        <a class="HOVER FLASH">
          <span></span>
          <div class="row">
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
            <div class="column half">
              <img
                src="https://www.w3schools.com/w3images/wedding.jpg"
                style="width:100%"
              />
            </div>
          </div>

          <div class="text">
            <a
              href="https://www.w3schools.com/w3images/wedding.jpg"
              style="text-decoration:none"
            >
              <h1 style="color:white;">Landscape</h1>
            </a>
          </div>
        </a>
      </div>
    </div>
  </body>
</html>

html {
  font: 100 1.5em sans-serif;
}
body {
  padding: 2em 5em 0em 5em;
}

h1 {
  font-weight: 100;
}

.display {
  display: grid;
  grid-template-columns: 50% 50%;
  grid-gap: 0.1em;
  /* width: 50%; */
}

.HOVER {
  --width: 100%;
  --time: 0.7s;
  position: relative;
  display: inline-block;
  /* height: 18em; */
  /* padding: 1em; */

  color: white;
  background: #222;
  overflow: hidden;
}

.HOVER text {
  position: relative;
  z-index: 5;
  transition: color var(--time);
}

.HOVER:hover text {
  color: #222;
}
.HOVER span {
  border-radius: 100%;
  position: absolute;
  display: block;
  content: "";
  z-index: 0;
  width: 0;
  height: 0;

  background: #fff;
  transform: translate(-50%, -50%);
  transition: width var(--time), padding-top var(--time);
}

.HOVER:hover span {
  width: calc(var(--width) * 2.25);
  padding-top: calc(var(--width) * 2.25);
}

.HOVER.FLASH:hover text {
  color: white;
  filter: blur(3px) brightness(40%);
  opacity: 0.5;
  transform: scale(0.98);
  box-shadow: none;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-family: "Muli";
  color: white;
  font-size: 30px;
  text-shadow: 0 0 10px gray;
}
.HOVER.FLASH span {
  background: #ff3b3b;
  filter: blur(3px) brightness(40%);
  opacity: 0.5;
  transform: scale(0.98);
  box-shadow: none;
}

.animated {
  --angle: 5deg;
  animation: shake 0.3s;
}
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: Arial;
}

.header {
  text-align: center;
  padding: 32px;
}
.mainRow {
  display: flex;
  flex-wrap: wrap;
}
.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 5px;
}

.column {
  -ms-flex: 25%; /* IE10 */
  flex: 25%;
  max-width: 50%;
  padding: 0 4px;
}

.column.half {
  -ms-flex: 50%; /* IE10 */
  flex: 50%;
  max-width: 50%;
  padding: 0 4px;
}

.column img {
  margin-top: 8px;
  vertical-align: middle;
  width: 100%;
}

@media screen and (max-width: 800px) {
  .column {
    -ms-flex: 50%;
    flex: 50%;
    max-width: 50%;
  }
}

@media screen and (max-width: 600px) {
  .column {
    -ms-flex: 100%;
    flex: 100%;
    max-width: 100%;
  }
}

.div-with-image-and-text {
  position: relative;
}
.div-with-image-and-text .text {
  display: none;
}

.div-with-image-and-text:hover img {
  filter: blur(3px) brightness(40%);
  opacity: 0.5;
  transform: scale(0.98);
  box-shadow: none;
}
.div-with-image-and-text:hover .text {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-family: "Muli";
  color: white;
  font-size: 30px;
  text-shadow: 0 0 10px gray;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章