首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使子div不应继承父div的不透明度?

问如何使子div不应继承父div的不透明度?
EN

Stack Overflow用户
提问于 2013-08-05 12:07:44
回答 6查看 24.1K关注 0票数 2

嗨,我创建了一个父div .ima,其中一个div名为.txt,当我给.ima一个不透明度时,不透明度就会自动应用到.txt,这是很明显的。但我不想这样。

只有.ima在0.5的不透明度中,.txt中的文本应该是100%可见的。

有办法这样做吗?

这是小提琴

我试着给.txt中的1提供不透明度,它不起作用。我可能是以错误的方式做这件事--我没有know.Any的帮助?

这里我提到的问题与引用可能重复的的问题不同

在这里,他们提出了使用rgba的建议,但是这里我不想使用它,因为如果我使用rgba,这将变成黑色或其他颜色,我们会提到。

我想在这里使用背景图像。

这是一个提议的样本。

像这样的事情是不可能的。

此外,我也不想使用.png图像(半透明)。图像可能会发生变化,这就是原因所在。

不管怎么说,谢谢那些在这里给出答案的人。

EN

回答 6

Stack Overflow用户

发布于 2013-08-05 12:16:44

最简单的方法是假设您只希望.ima的背景是透明的,在这种情况下,您应该删除opacity并建立一个值为rgba(X%,X%,X%, .5)的background-colour,在这种情况下,.txt不会继承任何东西,您可以继续下去。

代码语言:javascript
复制
<div class="ima">
    <div class="txt">
        ...
    </div>
</div>

用于透明背景的CSS:

代码语言:javascript
复制
.ima {
    /* rgba is Red, Green, Blue, Alpha:
     * put in your colour as RGB then add opacity at the end */
    background-color: rgba(255, 0, 0, .5);
}

但是,如果您希望.ima的一些子节点继承透明度(例如,文本和.txt以外的元素),那么最简单的方法是创建一个与.ima的维度相匹配并应用opacity规则的直接后代:

代码语言:javascript
复制
<div class="ima">
    <div class="txt">
        ...
    </div>
    <div class="ima__transparency">
        ...
    </div>
</div>

CSS:

代码语言:javascript
复制
.ima {
    position: relative;
}

.ima__transparency {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: .5;
}

.txt {
    position: relative;
    z-index: 1;
}

带背景图像的示例。

票数 5
EN

Stack Overflow用户

发布于 2013-08-05 12:18:54

您不能继承不透明,您的选项如下:

使用这种方法,您实际上只需要div,如果它只是您想要显示的文本和图像。

票数 2
EN

Stack Overflow用户

发布于 2013-08-05 12:11:28

使用photoshop创建一个具有60%透明度的png映像(1 1px/1px),并调用您的父div,即

代码语言:javascript
复制
.ima{
  background:url(imagename.png) repeat 0 0;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18057785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档