如何处理两个重叠 div 的“双重不透明度”

2024-02-27

我有两个 div,不透明度均为 0.6。我需要它们重叠但保留其不透明度,而不是创建新的组合不透明度级别。我无法使用图像。

编辑——小圆圈中应该有一个画布元素。不确定伪元素是否是最佳解决方案。

有没有办法用 CSS 来做到这一点,或者我应该只使用画布?

例子 -

http://dabblet.com/gist/1566209 http://dabblet.com/gist/1566209

HTML:

<div id="foo">
    <div id="bar">
    </div>
</div>

CSS:

/**
 * Double Opacity
 */
body{background:green;}

#foo{
height:150px;
width:250px;
background:rgba(0, 0, 0, 0.6);
position:absolute;
left:40%;
top:20%;
}

#bar{
height:40px;
width:40px;
background:rgba(0, 0, 0, 0.6);
border-radius:40px;
position:absolute;
top:-15px;
left:-15px;
}


SUMMARY:


根据需要,这可能会很棘手,但基本方法非常简单。


这种方法与我的第一个想法有点不同......但这具有相同的结果。

  1. 我为圆圈制作了一个黑色/透明图案并将其设置为:before.
  2. 然后圆就变形了rotate(180deg)并移动以适应 的一角<div>.
  3. 然后我设置了opacity那个圆的0.6.
  4. The <div>本身并不受opacity.
  5. 接下来我添加了:after元素并将图像放置为background(如果需要的话可以通过js控制)
  6. 我给图像添加了一些效果(border-radius, box-shadow, border)以显示该元素是多么容易和独立 受控。
  7. 我使用了较浅的背景并设置opacity to 0.3以显示 结果

这是小提琴:http://jsfiddle.net/pixelass/nPjQh/4/ http://jsfiddle.net/pixelass/nPjQh/4/

看看这个版本有一些疯狂的结果: http://jsfiddle.net/pixelass/nPjQh/5/ http://jsfiddle.net/pixelass/nPjQh/5/

这些示例中的每一个仅使用一个div element

基本规则。 (这些规则“可以”用于用 js 创建动态行为)

位置=绝对;

顶部=圆高度/-2;

左=圆高度/-2; //(左=上)

旋转=180度;

不透明度=AofBackground值;

bgColor = 背景的RGB值;

#inner {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    background-color: rgba(0, 0, 0, 0.3);
    padding:20px;
    border-radius: 20px;
    border-top-left-radius: 0;
}
#inner:before {
    content: "";
    background-image: -webkit-linear-gradient(transparent 50%, rgb(0, 0, 0) 50%, rgb(0, 0, 0)),
        -webkit-linear-gradient(0deg, transparent 50%, rgb(0, 0, 0) 50%, rgb(0, 0, 0));
    height: 40px;
    width: 40px;
    border-radius: 40px;
    position: absolute;
    top: -20px;
    left: -20px;
    -webkit-transform: rotateZ(180deg);
    opacity:0.3;
}
#inner:after {
    content: "";
    background: url('http://lorempixel.com/10/10/sports/1/') no-repeat;
    background-position:0;
    height: 10px;
    width: 10px;
    border-radius: 10px;
    position: absolute;
    top: -6px;
    left: -6px;
    -webkit-box-shadow: 0 0 10px rgb(255,255,255);
    border: 1px rgb(255,255,255) solid;

}

更好的解释


原评论版http://jsfiddle.net/pixelass/nPjQh/10/ http://jsfiddle.net/pixelass/nPjQh/10/

请参阅下面代码中的注释

#inner {
background: rgba(0,0,0,0.5) /*this is the full color-code of the div (with alpha)*/
}
#inner:before {
    /*the solid color of the circle = rgbValue of the div*/
    background-image: -webkit-linear-gradient(transparent 50%, rgb(0, 0, 0) 50%, rgb(0, 0, 0)),
        -webkit-linear-gradient(0deg, transparent 50%, rgb(0, 0, 0) 50%, rgb(0, 0, 0));
    /*opacity of the circle = alpha of the div*/
    opacity: 0.5;
}

这个例子有一个完全透明的div...圆圈是一个“吃豆人”形状:http://jsfiddle.net/pixelass/nPjQh/14/ http://jsfiddle.net/pixelass/nPjQh/14/


管理圆的偏移


看一下这些处理圆偏移的示例(不使用伪元素)

OP 代码的 1:1 副本(15px 偏移):http://jsfiddle.net/pixelass/nPjQh/12/ http://jsfiddle.net/pixelass/nPjQh/12/

偏移量要小得多(5px):http://jsfiddle.net/pixelass/nPjQh/13/ http://jsfiddle.net/pixelass/nPjQh/13/

(内容与圆圈具有相同的不透明度)

偏移量如何发挥作用?

控制background-sizetop and left

Rules:

顶部=左侧;

背景大小 = 元素高度 * 2 + 顶部 * 2;

看这花(也只有一朵)<div>带伪元素) 这background-size比圆还大。这会在底部产生绿叶

http://jsfiddle.net/pixelass/nPjQh/15/ http://jsfiddle.net/pixelass/nPjQh/15/


当前的问题


看看这个小提琴:http://jsfiddle.net/pixelass/nPjQh/16/ http://jsfiddle.net/pixelass/nPjQh/16/

如果不使用帖子顶部示例中所示的另一个图层,内容将是透明的。因此,如果您只需要圆圈内的图像,上面的示例就可以正常工作。

如何解决这个问题

如果您需要画布或圆圈内的另一个 div,则必须将圆圈放在 div 上并将所需的 div 放在圆圈上

看看这个小提琴:http://jsfiddle.net/pixelass/nPjQh/17/ http://jsfiddle.net/pixelass/nPjQh/17/

稍微改变一下,它就会工作得很好。从小提琴中获取代码


不同形状/高级造型


如果您使用具有平坦侧面的不同形状,您甚至可以在两个 div 的总和周围放置一个边框..或者甚至添加一个框阴影

仍然使用简单的标记......

<div id="foo">
    <div id="bar">
    </div>
</div>

请参阅盒子阴影的小提琴:http://jsfiddle.net/pixelass/nPjQh/21/ http://jsfiddle.net/pixelass/nPjQh/21/


对圆应用边框


Using -webkit-mask-image我们可以给圆圈添加边框。http://jsfiddle.net/pixelass/nPjQh/24/ http://jsfiddle.net/pixelass/nPjQh/24/


更多示例:


div 周围有四个圆圈

http://jsfiddle.net/pixelass/nPjQh/25/ http://jsfiddle.net/pixelass/nPjQh/25/

Markup:

<div id="foo">
    <div id="bar1"></div>
    <div id="bar2"></div>
    <div id="bar3"></div>
    <div id="bar4"></div>
</div>

使用此技术制作工具提示

http://jsfiddle.net/pixelass/nPjQh/31/ http://jsfiddle.net/pixelass/nPjQh/31/

Markup:

<div id="foo">
    <div id="bar"></div>
    I am a pure css tooltip with a semi-transparent background and a black border. <br/>
    My width is static an my height is dynamic...
