簡體   English   中英

在按鈕下方垂直對齊div的內容

[英]Align content of div vertically in line, under button

我有這個設置的jsfiddle我需要Points一下之后出現的Button 2Point 3Point 4下) Button 2 ,而不是下Button 1

我該怎么做?

 var myButton = document.getElementById("myButton"); var dropdDown = document.getElementById("dropdown"); (function() { "use strict"; dropdownExpander(myButton, dropdDown); function dropdownExpander(bdropdown, dContent) { bdropdown.addEventListener("click", function(e) { e.preventDefault(); if (dContent.classList.contains("is-active") === true) { dContent.classList.remove("is-active"); } else { dContent.classList.add("is-active"); } }); } })(); var myButton = document.getElementById("myButton2"); var dropdDown = document.getElementById("dropdown2"); (function() { "use strict"; dropdownExpander(myButton, dropdDown); function dropdownExpander(bdropdown, dContent) { bdropdown.addEventListener("click", function(e) { e.preventDefault(); if (dContent.classList.contains("is-active") === true) { dContent.classList.remove("is-active"); } else { dContent.classList.add("is-active"); } }); } })(); 
 .parentDiv { display: inline-blick; } #myButton { padding: 5px; } .childDiv { display: none; position: absolute; padding-right: 5px; } .childDiv.is-active { display: block; } 
 <div class="parentDiv"> <button type="button" id="myButton">Button 1</button> <div class="childDiv" , id="dropdown"> <div class="cont">Point 1</div> <div class="cont">Point 2</div> </div> <button type="button" id="myButton2">Button 2</button> <div class="childDiv" , id="dropdown2"> <div class="cont">Point 3</div> <div class="cont">Point 4</div> </div> </div> 

使用此代碼

<div class = "parentDiv"> 
<div style='float:left'>

<button type="button" id = "myButton">Button 1</button>
      <div class = "childDiv", id = "dropdown"> 
          <div class = "cont"> Point 1</div>
          <div class = "cont"> Point 2</div>
      </div>
</div>
<div style='float:left'>
      <button type="button" id = "myButton2">Button 2</button>
      <div class = "childDiv", id = "dropdown2"> 
          <div class = "cont"> Point 3</div>
          <div class = "cont"> Point 4</div>
      </div>
      </div>
</div>

將每個Button + Dropdown包裹在.parentDiv
更正了inline-blick
新增position: relative;

HTML:

<div class="parentDiv">
  <button type="button" id="myButton">Button 1</button>
  <div class="childDiv" , id="dropdown">
    <div class="cont"> Point 1</div>
    <div class="cont"> Point 2</div>
  </div>
</div>
<div class="parentDiv">
  <button type="button" id="myButton2">Button 2</button>
  <div class="childDiv" , id="dropdown2">
    <div class="cont"> Point 3</div>
    <div class="cont"> Point 4</div>
  </div>
</div>

CSS:

.parentDiv {
  display: inline-block;
  position: relative;
}

JSFiddle

這是使用flexbox進行布局的解決方案:

codepen: http ://codepen.io/anon/pen/LRLQoV

<div class="flex-container">
  <div class='flex-column'>
    <button type="button" id="button1">Button 1</button>
    <div class="childDiv hidden" , id="dropdown1">
      <div class="cont"> Point 1</div>
      <div class="cont"> Point 2</div>
    </div>
  </div>

  <div class='flex-column'>
    <button type="button" id="button2">Button 2</button>
    <div class="childDiv" id="dropdown2">
      <div class="cont"> Point 3</div>
      <div class="cont"> Point 4</div>
    </div>
  </div>
  <button id='reset'>Reset</button>
</div>

CSS:

.flex-container {
  display: flex;
}

.flex-column {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hidden {
  display: none;
}

#reset {
 margin-left: auto;
  color: white;
  background: red;
}

javascript:

(() => {
  const button1 = document.getElementById('button1');
  const button2 = document.getElementById('button2');
  const element1 = document.getElementById('dropdown1');
  const element2 = document.getElementById('dropdown2');
  const resetButton = document.getElementById('reset');

  button1.onclick = () => {
    element1.classList.remove('hidden');
  }

  button2.onclick = () => {
    element2.classList.remove('hidden');
  }

  resetButton.onclick = () => {
    element1.classList.add('hidden');
    element2.classList.add('hidden');
  }

})();

使用HTML <table>

<table>
<tr>
    <td>
          <button type="button" id = "myButton">Button 1</button>
          <div class = "childDiv", id = "dropdown"> 
              <div class = "cont"> Point 1</div>
              <div class = "cont"> Point 2</div>
          </div>
   </td>
   <td>
          <button type="button" id = "myButton2">Button 2</button>
          <div class = "childDiv", id = "dropdown2"> 
              <div class = "cont"> Point 3</div>
              <div class = "cont"> Point 4</div>
          </div>
  </td>
</tr>
</table>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM