クリックしたときにクリックされた要素の下にポップアップを表示したいと思います。 しかし、この要素は他の要素の間に配置されます。 ポップアップを他の2つの要素の間に配置し、相対位置にすると、まだスペースが必要です。スペースを奪わずに別の要素を相対的に配置する方法
以下の簡単な例では、divの下の 'menu'を値 'X'で配置したいと考えています。
.icon {
font-size: 10px;
float: left;
height: 30px;
width: 30px;
background-color: #EAEAEA;
padding-top: 2px;
margin-right: 3px;
border: 0px;
border-radius: 3px;
}
.v-divider {
float: left;
height: 35px;
border: 0;
border-right: 1px solid #d9d6d0;
margin: 0px 5px 0px 5px;
}
.menu {
position: relative;
top: 40px;
margin-bottom: 100px;
width: 100px;
border: 1px solid #a1a1a1;
padding: 5px;
}
.block {
float: left;
margin: 7px 0px 5px 0px;
}
<div class='v-divider'></div>
<div class='block'>
<button type="button" class="icon">A</button>
<button type="button" class="icon">A</button>
</div>
<div class='v-divider'></div>
<div class='block'>
<button type="button" class="icon">A</button>
<button type="button" class="icon">A</button>
<button type="button" class="icon">A</button>
</div>
<div class='v-divider'></div>
<div class='menu'>
<div id='menu'>
<span>blabla</span>
</div>
</div>
<div class='block'>
<button type="button" class="icon">X</button>
<button type="button" class="icon">A</button>
<button type="button" class="icon">A</button>
</div>
<div class='v-divider'></div>