Css 当同一元素上存在特定类时,如何修改类?

Css 当同一元素上存在特定类时,如何修改类?,css,twitter-bootstrap,Css,Twitter Bootstrap,所以这里有我的(简化的)引导导航栏 .navbar固定顶{ 高度:100px; } .导航栏导航>李>a{ 线高:100px } 当我将类添加到nav时,我只想收缩navbar。非常简单,只需在我的css中添加以下内容: .shrink{ 高度:80px; } 问题是:.navbar>li>a的行高度保持在100px-有没有一种方法可以仅用css来影响这一点?您可以尝试: .shrink a { line-height: <whatever>; } 。收缩一个

所以这里有我的(简化的)引导导航栏


.navbar固定顶{
高度:100px;
}
.导航栏导航>李>a{
线高:100px
}
当我将类
添加到
nav
时,我只想收缩
navbar
。非常简单,只需在我的css中添加以下内容:

.shrink{
高度:80px;
}
问题是:
.navbar>li>a
行高度保持在
100px
-有没有一种方法可以仅用css来影响这一点?

您可以尝试:

.shrink a {
    line-height: <whatever>;
}
。收缩一个{
线高:;
}

这会将您想要的样式应用到包含在具有shrink类的元素中的元素。

可能是这样的吗

.navbar {
  height: 100px;
}

.navbar.shrink {
  height: 80px
}

.navbar > .navbar-nav > li > a {
  line-height: 100px
}

.navbar.shrink > .navbar-nav > li > a {
  line-height: 80px
}

.navbar.shrink>li>a{line height:80px;}
@deceze li不是.navbar的后代,而是.navbar的后代-nav@Dontfeedthecode啊,没错,我只是在模仿原来的CSS,没有仔细看。好吧,无论如何我都希望它能让人明白这一点。@deceze:Dontfeedthecode显然是对的,对不起。我试着让我的例子保持简单,但不幸的是我保持了一点简单。修复了该问题。@Brettetete这没有多大帮助,根据您提供的信息,它没有理由不起作用-如果有其他事情发生,您将不得不执行JSFIDLE或共享指向该问题的链接。通过删除子选择器使其起作用
.navbar.shrink.navbar nav>li>