</div>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何处理两个重叠 div 的“双重不透明度” 的相关文章

  • Sass:@use 出错,未定义变量

    我正在使用 Sass 并且想要使用 use关键字而不是 import 因为 import有很多问题 另外只有dart sass支持这个功能 我将node sass改为dart sass 然而 问题出现了 我原来的代码 import carb
  • Bootstrap:如何将按钮组对齐在中心(垂直)

    在下面的代码中
  • 如何在Yii框架中向Form添加类?

    我在 Yii 中有一个表单 我想向该表单添加一个类
  • javascript 选择自定义光标 (svg)

    我正在动态地将光标更改为悬停时的本地 svg element on mouseover function this css cursor url svgs pointer svg 9 30 auto 工作正常 但我想选择该 svg 来操纵其
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何在模态打开时防止主体滚动

    我在用着W3schools 模态脚本 https www w3schools com howto tryit asp filename tryhow css modal我想添加一个功能 防止模型打开时整个主体滚动 我根据我的需要对原始脚本做
  • 具有 100% 高度行和 Internet Explorer 9 的表格

    我有以下示例 div style height 150px background color AAAAFF div
  • 使用 CSS 的响应式图像

    我发现调整图像大小以使其具有响应能力很棘手 我正在开发一个 php 应用程序来自动将网站转换为响应式版本 我有点被图像困住了 我已经成功地为网站上的每个图像添加了一个包装类 并且可以很好地调整图像的大小 我的问题在于自然小于窗口的图像 例如
  • 使用javascript动态更新css内容

    需要将 css 更新为动态值 我不确定最好的方法是什么 div style zoom 1 div 缩放级别将根据窗口大小调整触发 应用程序将相应缩放 我将此应用程序加载到 cordova 中并让它在 iPAD 中运行 然后我意识到需要使用
  • SVG 动画不适用于 Chrome 中的 favicon

    In the SVG 图标已设置 这是旋转内圆的SVG文件的内容 Favicon 动画在 Chrome 中根本不起作用 如何让它在 Chrome 中工作 在 Firefox 中可以正常工作 在 Edge 中则不行 但 Chrome 是最重要
  • jQuery 生成 div 和碰撞检测

    所以我的学校作业项目快要结束了 我只是错过了两件我似乎无法弄清楚的主要事情 1 如何生成具有随机位置的间隙的管道障碍物 以便鸟可以飞过 尝试使用一个函数来更改间隙位置的管道 div 的 css right attr 并在以下情况下移除管道它
  • React 设置背景颜色与状态 rgb

    所以我根据数据库的结果生成一个表 在数据库中我保留 rgb 值 例如 75 75 75 现在当我生成列表时 我想使用保存的值设置我的 td 的背景 tbody this state boxes map box i gt tr td box
  • 如何为 HTML 元素创建鼠标拖动滑块?

    我发现的许多滑块插件要么仅单击以查看下一个图像 要么如果它们确实具有鼠标拖动或触摸拖动功能 则仅允许图像 有谁知道为任何 html 元素编写鼠标拖动滑块的插件或可能的方法 我专门使用 SVG 但将来如果能在 div 元素之间滑动就更好了 H
  • 为什么我的列表项项目符号与浮动元素重叠

    我有一个 XHTML Strict 页面 我在其中将图像浮动在常规文本段落旁边 一切都很顺利 除非使用列表而不是段落 列表的项目符号与浮动图像重叠 更改列表或列表项的边距没有帮助 边距是从页面左侧开始计算的 但浮动会将列表项推到右侧insi
  • 自定义rc-time-picker的样式

    我在用rc time picker我的项目的包 但我在自定义样式时遇到问题pop up of my time picker成分 这是我的组件的屏幕截图 首先 我需要更改时间的背景颜色item在当时li from light grey 在屏幕
  • 悬停此元素时隐藏元素后的伪元素

    我的菜单垂直放置在页面左侧和菜单之间 li 我有一个 after那是一个分隔符 我想要的是当我悬停元素本身 如果它是第一个元素 时隐藏 after 元素 或者当它是中间元素时隐藏上面和底部的元素 如果它是最后一个子元素 则隐藏 after前
  • 为什么 IE8 在我的图像锚标记上添加底部边框?

    我知道 这很可悲 但今天早上 IT 刚刚在我的机器上安装了 IE8 我立刻遇到了一个明显的问题 尽管我知道答案就在我面前 但我已经把它搞砸了太久了 首先 这是网站 www mchenry edu http www mchenry edu 在
  • 如何选择具有“A”类但不具有“B”类的 div?

    我有一些 div div class A Target div div class A B NotMyTarget div div class A C NotMyTarget div div class A D NotMyTarget di
  • Firefox 不会在使用 jQuery AJAX 加载的内容上呈现 CSS 样式

    我有一个网站 允许用户对书籍和文章发表评论 主表单有一个搜索输入 用于查找相关书籍或文章 来源 我使用 jQuery 根据输入的搜索词从外部站点动态加载新源 然后还使用 AJAX 返回列表中的源 我有两个问题 现在 在用户输入四个字符后 j
  • 使用css bootstrap时如何仅向一列添加右边框?

    我正在尝试使用CSS引导框架 http getbootstrap com css tables在我的项目中 我正在使用带有以下类的表table table bordered table striped 我想删除除第一列之外的所有列的边框 这

