这个问题有一些微妙的变体,但我找不到任何对我有用的东西。
我有一个bootstrap ul,我需要锚元素来完全填充li
。问题是某些菜单文本被包装到第二行,我需要在菜单的其余部分中使用a
元素进行拉伸以填充新空间。
这是我正在使用的HTML。
注意菜单1没有填满菜单栏的整个高度,因为菜单2有第二行文字。我希望菜单1展开以填充菜单栏的高度。
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Case</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container-fluid">
<ul class="nav nav-pills">
<li class="active"><a data-toggle="pill" href="#menu1">Menu 1</a></li>
<li><a data-toggle="pill" href="#menu2">Menu 2<br> test</a></li>
</ul>
<div class="tab-content">
<div id="menu1" class="tab-pane fade in active">
<h3>MENU 1</h3>
<p>Menu 1 content</p>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<p>Menu 2 content</p>
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
这就是float
的工作方式,为了获得您想要的输出,您可以添加自己的css,使其像这样:
注意:由于代码段获取资源的方式,我在这里使用了!important
,如果你在引导程序之后加载了CSS,那么在真实案例中需要那个。
.nav-pills {
display: flex;
}
.nav-pills>li>a {
height: 100%;
display:flex !important;
align-items:center;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container-fluid">
<ul class="nav nav-pills">
<li class="active"><a data-toggle="pill" href="#menu1">Menu 1</a>
</li>
<li><a data-toggle="pill" href="#menu2">Menu 2<br> test</a>
</li>
</ul>
<div class="tab-content">
<div id="menu1" class="tab-pane fade in active">
<h3>MENU 1</h3>
<p>Menu 1 content</p>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<p>Menu 2 content</p>
</div>
</div>
</div>
答案 1 :(得分:0)
您可以将flexbox用于容器(.nav
),并将height: 100%
分配给其中的所有a
标记:
.nav {
display: flex;
}
.nav li {
background: #fa0;
}
.nav li a {
height: 100%;
}
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Case</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container-fluid">
<ul class="nav nav-pills">
<li class="active"><a data-toggle="pill" href="#menu1">Menu 1</a></li>
<li><a data-toggle="pill" href="#menu2">Menu 2<br> test</a></li>
</ul>
<div class="tab-content">
<div id="menu1" class="tab-pane fade in active">
<h3>MENU 1</h3>
<p>Menu 1 content</p>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<p>Menu 2 content</p>
</div>
</div>
</div>
</body>
</html>