javascript - 如何扩展背景图像以填满整个页面?

标签 javascript css animation css-transitions

我正在为左上角的固定位置按钮创建一个动画,它创建了一个背景,当点击时它会在整个页面上传播。所以我写了一个这样的 CSS:它只扩展到父元素,但是如何我让它成为一个延伸到整个页面的动画?

div {
    height: 200px;
    width: 200px;
    background: radial-gradient(circle at center, blue 50%, transparent 50%);
    background-size: 10% 10%;
    background-position: center;
    background-repeat: no-repeat;
    transition: all .5s;
}

div:hover {
    background-size: 200% 200%;
}
<div></div>

最佳答案

你可以考虑如下伪元素:

.box {
  height: 200px;
  width: 200px;
  position: relative;
}

.box:before {
  content: "";
  position: absolute;
  top: -100vh;
  bottom: -100vh;
  left: -100vw;
  right: -100vw;
  background: radial-gradient(circle, blue 50%, transparent 50%) center no-repeat;
  background-size: 20px 20px;
  transition: all .5s;
  pointer-events:none;
}

.box:hover::before {
  background-size: 200% 200%;
}

html {
 overflow:hidden;
}
<div class="box"></div>

关于javascript - 如何扩展背景图像以填满整个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59593172/

相关文章:

javascript - HTML5/CSS3 - 除了 z-index 之外的深度替代方案?

javascript - 如何根据路由更改快速静态路径?

jQuery 动画 - 平滑大小过渡

animation - d3.js 控制强制布局中的初始动画

html - 在一个容器中一个一个地缩放面板

html - 如何修改sidenav中的事件高亮

javascript - 如何在仅使用 CSS3 悬停时更改表格单元格的文本

javascript - 用于 Leaflet.js 的 Geojson 编码

javascript - 尝试请求浏览器版本的 NeDB 时出错

javascript - jQuery:在成功/错误中使用延迟对象(ajaxSetup 选项)