Reputation: 1165
I've been trying for quite some time to display a dropdown menu on my page, but it doesn't work...
My HTML code:
<div class="dropdown d-inline">
<div class="widget-header mr-3">
<button href="#" class="icon icon-sm rounded-circle border" data-toggle="dropdown"><i class="fa fa-shopping-cart"></i></button>
<span class="badge badge-pill badge-danger notify">{{ Cart::count() }}</span>
</div>
<div class="dropdown-menu p-3 dropdown-menu-right" style="min-width:280px;">
<figure class="itemside mb-3">
<div class="aside">
<img src="bootstrap-ecommerce-html/images/items/1.jpg" class="img-sm border">
</div>
<figcaption class="info align-self-center">
<p class="title">Name of item nice iteme</p>
<a href="#" class="float-right"><i class="fa fa-trash"></i></a>
<div class="price">$250</div> <!-- price-wrap.// -->
</figcaption>
</figure>
<figure class="itemside mb-3">
<div class="aside">
<img src="bootstrap-ecommerce-html/images/items/2.jpg" class="img-sm border">
</div>
<figcaption class="info align-self-center">
<p class="title">Some other item name is here</p>
<a href="#" class="float-right"><i class="fa fa-trash"></i></a>
<div class="price">$250</div> <!-- price-wrap.// -->
</figcaption>
</figure>
<figure class="itemside mb-3">
<div class="aside">
<img src="bootstrap-ecommerce-html/images/items/3.jpg" class="img-sm border">
</div>
<figcaption class="info align-self-center">
<p class="title">Another name of item item</p>
<a href="#" class="float-right"><i class="fa fa-trash"></i></a>
<div class="price">$250</div> <!-- price-wrap.// -->
</figcaption>
</figure>
<div class="price-wrap text-center py-3 border-top">
Subtotal: <strong class="h5 price">$1200</strong>
</div>
<a href="" class="btn btn-primary btn-block"> Checkout </a>
</div> <!-- drowpdown-menu.// -->
</div>
My Bootsrap integrations:
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
It is a .blade.php page running on Laravel. Thanks for your help in advance, I'm really stuck.
Upvotes: 0
Views: 90
Reputation: 600
So it appears that wrapping the <button>
inside of a div
after the .dropdown .d-inline
is causing your issue. Here is a working CodePen as well (notice that I added some attributes per Bootstrap to certain elements).
<head>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
</head>
<body>
<div class="dropdown d-inline">
<button type="button" class="icon icon-sm rounded-circle border dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
hello
</button>
<span class="badge badge-pill badge-danger notify">{{ Cart::count() }}</span>
<div class="dropdown-menu p-3 dropdown-menu-right">
<figure class="itemside mb-3">
<div class="aside">
<img src="bootstrap-ecommerce-html/images/items/1.jpg" class="img-sm border">
</div>
<figcaption class="info align-self-center">
<p class="title">Name of item nice iteme</p>
<a href="#" class="float-right"><i class="fa fa-trash"></i></a>
<div class="price">$250</div> <!-- price-wrap.// -->
</figcaption>
</figure>
<figure class="itemside mb-3">
<div class="aside">
<img src="bootstrap-ecommerce-html/images/items/2.jpg" class="img-sm border">
</div>
<figcaption class="info align-self-center">
<p class="title">Some other item name is here</p>
<a href="#" class="float-right"><i class="fa fa-trash"></i></a>
<div class="price">$250</div> <!-- price-wrap.// -->
</figcaption>
</figure>
<figure class="itemside mb-3">
<div class="aside">
<img src="bootstrap-ecommerce-html/images/items/3.jpg" class="img-sm border">
</div>
<figcaption class="info align-self-center">
<p class="title">Another name of item item</p>
<a href="#" class="float-right"><i class="fa fa-trash"></i></a>
<div class="price">$250</div> <!-- price-wrap.// -->
</figcaption>
</figure>
<div class="price-wrap text-center py-3 border-top">
Subtotal: <strong class="h5 price">$1200</strong>
</div>
<a href="" class="btn btn-primary btn-block"> Checkout </a>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
</body>
Upvotes: 1
Reputation: 1179
Try adding an id="test" to the button tag and to the dropdown div an attribute named aria-labelledby="test".
Upvotes: 1