I know I'm really down in the weeds here for using just dojo and bootstrap, but maybe someone can help me out. I want to be able to use some dropdown buttons within a collapsible panel. I've been using the panel and it works OK. I've put the buttons in a straight div and that's OK, but when I combine, the items that should list when you click the button are either a) cropped, so they're nearly hidden or b) if you set style as position: relative, it shoves all the rest of the buttons off to the side, which looks very ugly.
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Dropdown button test</title> <link rel="stylesheet" href="https://community.esri.com//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css"> <link rel="stylesheet" type="text/css" href="https://community.esri.com//js.arcgis.com/3.13/esri/css/esri.css"> <!-- <link rel="stylesheet" type="text/css" href="https://community.esri.com//esri.github.io/bootstrap-map-js/dist/css/bootstrapmap.min.css"> --> </head> <style type="text/css"> .dropdown-menu { position: relative; } .nav-pills > li > a { position: relative; background-color: #CBDDEB; color: #000000; padding: 3px; margin: 1px 10px 1px 10px; } .nav .open > a:focus { background-color: #96bad8; } </style> <script type="text/javascript"> window.dojoConfig = { async: true, packages: [{ name: 'dojo-bootstrap', location: '//rawgit.com/xsokev/Dojo-Bootstrap/master' }] }; </script> <script type="text/javascript" src="//js.arcgis.com/3.12compact"> </script> <script type="text/javascript"> require(['dojo-bootstrap/Collapse', 'dojo-bootstrap/Dropdown']); </script> <body class="bs-docs-example"> <div id="sidebar"> <div class="panel-group" id="my-accordion"> <div class="panel panel-default"> <div class="panel-heading"> <h4 class="panel-title"><a data-toggle="collapse" data-parent="#my-accordion" href="#one">Find a Provider</a></h4> </div> <div id="one" class="panel-collapse collapse in"> <div class="panel-body"> Search by one of these types: <div> <ul class="nav nav-pills"> <!-- <li class="active"> <a href="#">Regular link</a> </li>--> <li class="dropdown"> <a class="dropdown-toggle" id="drop4" role="button" data-toggle="dropdown" href="#">Facility<b class="caret"></b></a> <ul id="menu1" class="dropdown-menu" role="menu" aria-labelledby="drop4"> <li> <a tabindex="-1" href="#">Hospital</a> </li> <li> <a tabindex="-1" href="#">Clinic</a> </li> <li> <a tabindex="-1" href="#">Dentist</a> </li> <li> <a tabindex="-1" href="#">Mental Health</a> </li> </ul> </li> <li class="dropdown"> <a class="dropdown-toggle" id="drop5" role="button" data-toggle="dropdown" href="#">Service<b class="caret"></b></a> <ul id="menu2" class="dropdown-menu" role="menu" aria-labelledby="drop5"> <li> <a tabindex="-1" href="#">Home Care</a> </li> <li> <a tabindex="-1" href="#">Medical Equipment</a> </li> <li> <a tabindex="-1" href="#">Pharmacy</a> </li> </ul> </li> <li class="dropdown"> <a class="dropdown-toggle" id="drop5" role="button" data-toggle="dropdown" href="#">Condition<b class="caret"></b></a> <ul id="menu2" class="dropdown-menu" role="menu" aria-labelledby="drop5"> <li> <a tabindex="-1" href="#">Diabetes</a> </li> <li> <a tabindex="-1" href="#">Hearing</a> </li> <li> <a tabindex="-1" href="#">Dental</a> </li> <li> <a tabindex="-1" href="#">Eye/Vision</a> </li> </ul> </li> </ul> </div> </div> </div> </div> </div> </div> </body> </html>
Solved! Go to Solution.
Tracy,
Change you css to this: (the important part is the overflow visible on the panel-group and then remove the relative positioning you did).
<style type="text/css"> .nav-pills > li > a { position: relative; background-color: #CBDDEB; color: #000000; padding: 3px; margin: 1px 10px 1px 10px; } .nav .open > a:focus { background-color: #96bad8; } .panel-group .panel { margin-bottom: 0; border-radius: 4px; overflow: visible; } </style>
Tracy,
Change you css to this: (the important part is the overflow visible on the panel-group and then remove the relative positioning you did).
<style type="text/css"> .nav-pills > li > a { position: relative; background-color: #CBDDEB; color: #000000; padding: 3px; margin: 1px 10px 1px 10px; } .nav .open > a:focus { background-color: #96bad8; } .panel-group .panel { margin-bottom: 0; border-radius: 4px; overflow: visible; } </style>
That was it, thanks. I always struggle with css.