2017-01-12 5 views
1

ウェブページにカルーセルスライドがあり、カルーセルスライド内にドロップダウンメニューが必要です。カルーセルスライドでブートストラップドロップダウンメニューが機能しない

カルーセルスライドが完全に動作していますが、ドールダウンメニューボタンをクリックすると表示されません。

解決策を理解するのを手伝ってください。

以下は私のコードです。

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    <title>Bootstrap Example</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> 
 
    <style> 
 
    
 
    .carousel-control.left { 
 
    left: -30px; 
 
    /* left: auto; */ 
 
} 
 
.carousel-control .icon-prev, 
 
.carousel-control .glyphicon-chevron-left { 
 
    left: 50%; 
 
    margin-left: -10px; 
 
} 
 
.carousel-control .icon-next, 
 
.carousel-control .glyphicon-chevron-right { 
 
    right: 50%; 
 
    margin-right: -10px; 
 
} 
 
.carousel-indicators { 
 
    position: absolute; 
 
    bottom: -40px; 
 
    left: 50%; 
 
    z-index: 15; 
 
    width: 60%; 
 
    padding-left: 0; 
 
    margin-left: -30%; 
 
    text-align: center; 
 
    list-style: none; 
 
} 
 
.carousel-control { 
 
    position: absolute; 
 
    top: 0; 
 
    bottom: 0; 
 
    left: 0; 
 
    font-size: 20px; 
 
    color: #FFFFFF; 
 
    /* width: 15%; 
 
    filter: alpha(opacity=50); 
 
    opacity: .5; 
 
    */ 
 
    text-align: center; 
 
    text-shadow: 0 1px 2px rgba(0, 0, 0, .6); 
 
    
 
} 
 
    </style> 
 
</head> 
 
<body> 
 

 
<div class="container"> 
 
    <br> 
 
    <div id="myCarousel" class="carousel slide"> 
 
    <!-- Indicators --> 
 
    <ol class="carousel-indicators"> 
 
     <li data-target="#myCarousel" data-slide-to="0" class="active"></li> 
 
     <li data-target="#myCarousel" data-slide-to="1"></li> 
 
     <li data-target="#myCarousel" data-slide-to="2"></li> 
 
     <li data-target="#myCarousel" data-slide-to="3"></li> 
 
    </ol> 
 

 
    <!-- Wrapper for slides --> 
 
    <div class="carousel-inner" role="listbox"> 
 

 
     <div class="item active"> 
 
     <div class="dropdown"> 
 
    <button class="btn btn-primary dropdown-toggle" id="menu1" type="button" data-toggle="dropdown">Dropdown Example 
 
    <span class="caret"></span></button> 
 
    <ul class="dropdown-menu" role="menu" aria-labelledby="menu1"> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a></li> 
 
     <li role="presentation" class="divider"></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">About Us</a></li>  
 
    </ul> 
 
    </div> 
 
     </div> 
 

 
     <div class="item"> 
 
     <div class="dropdown"> 
 
    <button class="btn btn-danger dropdown-toggle" id="menu1" type="button" data-toggle="dropdown">Dropdown Example 
 
    <span class="caret"></span></button> 
 
    <ul class="dropdown-menu" role="menu" aria-labelledby="menu1"> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a></li> 
 
     <li role="presentation" class="divider"></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">About Us</a></li>  
 
    </ul> 
 
    </div> 
 
     </div> 
 
    
 
    </div> 
 

 
    <!-- Left and right controls --> 
 
    <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev"> 
 
     <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> 
 
     <span class="sr-only">Previous</span> 
 
    </a> 
 
    <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next"> 
 
     <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> 
 
     <span class="sr-only">Next</span> 
 
    </a> 
 
    </div> 
 
</div> 
 

 
</body> 
 
</html>

+0

ボタンのIDが重複しています – Landaida

+0

ここのボタンのIDは問題ではありません。 – 438sunil

答えて

1

それは動作しますが、単にいくつかの高さを追加します:矢印要素carousel-control上記のドロップダウンですので

.carousel-inner { height:... } 
+0

その高さではありません。要素を調べると隠し属性になります。だから、私は隠されたスタイルを削除する必要がありますか? – 438sunil

+0

矢印要素カルーセル制御がドロップダウンの上にあるため、ユーザーはドロップダウンをクリックできません。アイテムコンテナのカルーセルインナーの幅を縮小し、中央に配置し、高さを設定します。私のコードを見て、デモで試してみたところ、 –

