浏览器 select 如何根据两个不同的 css select 规则呈现 css 属性 值?
How does browser select a css property value to render from two different css selectors rules?
我正在做一个 Bootstrap 项目,第一个任务是使用 Bootstrap 导航栏在 header 中构建导航。我想使用 Bootstrap 的折叠功能来创建 dropdown-menu div,当用户悬停或激活导航项时,它将可见。我想让这个 dropdown-menu div 100% 的屏幕宽度。
这是示例代码:
<ul class="nav navbar-nav">
<li class="dropdown">
<a ...>ABOUT</a>
<div class="dropdown-menu">
</li>
</ul>
问题是:dropdown-menu的位置属性是绝对的,这使得这个div基于最近定位的祖先定位。在示例代码中是 "li" 标记,因为在 Bootstrap 中有一条规则:
.nav>li{
position: relative;
}
当我添加一条规则时,这会使这个 "li" 标记位置静态:
.navbar-nav>li {
position: inherit;
}
此规则被浏览器忽略,我从 Chrome 检查中发现。当我取消选中 nav>li 规则时,我的规则有效。我想知道当浏览器在同一元素和同一 属性 上获得两个规则时,如何选择要呈现 css 属性 值中的哪一个?
谢谢。
简而言之,特异性。选择器越具体,优先级越高
更多详情,看这里... https://developer.mozilla.org/en/docs/Web/CSS/Specificity
话虽如此,您的规则似乎是错误的,因为您需要一个点来表示 class...
.navbar-nav>li {
position: inherit;
}
我正在做一个 Bootstrap 项目,第一个任务是使用 Bootstrap 导航栏在 header 中构建导航。我想使用 Bootstrap 的折叠功能来创建 dropdown-menu div,当用户悬停或激活导航项时,它将可见。我想让这个 dropdown-menu div 100% 的屏幕宽度。 这是示例代码:
<ul class="nav navbar-nav">
<li class="dropdown">
<a ...>ABOUT</a>
<div class="dropdown-menu">
</li>
</ul>
问题是:dropdown-menu的位置属性是绝对的,这使得这个div基于最近定位的祖先定位。在示例代码中是 "li" 标记,因为在 Bootstrap 中有一条规则:
.nav>li{
position: relative;
}
当我添加一条规则时,这会使这个 "li" 标记位置静态:
.navbar-nav>li {
position: inherit;
}
此规则被浏览器忽略,我从 Chrome 检查中发现。当我取消选中 nav>li 规则时,我的规则有效。我想知道当浏览器在同一元素和同一 属性 上获得两个规则时,如何选择要呈现 css 属性 值中的哪一个? 谢谢。
简而言之,特异性。选择器越具体,优先级越高
更多详情,看这里... https://developer.mozilla.org/en/docs/Web/CSS/Specificity
话虽如此,您的规则似乎是错误的,因为您需要一个点来表示 class...
.navbar-nav>li {
position: inherit;
}