shiran
shiran

Reputation: 37

How to set components order in html and css

In the following link you can see when clicking the buttons, a menu will pop but the red spot will stay on top of the menu.

Please help me understand how to keep the red spot behind the menu when the menu is above.

.divMenu
{
    float: left;
    position: fixed;
    top: 350px;
}



.uiBarButton {
  //position:absolute;
  width: 100px;
  height: 50px;
  border: black;
  padding: 0px;
  border: 2px solid red;
   

  /*override chrome default*/ }
  .uiBarButton:hover:not([disabled="disabled"]) {
    box-shadow: 0px 0px 2px 1px #18BECD;
    /*create a shadow: location, location, blur, Spread, color*/
   position: relative;
    /* position + z : cast the shadow above the other elements*/
    z-index: 1; }


    
.uiMenu {
  margin: 0;
  padding: 0;
  border: 1px solid #18BECD;
  display: none;
  position: absolute; 
  

  }
  .uiMenu:hover .uiMenuItem:hover > .uiSubMenu {
    display: block; 
    }

.uiMenuUL {
  margin: 0;
  padding: 0; }

.uiMenuItem {
  position: relative;
  list-style: none;
  background: #E2E2E2;
  display: block;
  color: #333;
  text-decoration: none;
  line-height: 20px;
  padding: 0 10px;
  font-size: 11px;
  font-family: Arial;
  white-space: nowrap; }
  .uiMenuItem:hover:not([disabled="disabled"]) {
    background: #FFFAFA;
    z-index: 15; }
  .uiMenuItem.emptyli:hover {
    background: #E2E2E2; }
  .uiMenuItem.uiSubMenu {
    padding: 0;
    display: none;
    position: absolute;
    left: 100%;
    top: -1px;
    border-radius: 0px;
    border: 1px solid #18BECD;
    float: none; }
    
    

.uiRadioButton {
  border-style: solid;
  border-color: #92AFCF;
  border-width: 1px;
  border-radius: 15px;
  vertical-align: text-bottom;
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin-right: 10px;
  left:150px;
  -webkit-appearance: none; }
  .uiRadioButton:after {
    background-color: red;
    border-radius: 15px;
    content: '';
    display: block;
    height: 9px;
    left: 150px;
    position: relative;
    top: 2px;
    width: 9px; 
    }
  .uiRadioButton:checked:after {
    left:150px;
    background-color: red; }
  .uiRadioButton:focus {
    outline: none;
    left:150px;
    border: 1px solid #18BECD; }

    
<div>
<div class="sidebar" style="float:left; width:100px; position:fixed; top:100px ">

 <div> 


<style>.uiMenu:hover,.uiBarButton:focus ~ .uiMenu
  {
    display: inline-flex; 
    left:100%;
    position: relative;
    
  }
</style>


<button type="button" id="btOpt" data-tag="0" class="uiBarButton">
 <div>Click here</div>
</button>



<nav class="uiMenu" id="popOpt" data-tag="0" style="bottom:50px">
<div style="float:left">
<ul class="uiMenuUL" style="border-right: 1px solid lightgrey">
  <li class="uiMenuItem" id="miImages" data-tag="0">1. Images</li>
  <li class="uiMenuItem" id="miVideo" data-tag="0">2. Training Video</li>
  <li class="uiMenuItem" id="miVoiceInstructions" data-tag="0">3. Voice/Instructions</li>
  <li class="uiMenuItem" id="N4Documents1" data-tag="0">4. Documents (List)</li>
  <li class="uiMenuItem" id="PriceTable1" data-tag="0">5. P/N Price Table</li>
  <li class="uiMenuItem" id="APriceList1" data-tag="0">6. Cust/Vend Price List
    <ul class="uiMenuItem uiSubMenu"><li class="uiMenuItem" id="CVendorsCostList1" data-tag="0">1. Vendors Cost List</li>
      <li class="uiMenuItem" id="N2CustomersPriceList1" data-tag="0">2. Customers Price List</li>
    </ul>
  </li>
  <li class="uiMenuItem" id="PNCategories1" data-tag="0">7. P/N Categories</li>
  <li class="uiMenuItem" id="miCapabilityCodes" data-tag="0">8. Capabilities</li>
  <li class="uiMenuItem" id="N5PNExtendedInfo1" data-tag="0">9. P/N Extended Info</li>
  <li class="uiMenuItem" id="GeneralLedgerGL1" data-tag="0">A. General Ledger Default Tables (GL Codes)</li>
  </ul>
  </div>
 
  </nav>
  </div>
  
  
  
<div >
  


<style>.uiMenu:hover,.uiBarButton:focus ~ .uiMenu
  {
    display: inline-flex; 
    left:100px;
    position: absolute;
  }
</style>


<button type="button" id="btOpt" data-tag="0" class="uiBarButton">
 <div></div>
</button>



<nav class="uiMenu" id="popOpt" data-tag="0" style="bottom:0px">
<div style="float:left">
<ul class="uiMenuUL" style="border-right: 1px solid lightgrey">
  <li class="uiMenuItem" id="miImages" data-tag="0">11. Images</li>
  <li class="uiMenuItem" id="miVideo" data-tag="0">21. Training Video</li>
  <li class="uiMenuItem" id="miVoiceInstructions" data-tag="0">31. Voice/Instructions</li>
  <li class="uiMenuItem" id="N4Documents1" data-tag="0">41. Documents (List)</li>
  <li class="uiMenuItem" id="PriceTable1" data-tag="0">51. P/N Price Table</li>
  <li class="uiMenuItem" id="APriceList1" data-tag="0">61. Cust/Vend Price List
    <ul class="uiMenuItem uiSubMenu"><li class="uiMenuItem" id="CVendorsCostList1" data-tag="0">1. Vendors Cost List</li>
      <li class="uiMenuItem" id="N2CustomersPriceList1" data-tag="0">2. Customers Price List</li>
    </ul>
  </li>
  <li class="uiMenuItem" id="PNCategories1" data-tag="0">71. P/N Categories</li>
  <li class="uiMenuItem" id="miCapabilityCodes" data-tag="0">81. Capabilities</li>
  <li class="uiMenuItem" id="N5PNExtendedInfo1" data-tag="0">91. P/N Extended Info</li>
  <li class="uiMenuItem" id="GeneralLedgerGL1" data-tag="0">A1. General Ledger Default Tables (GL Codes)</li>
  </ul>
  </div>
 
  </nav>
  </div>
 
</div>
  

  <input type="radio" id="rbSerializedUnique" data-tag="0" class="uiRadioButton" value="U" name="rgSerials" onchange="rgSerialsOnChange(this)">
</input>
  

  
  
  

  

Upvotes: 2

Views: 342

Answers (2)

Dan
Dan

Reputation: 66

you could use the z-index property to define on which "layer" an element should be placed at. Use for example z-index:-1 on your .uiRadioButton:after to get it beneath the menu.

If you're familiar with Photoshop or similar programs you already know the concept of z-index. for better understanding have a look at this: enter image description here

also have a look at http://www.w3schools.com/cssref/pr_pos_z-index.asp for more details.

Hope that helps!

Cheers, Dan

Upvotes: 1

Benjy1996
Benjy1996

Reputation: 159

Try altering the z-index (more) of the red dot, e.g

.uiRadioButton:after {
    z-index: -1;
}

.divMenu {
    float: left;
    position: fixed;
    top: 350px;
}
.uiBarButton {
    //position:absolute;
    width: 100px;
    height: 50px;
    border: black;
    padding: 0px;
    border: 2px solid red;
    /*override chrome default*/
}
.uiBarButton:hover:not([disabled="disabled"]) {
    box-shadow: 0px 0px 2px 1px #18BECD;
    /*create a shadow: location, location, blur, Spread, color*/
    
    position: relative;
    /* position + z : cast the shadow above the other elements*/
    
    z-index: 1;
}
.uiMenu {
    margin: 0;
    padding: 0;
    border: 1px solid #18BECD;
    display: none;
    position: absolute;
}
.uiMenu:hover .uiMenuItem:hover > .uiSubMenu {
    display: block;
}
.uiMenuUL {
    margin: 0;
    padding: 0;
}
.uiMenuItem {
    position: relative;
    list-style: none;
    background: #E2E2E2;
    display: block;
    color: #333;
    text-decoration: none;
    line-height: 20px;
    padding: 0 10px;
    font-size: 11px;
    font-family: Arial;
    white-space: nowrap;
}
.uiMenuItem:hover:not([disabled="disabled"]) {
    background: #FFFAFA;
    z-index: 15;
}
.uiMenuItem.emptyli:hover {
    background: #E2E2E2;
}
.uiMenuItem.uiSubMenu {
    padding: 0;
    display: none;
    position: absolute;
    left: 100%;
    top: -1px;
    border-radius: 0px;
    border: 1px solid #18BECD;
    float: none;
}
.uiRadioButton {
    border-style: solid;
    border-color: #92AFCF;
    border-width: 1px;
    border-radius: 15px;
    vertical-align: text-bottom;
    cursor: pointer;
    height: 15px;
    width: 15px;
    margin-right: 10px;
    left: 150px;
    -webkit-appearance: none;
}
.uiRadioButton:after {
    background-color: red;
    border-radius: 15px;
    content: '';
    display: block;
    height: 9px;
    left: 150px;
    position: relative;
    top: 2px;
    width: 9px;
    z-index: -1;    /* changed line of CSS */
}
.uiRadioButton:checked:after {
    left: 150px;
    background-color: red;
}
.uiRadioButton:focus {
    outline: none;
    left: 150px;
    border: 1px solid #18BECD;
}
<div>
<div class="sidebar" style="float:left; width:100px; position:fixed; top:100px ">

 <div> 


<style>.uiMenu:hover,.uiBarButton:focus ~ .uiMenu
  {
    display: inline-flex; 
    left:100%;
    position: relative;
    
  }
</style>


<button type="button" id="btOpt" data-tag="0" class="uiBarButton">
 <div>Click here</div>
</button>



<nav class="uiMenu" id="popOpt" data-tag="0" style="bottom:50px">
<div style="float:left">
<ul class="uiMenuUL" style="border-right: 1px solid lightgrey">
  <li class="uiMenuItem" id="miImages" data-tag="0">1. Images</li>
  <li class="uiMenuItem" id="miVideo" data-tag="0">2. Training Video</li>
  <li class="uiMenuItem" id="miVoiceInstructions" data-tag="0">3. Voice/Instructions</li>
  <li class="uiMenuItem" id="N4Documents1" data-tag="0">4. Documents (List)</li>
  <li class="uiMenuItem" id="PriceTable1" data-tag="0">5. P/N Price Table</li>
  <li class="uiMenuItem" id="APriceList1" data-tag="0">6. Cust/Vend Price List
    <ul class="uiMenuItem uiSubMenu"><li class="uiMenuItem" id="CVendorsCostList1" data-tag="0">1. Vendors Cost List</li>
      <li class="uiMenuItem" id="N2CustomersPriceList1" data-tag="0">2. Customers Price List</li>
    </ul>
  </li>
  <li class="uiMenuItem" id="PNCategories1" data-tag="0">7. P/N Categories</li>
  <li class="uiMenuItem" id="miCapabilityCodes" data-tag="0">8. Capabilities</li>
  <li class="uiMenuItem" id="N5PNExtendedInfo1" data-tag="0">9. P/N Extended Info</li>
  <li class="uiMenuItem" id="GeneralLedgerGL1" data-tag="0">A. General Ledger Default Tables (GL Codes)</li>
  </ul>
  </div>
 
  </nav>
  </div>
  
  
  
<div >
  


<style>.uiMenu:hover,.uiBarButton:focus ~ .uiMenu
  {
    display: inline-flex; 
    left:100px;
    position: absolute;
  }
</style>


<button type="button" id="btOpt" data-tag="0" class="uiBarButton">
 <div></div>
</button>



<nav class="uiMenu" id="popOpt" data-tag="0" style="bottom:0px">
<div style="float:left">
<ul class="uiMenuUL" style="border-right: 1px solid lightgrey">
  <li class="uiMenuItem" id="miImages" data-tag="0">11. Images</li>
  <li class="uiMenuItem" id="miVideo" data-tag="0">21. Training Video</li>
  <li class="uiMenuItem" id="miVoiceInstructions" data-tag="0">31. Voice/Instructions</li>
  <li class="uiMenuItem" id="N4Documents1" data-tag="0">41. Documents (List)</li>
  <li class="uiMenuItem" id="PriceTable1" data-tag="0">51. P/N Price Table</li>
  <li class="uiMenuItem" id="APriceList1" data-tag="0">61. Cust/Vend Price List
    <ul class="uiMenuItem uiSubMenu"><li class="uiMenuItem" id="CVendorsCostList1" data-tag="0">1. Vendors Cost List</li>
      <li class="uiMenuItem" id="N2CustomersPriceList1" data-tag="0">2. Customers Price List</li>
    </ul>
  </li>
  <li class="uiMenuItem" id="PNCategories1" data-tag="0">71. P/N Categories</li>
  <li class="uiMenuItem" id="miCapabilityCodes" data-tag="0">81. Capabilities</li>
  <li class="uiMenuItem" id="N5PNExtendedInfo1" data-tag="0">91. P/N Extended Info</li>
  <li class="uiMenuItem" id="GeneralLedgerGL1" data-tag="0">A1. General Ledger Default Tables (GL Codes)</li>
  </ul>
  </div>
 
  </nav>
  </div>
 
</div>
  

  <input type="radio" id="rbSerializedUnique" data-tag="0" class="uiRadioButton" value="U" name="rgSerials" onchange="rgSerialsOnChange(this)">

Upvotes: 0

Related Questions