2016-11-11 4 views
2

この質問には微妙なバリエーションがありますが、私にとってはうまくいきません。ブートストラップメニュー:縦方向に伸ばして奥にいって

私はliを完全に埋めるためにアンカー要素が必要なブートストラップulを持っています。いくつかのメニューテキストが2行目に折り返され、メニューの残りの部分にa要素が必要なので、新しい領域を埋めるためにストレッチする必要があります。

私はここで作業しているHTMLです。

メニュー2に2番目のテキスト行があるため、メニュー1がメニューバー全体の高さをどのように満たしていないかに注目してください。メニューバーの高さを埋めるようにメニュー1を展開します。あなたは、コンテナ(.nav)のためのフレキシボックスを使用して、そこにあるすべての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>

答えて

1

方法です10点の作品は、ご希望の出力を得るために、あなたはこのようにそれを作るために、独自の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

素敵な、ありがとう! – TimH

0

.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>

+0

注:[IE10とアップ(http://caniuse.com/#feat=flexbox)のみ。 – isherwood

関連する問題