0

ユーザーがドロップダウンをクリックすることはできません。

中心にそれを作る、アイテム容器.carousel-innerの幅を低減し、高さを設定:

.carousel-inner { 
    position: relative; 
    width: 80%; 
    overflow: hidden; 
    height: 500px; 
    margin: 0 auto; 
} 
+0

私は試しましたが、矢印は項目の上にあるので – 438sunil

+0

できませんでした。アイテムの幅を減らし、マージンを取ろうとする:0オート、私の答えのように –

0

.carousel-内側のdivは、以下のクラス

.carousel-inner { 
    position: relative; 
    width: 100%; 
    overflow: hidden; 
} 

を有しているためであろうオーバーフローを隠すため、ドロップダウンオプションが表示されないのはこのためです。

このクラスをオーバーライドするか、または.carousel-innerにある程度の高さを与えることができます。

.carousel-inner 
{ 
    height:400px; 
} 

または

.carousel-inner 
{ 
    overflow:visible !important; 
} 

.carousel-inner 
 
{ 
 
    overflow:visible !important; 
 
}
<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
    <title>Bootstrap Example</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> 
 
    <style> 
 
    
 
    .carousel-control.left { 
 
    left: -30px; 
 
    /* left: auto; */ 
 
} 
 
.carousel-control .icon-prev, 
 
.carousel-control .glyphicon-chevron-left { 
 
    left: 50%; 
 
    margin-left: -10px; 
 
} 
 
.carousel-control .icon-next, 
 
.carousel-control .glyphicon-chevron-right { 
 
    right: 50%; 
 
    margin-right: -10px; 
 
} 
 
.carousel-indicators { 
 
    position: absolute; 
 
    bottom: -40px; 
 
    left: 50%; 
 
    z-index: 15; 
 
    width: 60%; 
 
    padding-left: 0; 
 
    margin-left: -30%; 
 
    text-align: center; 
 
    list-style: none; 
 
} 
 
.carousel-control { 
 
    position: absolute; 
 
    top: 0; 
 
    bottom: 0; 
 
    left: 0; 
 
    font-size: 20px; 
 
    color: #FFFFFF; 
 
    /* width: 15%; 
 
    filter: alpha(opacity=50); 
 
    opacity: .5; 
 
    */ 
 
    text-align: center; 
 
    text-shadow: 0 1px 2px rgba(0, 0, 0, .6); 
 
    
 
} 
 
    </style> 
 
</head> 
 
<body> 
 

 
<div class="container"> 
 
    <br> 
 
    <div id="myCarousel" class="carousel slide"> 
 
    <!-- Indicators --> 
 
    <ol class="carousel-indicators"> 
 
     <li data-target="#myCarousel" data-slide-to="0" class="active"></li> 
 
     <li data-target="#myCarousel" data-slide-to="1"></li> 
 
     <li data-target="#myCarousel" data-slide-to="2"></li> 
 
     <li data-target="#myCarousel" data-slide-to="3"></li> 
 
    </ol> 
 

 
    <!-- Wrapper for slides --> 
 
    <div class="carousel-inner" role="listbox"> 
 

 
     <div class="item active"> 
 
     <div class="dropdown"> 
 
    <button class="btn btn-primary dropdown-toggle" id="menu1" type="button" data-toggle="dropdown">Dropdown Example 
 
    <span class="caret"></span></button> 
 
    <ul class="dropdown-menu" role="menu" aria-labelledby="menu1"> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a></li> 
 
     <li role="presentation" class="divider"></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">About Us</a></li>  
 
    </ul> 
 
    </div> 
 
     </div> 
 

 
     <div class="item"> 
 
     <div class="dropdown"> 
 
    <button class="btn btn-danger dropdown-toggle" id="menu1" type="button" data-toggle="dropdown">Dropdown Example 
 
    <span class="caret"></span></button> 
 
    <ul class="dropdown-menu" role="menu" aria-labelledby="menu1"> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a></li> 
 
     <li role="presentation" class="divider"></li> 
 
     <li role="presentation"><a role="menuitem" tabindex="-1" href="#">About Us</a></li>  
 
    </ul> 
 
    </div> 
 
     </div> 
 
    
 
    </div> 
 

 
    <!-- Left and right controls --> 
 
    <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev"> 
 
     <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> 
 
     <span class="sr-only">Previous</span> 
 
    </a> 
 
    <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next"> 
 
     <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> 
 
     <span class="sr-only">Next</span> 
 
    </a> 
 
    </div> 
 
