如何使用javascript / css将父div和兄弟div显示为灰色

劳伦斯·哈格曼

我有一个父div,它显示div元素的可滚动列表。对于初次使用的用户,我希望将列表和父div中的所有元素显示为灰色,而仅使第一个元素正常显示。

我尝试使用框阴影,但它只会影响背景,而不影响兄弟姐妹或父母。

我还查看了一个覆盖灰色不透明div的图层,但是它将掩盖我要突出显示的div。

我已经包括了html的paintover屏幕抓图。包含它太复杂了。对不起:/。

有没有人建议使用javascript / css方法?在此处输入图片说明

理查德·亨特

如果我正确理解了该问题,则需要在页面上透明覆盖,但其中有一个“孔”以显示一个元素?

这是解决问题的第一步。它在目标元素上使用了一个伪元素,该元素在两侧仅宽10个像素,并在其上延伸了一个透明的框阴影,该阴影遍及整个视口。(100vw应该足够,但如有必要可以做得更大)。第二个嵌入式盒阴影提供了柔和的边缘。

toggleOverlay.addEventListener('click', () => {
  foo.classList.toggle('with-overlay');
});
body {
  background: antiquewhite;
}

.foo {
  padding: 40px;
  margin: 100px;
  position: relative;
  border: solid 1px black;
}

.foo.with-overlay:before {
  content: '';
  pointer-events: none;
  position: absolute;
  border-radius: 10px;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  box-shadow: 0 0 0 100vw rgba(1, 1, 1, 0.5), inset 0 0 2px 2px rgba(1, 1, 1, 0.5);
  background: transparent;
  opacity: 0.8;
}
<div>

  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor
  in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<div id="foo" class="foo">
  hello world
  <button id="toggleOverlay">toggle overlay</div>
</div>
<div>

  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果使用jquery / javascript将url设置为特定值,如何隐藏和显示div?

如何在父容器中使用 CSS 或 javascript 移动 div

如何使用 JavaScript 将 div 随机放置在父级中?

如何使用JavaScript更改父div的大小

如何将div设置为嵌套在另一个div内,以及如何使用自动调整的高度和重量填充父div

如何将父 div 宽度设置为屏幕大小的百分比(HTML、CSS)

如何使用JavaScript将类设置为div标签

如何使用JavaScript显示和隐藏特定的div?

使用jQuery将div的高度设置为下一个兄弟div的高度

在滚动父页面上显示div元素css或javascript

CSS-Javascript:显示和隐藏div

如何将 textarea 背景设置为透明以仅使用 javascript 或 css 在放置在其后面/上方的 div 上显示其内容

如何使用Javascript控制克隆的<div>的CSS?

如何使用JavaScript展开和折叠<div>?

将正方形图像div显示为帧,而不管图像的宽度和高度如何

如何将按钮的非悬停状态颜色覆盖为灰色,但是当悬停按钮显示颜色时(使用CSS框架)

如何使用javascript过滤div?

如何使用 Javascript 解包 DIV?

如何在css中为绝对位置的兄弟div元素的左边距设置动态数

如何将 div 与父 div 对齐?

如何使用javascript和css从固定为div宽度的字符串数组中显示数字+更多剩余文本?

如何使用javascript删除父div中的内容?

如何使用 JavaScript 在单击子元素时关闭父 div?

如何显示:使用时,父标签和兄弟标签之间没有显示

如何将父 div 的高度设置为具有位置的子 div:绝对

如何将子div宽度的80%设置为父div

如何处理具有隐藏和显示div的多个下拉列表的父/子div问题?

使用javascript参数隐藏和显示DIV

使用javascript隐藏和显示div