Css 有没有一种方法可以在不知道父对象的情况下对父对象悬停作出反应';她姓什么?

Css 有没有一种方法可以在不知道父对象的情况下对父对象悬停作出反应';她姓什么?,css,styled-components,Css,Styled Components,这是样式化组件中的问题,但我认为这个问题可以作为一个简单的css问题来解决 当父对象悬停时,是否有方法添加样式?我以前见过这个问题,但通常希望你有家长的课。有没有一种方法可以在不知道任何关于纯css中父级的信息的情况下实现这一点?在样式化组件中有这样的方法吗 如此给定 <div> <span class="inner">Hello world</span> <div> 其中“parent”试图引用一个没有已知类的元素。没有

这是样式化组件中的问题,但我认为这个问题可以作为一个简单的css问题来解决

当父对象悬停时,是否有方法添加样式?我以前见过这个问题,但通常希望你有家长的课。有没有一种方法可以在不知道任何关于纯css中父级的信息的情况下实现这一点?在样式化组件中有这样的方法吗

如此给定

<div>
  <span class="inner">Hello world</span>
<div>

其中“parent”试图引用一个没有已知类的元素。

没有多少东西可以做出明确的特定选择,因此它将取决于样式的其余部分,以确定您是否能够足够具体

考虑到结构,有几种方法尽可能具体:

<div>
  <span class="inner">Hello world</span>
<div>


将两者结合起来可能是您想要的(从问题中我不确定),但这在CSS中目前是不可能的,即
span.inner:nth类型(1)
不会选择类inner的第一个跨距。

结果这里没有一种方法可以实现我所描述的。我最后提出的解决方案是:

const Container = styled.div``

const Inner = style.div`
  ${Container}:hover & {
      max-width: 200px;
      transition: max-width .2s ease-in-out;
  }  
`

这和其他解决方案都是通过类名、知道元素类型或位置等“使用父对象的知识来访问它”的变体。这些都没有错,但不幸的是,更一般的样式是“如果父对象悬停,无论父对象是什么,“做一些目前看来不可能的事情”

请添加更多详细信息,以便我们知道您的问题到底是什么。总之,是的。。。但是您可以创建一个更通用的选择器,并且不一定需要父类的类名,但是您可能会创建一个效率低下的选择器,将来可能会出现故障,甚至包含错误的元素。这需要一个精心构建的选择器。@Gil你能举个例子吗?看看你的例子,
div:hover>.internal
可以,但是太宽了。最好添加div父级的另一个指示符,以使其更加具体;希望这是可行的,但唉
div:hover > span.inner
div:hover > span:nth-of-type(1)
const Container = styled.div``

const Inner = style.div`
  ${Container}:hover & {
      max-width: 200px;
      transition: max-width .2s ease-in-out;
  }  
`