是否可以定义 css 类的行为依赖于其他 css 类?
例如; 什么时候
a:hover
然后我想设置
p {background:#fff;}
纯CSS可以做到吗?
编辑:假设不存在嵌套关系。
是否可以定义 css 类的行为依赖于其他 css 类?
例如; 什么时候
a:hover
然后我想设置
p {background:#fff;}
纯CSS可以做到吗?
编辑:假设不存在嵌套关系。
如果你有这样的结构:
<a><p>...</p></a>
那么这个:
a:hover p {background: #fff;}
将工作。但是,块元素不应该放在内联元素内(在这种情况下,没有<p>
内<a>
如果您的标记是有效的,并且看起来像这样:
<p><a>...</a></p>
那么你可以有
p:hover {background: #fff;}
但是后代不能影响父 css(除非您使用 javascript),而相反是正确的(父 css 影响后代)
如果您的意思是无论他们在 DOM 中的什么位置,您都希望所有人p
都拥有这种风格,那么不,您不能那样做。当收到悬停时a:hover
,您需要使用脚本将样式(或包含该样式的某个类)应用于p
元素。a
我不明白为什么你会受到这些限制而没有一点创造力。如果您使用固定定位,则后代可以与其父代重叠。并且仍然像后代一样回应。
如果<p>
标签紧跟在<a>
标签之后,那么您可以使用相邻的兄弟选择器,例如
a:hover+p{
background:#fff;
}
这在 IE8+ 中受支持