Я хотел бы иметь возможность расширять / сбрасывать при щелчке ширину выбранного согнутого элемента.
Моя главная задача состоит в том, чтобы я хотел, чтобы все остальные элементы div также изменяли размеры в реальном времени, соответственно, чтобы поместите оставшееся пространство.
Все они НО первый div, который я хочу всегда иметь фиксированную ширину и никогда не изменять размер.
Эта последняя часть является проблемой Я хочу обратиться.
Единственный способ, которым я мог бы сделать это, это:
HTML:
<div class="wrapper">
<div class="divFixed">Fixed</div>
<div class="data">
<div class="divFluid">Fluid</div>
<div class="divFluid">Fluid</div>
<div class="divFluid">Fluid</div>
</div>
</div>
<button>Expand</button>
CSS:
.wrapper{
overflow:hidden;
width:100%;
border: 1px solid black;
}
.divFixed{
width:50px; /* fixed */
float:left;
border-right: 1px solid black;
}
.data{
width: calc( 100% - 51px );
float:left;
display: flex;
justify-content: flex-start;
}
.divFluid{
border-right: 1px solid black;
overflow:hidden;
transition: width 1s;
}
.divFluid:last-child{
border-right: 0px;
}
jQuery:
var clickStatus=0;
$(document).on('click','button',function(e){
if(clickStatus==0){
$('.divFluid:nth-child(1)').css('width','300%');
$('button').html('Reset');
clickStatus=1;
}
else{
$('.divFluid:nth-child(1)').css('width','100%');
$('button').html('Expand');
clickStatus=0;
}
})
Вот jsfiddle:
https://jsfiddle.net/Lh5pnrcm/
Пример довольно ясный и отлично демонстрирует то, чего я хочу достичь. Так что это отлично работает, но не соответствует моим потребностям, так как мне нужен первый div, чтобы не быть структурно изолированным. Это немного долго объяснять, но изоляция в HTML очень затрудняет мне реализацию других функций, которые здесь не рассматриваются.
Другими словами, мне нужно, чтобы HTML было вот так, при достижении EXACT того же результата, который был показан в jsfiddle:
<div class="wrapper">
<div class="div">Fixed</div>
<div class="div">Fluid</div>
<div class="div">Fluid</div>
<div class="div">Fluid</div>
</div>
<button>Expand</button>
Так как вы думаете, возможно ли отличить первый div при использовании flex, не изолируя его от остальных? из div в HTML (и без использования таблицы)?
Спасибо.