不要将 CSS 应用于包含

14 浏览
0 Comments

不要将 CSS 应用于包含

可能是重复问题:
\nCSS选择器,用于选择包含“bar”的“foo”? \n在我的网站上,所有的都有margin-bottom20px。\n我不想将这个margin-bottom应用到包含元素的上。\n是否可以在没有类或ID的情况下实现这一点。\n可以使用CSS3。

0
0 Comments

在纯CSS中,我唯一能想到的方法是使用父节点选择器。不幸的是,这样的选择器在CSS2和CSS3中都不存在。

这个问题的出现是因为CSS中没有提供直接选择父元素的选择器。如果我们想要对包含标签的

元素应用CSS样式,我们需要使用父节点选择器。然而,CSS2和CSS3规范中都没有提供这样的选择器。

那么,如何解决这个问题呢?在纯CSS中,我们无法直接选择父元素,但我们可以采取其他方法来实现类似的效果。一种可能的解决方法是通过改变HTML结构来实现样式的应用。我们可以将标签移到

元素之外,并使用CSS选择器来选择这个新的父元素,并对其应用样式。

下面是一个示例代码,展示了如何通过修改HTML结构来解决这个问题:


Some text

在这个示例中,我们将标签移动到了

元素之外,并添加了一个新的父元素

。然后,我们可以使用CSS选择器`.parent p`来选择这个新的父元素下的

元素,并对其应用样式。

需要注意的是,这种解决方法需要修改HTML结构,如果无法修改HTML结构,那么就无法通过纯CSS来解决这个问题。在这种情况下,可能需要使用JavaScript等其他技术来实现所需的效果。

总结起来,由于CSS中没有提供直接选择父元素的选择器,我们无法直接对包含标签的

元素应用CSS样式。然而,我们可以通过修改HTML结构来实现类似的效果,或者使用其他技术来解决这个问题。

0
0 Comments

问题出现的原因:CSS没有提供一种直接的方法来选择包含特定子元素的父元素。在这种情况下,我们需要选择包含标签的

标签,并对其应用CSS样式。

解决方法:由于CSS无法直接解决这个问题,我们可以使用jQuery来实现。以下是使用jQuery的解决方法:

$('em').parent().css('marginBottom','0');

以上代码将选择所有标签的父元素,并将其下边距设置为0。这样就可以实现不对包含标签的

标签应用CSS样式的效果。

你可以在下面的链接中查看一个实例:

http://jsfiddle.net/jasongennaro/5pPGF/

0
0 Comments

元素是用来表示段落的HTML元素,而元素是一个内联元素,用来表示强调的文本。在给

元素应用样式时,我们想要排除包含元素的情况。上面的代码使用CSS选择器:has(em)来选择所有不包含元素的

元素,并给它们应用样式margin-bottom: 20px;。


不过,纯CSS的方法可能无法实现这个效果。

0