随机推荐

  • msi 安装程序运行两次

    我有一个通过 msi 安装的程序 msi 是使用 VS2008 部署项目构建的 并具有在安装完成后运行该程序的自定义操作 一旦 msi 运行 我可以简单地更新版本号 生成新的产品代码 并且 msi 可以在同一台 PC 上再次运行 但是 我想
  • Fancybox 宽度不适用

    使用以下 JS 宽度不会被调整 我使用的时候没有调整 750 or 750px a city prompt fancybox width 750 我已经发布在fancybox http fancybox net api论坛讨论过这个问题 但
  • Magento 扁平化产品

    尝试启用并重新索引产品平面数据时 从 magento 收到错误 平面目录模块的可过滤和 或可排序限制为 64 个 属性 目前有521个 请减少数量 可过滤 可排序的属性以便使用此模块 我不明白这意味着什么以及 magento 从哪里获取这个
  • 为什么选择下拉菜单不允许我单击某个项目 IE,但在 Firefox、Chrome 等中却可以正常工作?

    我正在使用jquery mega下拉菜单插件 http www designchemical com lab jquery mega drop down menu plugin examples 在其中一个菜单中 我想添加一个下拉框 它在
  • 如何在flutter中分割dart类?

    我做了以下测试 但它不起作用 main dart class Test static const a 10 final b 20 final c a 1 part dart part of main dart class Test fina
  • 如何在 Fortran 中将子例程名称作为参数传递?

    将子例程名称作为参数传递的语法是什么 示意图 call action mySubX argA argB subroutine action whichSub argA argB call subroutine whichSub argA a
  • 嵌入式 Tomcat 不提供静态内容

    我正在使用以下内容 基于this https stackoverflow com questions 640022 howto embed tomcat 6 创建嵌入式 Tomcat 服务器 File catalinaHome new Fi
  • 在 Delphi 7 中,我可以设置“调试”和“发布”模式吗?

    在大多数现代 IDE 中 您可以拥有 调试 和 发布 构建配置 并且可以在它们之间快速切换 在Delphi 7中 这似乎不可能 我必须进入项目设置并手动切换优化和所有调试信息 如果有一个插件或类似的插件可以帮我处理这个问题 那就太好了 有人
  • 自定义错误页面,当发生 Http 错误而不更改 url 时

    当 Http 错误发生时 如何在不更改 url 的情况下显示自定义错误页面 当发生 Http 错误时 如何显示客户自定义错误页面而不路由到另一个 URL 下面的方法不会使用重定向 它将返回您的自定义错误 正确的 httpstatus 代码作
  • 垂直对齐:中间不起作用

    CSS 属性vertical align middle在此示例中不起作用 HTML div span class twoline Two line text span span class float Float right span di
  • 创建 NSDate Monotouch

    我试图获取一个日期字符串并将其转换为特定的 NSDate 例如 1981 年 7 月 1 日 但我没有看到设置日期的方法 有谁知道如何做到这一点 也许将 DateTime 对象转换为 NSDate 最简单的方法是从 DateTime 设置它
  • sim800L GPRS 发布请求

    我一直在研究 LoNet 迷你 GSM 模块 SIM800L 并将其与 Arduino 连接 我已插入 SIM 移动卡并且可以连接互联网 通过串行监视器 我可以毫无问题地与它通信 但是当向网络服务器页面发出 GET 或 POST 请求时 它
  • 在AS3中创建链表

    如何在actionScript 3 0 中创建链接列表 我有一个项目 我应该从用户那里获取一些整数 并通过树算法对它们进行排序 例如堆排序并在闪存中显示树 我认为我应该使用链表通过树算法对数据进行排序 所以有人知道如何创建一个可以插入节点
  • 无法加载文件或程序集“Microsoft.SqlServer.Types,Version=10.0.0.0”或其依赖项之一

    最近我开始使用 SSMS 2017 v17 5 在我的 MVC 应用程序中 我收到以下错误 Could not load file or assembly Microsoft SqlServer Types Version 10 0 0 0
  • 我需要一个工具来查找单个文本文件或一组文本文件中重复或相似的文本块

    我想自动将重复或类似的 C 代码移动到函数中 这必须在 Linux 下工作 您的问题的一个子集 检测重复代码 Try PMD https pmd github io 重复的代码可能很难找到 尤其是在大型项目中 但 PMD 的复制 粘贴检测器
  • 比较器的等价恒等运算

    是否存在可能的身份表示Comparator那可能存在吗 在寻找简化代码的过程中删除Java中重载的方法 https stackoverflow com questions 58782150 removing overloaded metho
  • 根据另一个 JSON 键的值将 JSON 解码为类

    我正在尝试使用返回 JSON 文档的 REST API 该文档的结构取决于名为的属性的值type 我将主类定义如下 Serializable class Interaction val type Byte val data Interact
  • Locust.io 负载测试出现“连接中止 BadStatusLine”错误

    我正在使用 Locust io 来加载测试应用程序 我会收到一个随机错误 我无法查明问题 1 ConnectionError ProtocolError Connection aborted BadStatusLine 2 Connecti
  • XPath语法:如何根据父div获取子div信息

    我的 scrapy 项目的结果如下所示 div class news li div div class news li div div class news li div div class news li div 每个 news li 类
  • 如何处理两个重叠 div 的“双重不透明度”

    我有两个 div 不透明度均为 0 6 我需要它们重叠但保留其不透明度 而不是创建新的组合不透明度级别 我无法使用图像 编辑 小圆圈中应该有一个画布元素 不确定伪元素是否是最佳解决方案 有没有办法用 CSS 来做到这一点 或者我应该只使用画