CSS段内的强标签80%不透明度,但如果没有强标签100%

时间:2015-04-22 02:22:41

标签: html css css3

因此,代理商向我发送了一些代码,并且我使用他们在CSS中的方法对网站进行了编码,将<p>标签的不透明度更改为80%,但是我的客户已经选择了这个并且已经构建了很多。

我已添加p { opacity(0.8) }并将段落标记更改为相同的颜色但是我有一些标题,如<p><strong>text</strong></p>现在也正在消失所以我的问题是(没有大量的工作要改变)是我可以在CSS中使包含强标记的<p>使用100%吗?

下面的粗略示例:

HTML

<p><strong>test title</strong></p>
<p>test test here</p>

CSS:

p { opacity(0.8) }

但是,我需要确保p > strong保持不变不透明度,因此在这种情况下为100%。

我知道这是一个草率的修复但是没有时间重新做这一切或者为所有事情设置自己的颜色变化类。

例如:http://jsfiddle.net/8du1d12o/

3 个答案:

答案 0 :(得分:3)

不,你不能。如果父级设置为80%不透明度,则任何子元素最多只有80%不透明。 (我会问为什么段落设置为不同于1的不透明度,但是......)

一种可能的解决方法是不使用不透明度,而是使用RGBA。你可以这样做:

p { color: rgba(0,0,0,.8) } /* 80% black */
p strong { color: rgba(0,0,0,1) } /* 100% black */

(PS,如我的评论中所述,如果这些是真正的标题,标记应该使用标题标记 - 而不是段落标记)

答案 1 :(得分:0)

我已经看了一下它,似乎我们需要使用css没有的父选择器:/

您可能需要在段落元素中添加一个类或使用Jquery来执行特殊选择器以应用所需的样式

我认为这个问题与不透明度的工作原理有关,它似乎会使div中的所有东西(或者你设置它的任何级别都不透明)因此我认为像上面提到的那样放置特定的span标签会起作用。

还要注意人们如何设置背景类似的问题你可以使用下面的代码,它不会使文字透明,只有背景

background-color: rgba(255, 0, 0, 0.3);

答案 2 :(得分:-1)

p { opacity(0.8);background-color:red; }
p strong { background-color:blue; }