</div> 
 

 
</body> 
 
</html>

2

だけoverflow: visibleにカルーセル・インナーoverflow: hiddenからに変更します。

.carousel-inner { 
    overflow: visible; 
} 

実施例:

.carousel .carousel-control.left { 
 
    left: -30px; 
 
    /* left: auto; */ 
 
} 
 
.carousel .carousel-control .icon-prev, 
 
.carousel .carousel-control .glyphicon-chevron-left { 
 
    left: 50%; 
 
    margin-left: -10px; 
 
} 
 
.carousel .carousel-control .icon-next, 
 
.carousel .carousel-control .glyphicon-chevron-right { 
 
    right: 50%; 
 
    margin-right: -10px; 
 
} 
 
.carousel .carousel-indicators { 
 
    position: absolute; 
 
    bottom: -40px; 
 
    left: 50%; 
 
    z-index: 15; 
 
    width: 60%; 
 
    padding-left: 0; 
 
    margin-left: -30%; 
 
    text-align: center; 
 
    list-style: none; 
 
} 
 
.carousel-control { 
 
    position: absolute; 
 
    top: 0; 
 
    bottom: 0; 
 
    left: 0; 
 
    font-size: 20px; 
 
    color: #FFFFFF; 
 
    text-align: center; 
 
    text-shadow: 0 1px 2px rgba(0, 0, 0, .6); 
 
} 
 
.carousel .carousel-inner { 
 
    overflow: visible; 
 
    text-align: center 
 
}
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 

 
<div class="container"> 
 
    <br> 
 
    <div id="myCarousel" class="carousel slide"> 
 
    <!-- Indicators --> 
 
    <ol class="carousel-indicators"> 
 
     <li data-target="#myCarousel" data-slide-to="0" class="active"></li> 
 
     <li data-target="#myCarousel" data-slide-to="1"></li> 
 
    </ol> 
 

 
    <div class="carousel-inner" role="listbox"> 
 

 
     <div class="item active"> 
 
     <div class="btn-group"> 
 
      <button class="btn btn-primary dropdown-toggle" id="menu1" type="button" data-toggle="dropdown">Dropdown Example 
 
      <span class="caret"></span> 
 
      </button> 
 
      <ul class="dropdown-menu" role="menu" aria-labelledby="menu1"> 
 
      <li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a> 
 
      </li> 
 
      <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a> 
 
      </li> 
 
      <li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a> 
 
      </li> 
 
      <li role="presentation" class="divider"></li> 
 
      <li role="presentation"><a role="menuitem" tabindex="-1" href="#">About Us</a> 
 
      </li> 
 
      </ul> 
 
     </div> 
 
     </div> 
 

 
     <div class="item"> 
 
     <div class="btn-group"> 
 
      <button class="btn btn-danger dropdown-toggle" id="menu2" type="button" data-toggle="dropdown">Dropdown Example 
 
      <span class="caret"></span> 
 
      </button> 
 
      <ul class="dropdown-menu" role="menu" aria-labelledby="menu1"> 
 
      <li role="presentation"><a role="menuitem" tabindex="-1" href="#">HTML</a> 
 
      </li> 
 
      <li role="presentation"><a role="menuitem" tabindex="-1" href="#">CSS</a> 
 
      </li> 
 
      <li role="presentation"><a role="menuitem" tabindex="-1" href="#">JavaScript</a> 
 
      </li> 
 
      <li role="presentation" class="divider"></li> 
 
      <li role="presentation"><a role="menuitem" tabindex="-1" href="#">About Us</a> 
 
      </li> 
 
      </ul> 
 
     </div> 
 
     </div> 
 

 
    </div> 
 

 
    <!-- Left and right controls --> 
 
    <a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev"> 
 
     <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span> 
 
     <span class="sr-only">Previous</span> 
 
    </a> 
 
    <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next"> 
 
     <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span> 
 
     <span class="sr-only">Next</span> 
 
    </a> 
 
    </div> 
 
</div> 
 

 
<script src="https://cdnjs.cloudflare.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>
ここ

+0

ありがとう。あなたは多くの時間を節約しました – 438sunil

-2

位置:ULに与えられた絶対が..相対それを変更して調整問題の原因となっている左

.dropdown-menu{ 
position:relative; 
left:14%; /* or accroding to the dimension */ 

} 
関連する問題