Jquery 按指定顺序对齐不同大小的Div元素

Jquery 按指定顺序对齐不同大小的Div元素,jquery,html,css,flexbox,css-grid,Jquery,Html,Css,Flexbox,Css Grid,我想保持一个大div的高度,在1024px到1920px最大宽度之间的同一个容器上另一个(比如)20个div 重要的是,我想让所有的项目都浮动起来,并且有一个漂亮干净的布局网格 只有大div必须与容器保持60%的宽度,然后所有小div必须保持20%的宽度,并在大div附近浮动 结构是这样的: <div class="container"> <div class="big-div" style="width: 60%;"></div> <div cla

我想保持一个
大div
高度
,在
1024px
1920px
最大
宽度
之间的同一个
容器
上另一个(比如)20个div

重要的是,我想让所有的项目都浮动起来,并且有一个漂亮干净的
布局
网格

只有
大div
必须与
容器
保持60%的宽度,然后所有小div必须保持20%的宽度,并在大div附近浮动

结构是这样的:

<div class="container">

<div class="big-div" style="width: 60%;"></div>

<div class="small-div" style="width: 20%;"></div>
<div class="small-div" style="width: 20%;"></div>
<div class="small-div" style="width: 20%;"></div>
<div class="small-div" style="width: 20%;"></div>
<div class="small-div" style="width: 20%;"></div>
<div class="small-div" style="width: 20%;"></div>
<div class="small-div" style="width: 20%;"></div>
<div class="small-div" style="width: 20%;"></div>
<div class="small-div" style="width: 20%;"></div>

</div>

给你!CSS网格。HTML:

<div class="container">
  <div class="big-div"></div>
  <div class="small-div"></div>
  <div class="small-div"></div>
  <div class="small-div"></div>
  <div class="small-div"></div>
  <div class="small-div"></div>
  <div class="small-div"></div>
  <div class="small-div"></div>
  <div class="small-div"></div>
  <div class="small-div last-1"></div>
  <div class="small-div last-2"></div>
  <div class="small-div last-3"></div>
  <div class="small-div last-4"></div>
</div>
代码笔: 这就是你需要的

.container
{
边框:1px纯黑;
显示器:flex;
柔性包装:包装;
}
.大div
{
背景:红色;
弹性基准:50%;
排名:0;
左:0;
}
.小分区
{
背景:蓝色;
宽度:100px;
颜色:白色;
弹性基准:25%;
}
.大div.小div
{
边框:2倍纯白;
填充:10px;
字体系列:无衬线;
框大小:边框框;
自我校准:灵活启动;
溢出:滚动;
}

Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。它不仅存活了五个世纪,而且还跨越到电子排版,基本上保持不变。它在20世纪60年代随着包含Lorem Ipsum段落的Letraset表单的发布而流行,最近随着Aldus PageMaker等桌面出版软件的发布,包括Lorem Ipsum版本。
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本

到目前为止您做了什么?你有代码笔吗?与css共享你的代码。你尝试过flex吗?研究css网格和/或引导和/或flexbox。我们不会从头开始编写代码。你需要分享你尝试过的东西。我到现在为止什么都没做,因为我不知道怎么做。我所做的就是这个结构,我正在尝试用flex做一些东西,以使它们也具有响应性。我不想使用float。如果我使用flex会更好,因为它更灵活哦,你在问题中说了float
,我想让所有项目都浮动起来。看看网格。它用于页面布局。浮动也是很棒的,但是你可能想考虑Flex在单个布局组件上而不是页面布局。我不能这么多地改变HTML。它的动态内容是yiphp。我必须从我的岗位上用这种结构做点什么我感觉到了你的痛苦。结帐更新答案我很乐意回答任何问题。没有JS,纯CSS。我没有固定的元素高度。它们是流动的。此外,网格必须具有响应性,通过调整浏览器的大小,元素会下降(在大div下)。@StefanIordache更新了答案。。。希望这能帮到你,谢谢你的回答,但你不懂我的意思。大div有两个小div的高度。那么它不能通过
flex
实现。如果您希望通过
flex
实现,那么它应该具有固定的高度和宽度。
.container {
  display:grid;
  grid-gap:10px;
  grid-template-rows:repeat(4, 1fr);
  grid-template-columns:repeat(6, 1fr)
}

.big-div {
  grid-column:span 4;
  grid-row:span 2;
}

.last-1 {
  grid-column:1/2;
  grid-row:4/5
}
.last-2 {
  grid-column:2/3;
  grid-row:4/5
}
.last-3 {
  grid-column:3/4;
  grid-row:4/5
}
.last-4 {
  grid-column:4/5;
  grid-row:4/5
}
.container > div {
  border:1px solid;
  background-color:green;
}
function sidebarHandler() {
          jQuery(".big-div").css({'height':(jQuery(".small-div").height()+'px')});
          jQuery(".big-div").height(jQuery(".small-div").height());
          var highestCol = Math.max(jQuery('.big-div').height(),jQuery('.container').height());
          jQuery('.big-div').height(highestCol);
          console.log(highestCol);
          console.log($('.big-div').height());
          console.log($(".big-div").css({'height':(jQuery(".small-div").height()+'px')}));
        }
        jQuery(document).ready(function() { 
            sidebarHandler();
            $(window).resize(function() {
                sidebarHandler();
            });
        });