Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何从父css属性中排除子级?_Html_Css - Fatal编程技术网

Html 如何从父css属性中排除子级?

Html 如何从父css属性中排除子级?,html,css,Html,Css,我正在使用css处理元素的不透明度。段落放置在div中,但当我将div的不透明度设置为0.4时,段落也会影响。我试图通过将不透明度1.0设为无效来覆盖段落中的div。我怎样才能解决这个问题呢?简单的回答是你不能。这就是不透明度的工作原理 一个较长的答案取决于您实际想要实现的目标(旧的XY问题) 例如,如果希望div的背景是半透明的,而不是段落,则可以通过使用半透明背景而不是使整个div半透明来解决该问题 我知道解决这个问题的唯一方法是将背景与内容分开: <div id="container

我正在使用css处理元素的不透明度。段落放置在div中,但当我将div的不透明度设置为0.4时,段落也会影响。我试图通过将不透明度1.0设为无效来覆盖段落中的div。我怎样才能解决这个问题呢?

简单的回答是你不能。这就是不透明度的工作原理

一个较长的答案取决于您实际想要实现的目标(旧的XY问题)


例如,如果希望div的背景是半透明的,而不是段落,则可以通过使用半透明背景而不是使整个div半透明来解决该问题

我知道解决这个问题的唯一方法是将背景与内容分开:

<div id="container" style="position: relative;">
    <div id="background" style="position: absolute; width: 100%; height: 100%; top: 0px; left: 0px; opacity: 0.4; background: #ccc;">&nbsp;</div>
    <div id="content">Your content here</div>
</div>

你的内容在这里
我之前已经这样做了。 如果我没记错的话,我设置了
位置:绝对到innerDiv,因此不透明度属性工作良好

实现此效果的另一种方法是使用alpha而不是不透明设置outerDiv的背景; 例如: 改变


第四个值是alpha,其工作方式类似于不透明度。它不会影响div的内容。

其他属性(如颜色)如何?是否仍然可以选择父元素并排除子元素。例如,我只希望div中的文本为红色,而不希望div的子项段落中的文本为红色。如果继承了属性(默认为该颜色),则只能编写与段落匹配的选择器,并显式为其指定不同的颜色。没有办法说“祖父母继承”。
.outerDiv{
  background-color: white; //or #fff or rgb(255,255,255) 
  opacity: 0.4;
}
.outerDiv{
  background-color: rgba(225,225,225,0.4);
}