css父元素透明度(opacity)对子元素的影响

首先子元素会继承父元素的透明度

  • 设置父元素opacity:0.5,子元素不设置opacity,子元素会受到父元素opacity的影响,也会有0.5的透明度。

其次子元素的透明度是基于父元素的透明度计算的

  • 设置父元素opacity:0.5,即使设置子元素opacity:1,子元素的opacity:1也是在父元素的opacity:0.5的基础上设置的,因此子元素的opacity还是0.5。

解决办法

利用CSS3属性rgba(即red+green+blue+alpha的颜色),

例如background-color:rgba(0,0,0,0.5)

但是IE7/8不支持此属性,可按如下方法写:

父元素div要写如下:

background-color: rgba(0,0,0,0.5)!important;

background-color: #000;

filter:Alpha(opacity=50);

子元素div加个定位position:absolute/relative即可。


觉得有帮助的小伙伴右上角点个赞~

扫描上方二维码关注我的订阅号~

觉得有帮助的小伙伴点个赞~

原文地址:https://www.cnblogs.com/zheroXH/p/11690321.html

时间: 2024-11-07 22:05:31

css父元素透明度(opacity)对子元素的影响的相关文章

利用CSS hover伪类改变其他元素的总结

:hover 伪类经常用于页面的一些鼠标交互.链接点击变化,增强页面的用户体验,但是可以用来改变其他元素样式,可以在不使用JS 的情况下,达到想要的页面效果. 1.hover改变自身的效果: 鼠标悬浮改变样式: HTML <div id="yanshi"> 演示 </div> CSS #yanshi{ width: 100px; height: 100px; transition: background-color 0.5s,color 0.5s; text-a

子元素继承父元素透明度问题。

在写CSS的发现,将父元素的opacity设置为0.5之后,子元素一定会继承这个属性,且对子元素单独设置opacity,也无效. 1 #texts{ 2 height: 30px; 3 width:380px; 4 background: #000000; 5 position: absolute; 6 top: 270px; 7 color: #FFFFFF; 8 z-index: 997; 9 font-size: 12px; 10 opacity: 0.5; 11 } 12 .textRi

CSS只改变背景透明度,不改变子元素透明度

一般情况下,我们可以使用css的opcity属性改变某个元素的透明度,但是其元素下的子元素的透明度也会被改变,即使对子元素重新定义也没有用,例如: Html代码   <div style="opacity:0.4; background-image:url(...);"> <div style="opacity:1.0;"> 显示文字 </div> </div> 文字元素的透明度也会是0.4. 于是想一想,如果有方法只

css设置元素透明度代码实例

css设置元素透明度代码实例:本章节介绍一下如何设置一个元素的透明度,现在众多的效果都有使用,下面就介绍一下如何实现此效果.w3c提供了一种标准的设置透明度的属性opacity,此属性值大小是介于0-1之间的,0为完全透明,1为完全不透明.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content=

css的经典问题:父元素下的子元素越界问题?

CSS的经典问题一:父元素下第一个子元素的margin-top越界问题以及末个子元素margin-bottom的越界问题? 1. 为父元素加边框,防止子元素延伸.副作用是边框:2. 将margin换做padding:副作用是padding-top的值要加padding:3. 父元素overflow,副作用是将溢出部分隐藏掉可能不满足需求:4. 将父元素的第一个元素之前加一个无高度的table元素,无副作用!!! .parent:before{ content:' '; display:table

CSS 父级元素高度为 0 解决方案

CSS 中父级元素的高度一般由子元素撑开,不会特意设置高度,但是以下情况会造成父级元素高度坍塌,也就是高度为零,影响后面元素的排版. 子元素使用绝对定位 子元素浮动 针对第一种情况,即子元素使用绝对定位,可以使用以下方案: 子元素的绝对定位改为相对定位,如果可以改的话 针对第二种情况,即由子元素浮动造成父元素坍塌,可以使用以下方案: /*父级元素绝对定位*/ position: absolute /*父级元素添加*/ overflow: hidden; /*伪元素清除浮动造成的影响*/ .cle

CSS父元素高度随子元素高度变化而变化

<html> <body> <head> <style> #menu{width:1000px;overfloat:hidden;} /* width:1000px;overfloat:hidden; 父元素高度随子元素变化而变化 */ #menu ul{list-style-type:none;} #menu ul li{float:left;margin-right:10px;} /* float:left; 浮动横布局,让父元素高度变0px */ &l

CSS 中的内联元素、块级元素、display的各个属性的特点

CSS的内联元素和块级元素 块级元素<h1>-<h6>.p.dt是不可以内联块级元素的 1.block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通常被现实为独立的一块,会单独换一行:inline元素则前后不会产生换行,一系列inline元素都在一行内显示,直到该行排满. 2.大体来说HTML元素各有其自身的布局级别(block元素还是inline元

CSS块级元素、内联元素概念

CSS文档流与块级元素(block).内联元素(inline),之前翻阅不少书籍,看过不少文章, 看到所多的是零碎的CSS布局基本知识,比较表面.看过O'Reilly的<CSS权威指南>,发现里面提到的文档流概念让我很敏感. 可恶的是书中并没有解释文档流是什么东西,或许作者觉得这个太简单了以至于不值一提.但我觉得,这个概念实在太重要了.理解了它,一堆CSS布局的理论都变得易于理解,并且体会到CSS这套设计的合理性所在. 文档流 将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即