I have a row with 3-cols containing a dropdown menu within each column. The dropdown menu appears below when an option is selected. Clicking the option button causes the height of the columns to extend, flex, or increase as intended. To achieve this effect, I simply add the following CSS element to the row for full screen:
@media only screen and (min-width: 1201px)
.payfullMajsticBlox .portlet-body > .row {
display: flex;
}
Here is my HTML code:
<div class="payfullMajsticBlox">
<div class="portlet-title">
<div class="caption">
<i class="fa fa-cogs font-green-sharp"></i>
<span class="caption-subject font-green-sharp bold uppercase">POS AYARLARI</span>
</div>
<div class="tools">
<a class="collapse" href="javascript:;" data-original-title="" title="">
</a>
<a class="config" data-toggle="modal" href="#portlet-config" data-original-title="" title="">
</a>
<a class="reload" href="javascript:;" data-original-title="" title="">
</a>
<a class="remove" href="javascript:;" data-original-title="" title="">
</a>
</div>
</div>
<div class="portlet-body">
<!--<h4>Pulsate any page elements.</h4>-->
<div class="row">
<div class="col-lg-3 col-md-6 col-sm-6 payfullcol popovers" data-content="XXX" data-placement="top" data-trigger="hover" data-container="body" data-original-title="" title="">
<h6 class="payfullTitle">API Kullanıcı adı</h6>
<div class="form-group form-md">
<input type="text" class="form-control" id="form_control_1" placeholder="Merchant ID">
</div>
</div>
<div class="col-lg-3 col-md-6 col-sm-6 payfullcol popovers" data-content="XXX" data-placement="top" data-trigger="hover" data-container="body" data-original-title="" title="">
<h6 class="payfullTitle">Şifre</h6>
<div class="form-group form-md">
<input type="text" class="form-control" id="form_control_1" placeholder="API Şifresi">
</div>
</div>
<div class="col-lg-3 col-md-6 col-sm-6 payfullcol popovers" data-content="XXX" data-placement="top" data-trigger="hover" data-container="body" data-original-title="" title="">
<h6 class="payfullTitle">Mağaza Numarası</h6>
<div class="form-group form-md">
<input type="text" class="form-control" id="form_control_1" placeholder="Client ID / Terminal">
</div>
</div>
<div class="col-lg-3 col-md-6 col-sm-6 payfullcol popovers" data-content="XXX" data-placement="top" data-trigger="hover" data-container="body" data-original-title="" title="">
<h6 class="payfullTitle">3D Secure kullan</h6>
<div class="clearfix">
<div class="btn-group btn-group payfullBtns" data-toggle="buttons">
<label class="btn green active" id="P1BsecureS1">
<input type="radio" class="toggle">Varsayılan</label>
<label class="btn green" id="P1BsecureS2">
<input type="radio" class="toggle">3D Secure</label>
</div>
</div>
<br><br>
<div id="P1B3DSecure" class="payfullShowHide" style="display: none;">
<h6 class="payfullTitle">Üye İş Yeri Anahtarı</h6>
<div class="form-group form-md">
<input type="text" class="form-control" id="form_control_1" placeholder="POS Net Id / Store key">
</div>
</div>
</div>
</div>
</div>
</div>
The initial view looks like this: https://i.sstatic.net/gAkQg.png
When clicked, it changes to: https://i.sstatic.net/JOC90.png
For responsiveness, I disable display:flex on tablet devices initially to ensure that the dropdown-containing column's height adjusts correctly compared to others. This customization is necessary for full responsiveness.
https://i.sstatic.net/87UZP.png https://i.sstatic.net/HbfN8.png
Enabling display: flex; leads to non-responsive behavior, resulting in a layout like this:
https://i.sstatic.net/T1Z8p.png
You can view a demonstration in this gif:
In conclusion:
- Setting a row element property as display:flex renders the design non-responsive.