使用 id 标记自定义导航栏不会执行任何操作
Customizing navbar using id tag doesnt do anything
这是我尝试创建的自定义导航栏的CSS代码。
#CustomNavBar{
.dropdown-menu .sub-menu {
left: 100%;
position: absolute;
top: 0;
visibility: hidden;
margin-top: -1px; }
.dropdown-menu li:hover .sub-menu {
visibility: visible; }
.dropdown:hover .dropdown-menu {
display: block; }
.nav-tabs .dropdown-menu, .nav-pills .dropdown-menu, .navbar .dropdown-menu {
margin-top: 0; }
.navbar .sub-menu:before {
border-bottom: 7px solid transparent;
border-left: none;
border-right: 7px solid rgba(0, 0, 0, 0.2);
border-top: 7px solid transparent;
left: -7px;
top: 10px; } .navbar .sub-menu:after {
border-top: 6px solid transparent;
border-left: none;
border-right: 6px solid #fff;
border-bottom: 6px solid transparent;
left: 10px; }
}
当我在描述导航栏的同一 HTML 文件中使用 <style></style>
标签而不使用 #CustomNavBar id 属性时,它可以工作。
这是我的 HTML 代码片段:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Something</title>
<link rel="stylesheet" type="text/css" href="/css/bootstrap.css">
<link type="text/css" rel="stylesheet" href="/bmcfg/include/MainNavBar.css" />
</head>
<body>
<nav class="navbar navbar-inverse" id="CustomNavBar">
<div class="container-fluid">
<div class="navbar-inner">
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#MainNavBar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Hello</a>
</div>
<div class="collapse navbar-collapse " id="MainNavBar">
我无法弄清楚在使用id属性自定义导航栏时出错的地方?
您需要在每个 CSS 声明行上添加 id 选择器
#CustomNavBar .dropdown-menu .sub-menu { .. }
#CustomNavBar .dropdown-menu li:hover .sub-menu { .. }
#CustomNavBar .dropdown:hover .dropdown-menu { .. }
LESS 或 SASS 使嵌套分配更容易
您在使用 css 时使用的语法更少。不能在 css 中嵌套属性。如果要嵌套属性,则应使用较少的属性。
相反,你应该做这样的事情
#CustomNavBar .dropdown-menu .sub-menu {
left: 100%;
position: absolute;
top: 0;
visibility: hidden;
margin-top: -1px;
}
只有当您使用较少或 scss 时,才能进行嵌套。
#CustomNavBar{
.property1{
....
}
}
你所有的选择器都嵌套在 #CustomNavBar 内。您需要使用 LESS 或 SASS,或者将 #CustomNavBar 选择器添加到所有选择器的前面。
相关文章:
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- jQuery/Javascript foreach If/Else |如果为空(不执行任何操作)Else(显示forea
- 控制台.log触发,但随后的 Jquery 调用不执行任何操作
- 当输入为变量时,.replace.不执行任何操作
- 为什么在ASP.NET Ajax更新面板中执行任何操作后javascript元素都停止工作
- 如果未输入任何内容,则使 JavaScript 按钮不执行任何操作
- 选项卡中的a href链接没有执行任何操作
- 即使没有执行任何移动,vmousemove也会被触发
- 停止jQuery执行任何进一步的代码
- Object.defineProperty()在测试(jpm运行)过程中有效,但不起作用;使用实际xpi时,不要执行任何
- 如何阻止jQuery Mobile使用window.location执行任何操作
- JS表单验证 - 提交按钮不执行任何操作
- JSPDF 下载按钮在单击时不执行任何操作.在安卓科尔多瓦
- 使用 CasperJS 时,是否可以在执行任何内联或外部 Javascript 之前与加载页面的 DOM 进行交互
- 单击图像不执行任何操作
- 在绘制矩形之前更改 lineCap 和 lineJoin 不会执行任何操作
- 创建一个不执行任何操作的 JavaScript 对象
- 全日历日单击不起作用(不执行任何操作)
- 幻灯片放映的计时器不执行任何操作
- 将 转换为字符串在 jquery 中不执行任何操作