我想创建一个教程, bootstrap 用户准确地点击哪里.我试着用一个<div>来覆盖整个屏幕,这个<div>会使所有元素变暗,除了固定的widthheighttopleft中的specific region.

问题是,我找不到一种方法来"取消"父母的background-color(这也是透明的).

在下面的片段中,hole是应该没有任何background-color的div,包括其父目录.

这能实现吗?有什么 idea 吗?

#bg{
   background-color:gray;
   opacity:0.6;
   width:100%;
   height:100vh;
}
#hole{
   position:fixed;
   top:100px;
   left:100px;
   width:100px;
   height:100px;
}
<div id="bg">
    <div id="hole"></div>
</div>

下面是我试图实现的一个模型图像:

enter image description here

推荐答案

你可以只用一个div,然后给它一个box-shadow.

EDIT: 正如@Nick Shvelidze指出的那样,你应该考虑增加pointer-events: none

按照@Prinzhorn的建议,box-shadow增加了vmax个值

div {
  position: fixed;
  width: 200px;
  height: 200px;
  top: 50px;
  left: 50px;
  /* for IE */
  box-shadow: 0 0 0 1000px rgba(0,0,0,.3);
  /* for real browsers */
  box-shadow: 0 0 0 100vmax rgba(0,0,0,.3);
  pointer-events: none;
}
<div></div>

Html相关问答推荐

使用Scrapy Select 最后一个子文本

如何在Vim中删除Html标签?

首字下沉非字母字符

如何使用CSS在NSAttributedString中为HTML文本中的图像制作覆盖图

Css网格:两列,除非小于150px

我无法动态嵌入Instagram帖子,因为无法分配Instagram固定链接

如何使不断增长的div不溢出其包含固定div的父级

浏览器是否可以呈现存储在代码点0x09处的字形?

SVG';COLOR&39;属性不优先于通用css';COLOR&39;属性

如何使链接组件内的内容不重新路由Next.js13

带有排序元素的 CSS 网格

如何使元素具有粘性

为什么 CSS 网格超出了父级?

如何检测输入字段是否没有必填且没有占位符?

如何使我的设计适合与我的框架尺寸不同的视口?

文本溢出:省略号不适用于 flexbox

使用 TailwindCSS 将徽标放在左上角,将菜单放在右上角

浮动元素忽略 margin-top 属性后的块元素

使用 tailwind css 将 HTML/CSS/JS 站点转换为 React App

使用 CSS 的发光边框动画没有流畅的过渡