<bdo id='RTq7w'></bdo><ul id='RTq7w'></ul>

      <i id='RTq7w'><tr id='RTq7w'><dt id='RTq7w'><q id='RTq7w'><span id='RTq7w'><b id='RTq7w'><form id='RTq7w'><ins id='RTq7w'></ins><ul id='RTq7w'></ul><sub id='RTq7w'></sub></form><legend id='RTq7w'></legend><bdo id='RTq7w'><pre id='RTq7w'><center id='RTq7w'></center></pre></bdo></b><th id='RTq7w'></th></span></q></dt></tr></i><div id='RTq7w'><tfoot id='RTq7w'></tfoot><dl id='RTq7w'><fieldset id='RTq7w'></fieldset></dl></div>

        <legend id='RTq7w'><style id='RTq7w'><dir id='RTq7w'><q id='RTq7w'></q></dir></style></legend><tfoot id='RTq7w'></tfoot>

        <small id='RTq7w'></small><noframes id='RTq7w'>

        纯CSS无hacks的跨游览器自适应高度多列布局 推荐

        时间:2023-12-13
          <tbody id='qB3ep'></tbody>

      1. <legend id='qB3ep'><style id='qB3ep'><dir id='qB3ep'><q id='qB3ep'></q></dir></style></legend><tfoot id='qB3ep'></tfoot>

              <i id='qB3ep'><tr id='qB3ep'><dt id='qB3ep'><q id='qB3ep'><span id='qB3ep'><b id='qB3ep'><form id='qB3ep'><ins id='qB3ep'></ins><ul id='qB3ep'></ul><sub id='qB3ep'></sub></form><legend id='qB3ep'></legend><bdo id='qB3ep'><pre id='qB3ep'><center id='qB3ep'></center></pre></bdo></b><th id='qB3ep'></th></span></q></dt></tr></i><div id='qB3ep'><tfoot id='qB3ep'></tfoot><dl id='qB3ep'><fieldset id='qB3ep'></fieldset></dl></div>
              • <bdo id='qB3ep'></bdo><ul id='qB3ep'></ul>
                • <small id='qB3ep'></small><noframes id='qB3ep'>

                  以下是详细的“纯CSS无hacks的跨游览器自适应高度多列布局”的攻略:

                  概览

                  在前端开发中,我们常常需要实现类似Pinterest等网站的多列布局,这时候自适应高度就显得尤为重要。

                  本篇攻略将介绍如何通过纯CSS代码实现无hack、跨游览器的自适应高度多列布局。

                  原理

                  使用CSS3中的Flexible Box模型来实现布局。

                  具体来说,我们将父容器(container)设为flex布局,子容器(items)设为如下样式:

                  display: flex;           // 使用flex布局
                  flex-flow: row wrap;     // 按行排列,换行
                  align-content: flex-start;     // 在垂直方向上从起始位置开始布局
                  

                  这样子容器将会自适应高度,并按整行排列,能够适应不同宽度下的显示需求。

                  代码实现

                  HTML结构

                  我们假设需要展示一个类似网站的图片列表,有多张图片并列在一起。HTML结构如下:

                  <div class="container">
                    <div class="item"><img src="xxx"></div>
                    <div class="item"><img src="xxx"></div>
                    <div class="item"><img src="xxx"></div>
                    <div class="item"><img src="xxx"></div>
                    <!-- ... -->
                  </div>
                  

                  样式实现

                  我们使用如下的样式来实现多列布局:

                  .container {
                    display: flex;           // 使用flex布局
                    flex-flow: row wrap;     // 按行排列,换行
                    align-content: flex-start;     // 在垂直方向上从起始位置开始布局
                  }
                  
                  .item {
                    width: 25%;              // 每列宽度为25%
                    margin: 0;               // 设置间距为0
                    padding: 0;              // 设置内边距为0
                    box-sizing: border-box;  // 盒子模型为border-box
                  }
                  

                  这样我们就完成了多列布局的实现。其中,每列的宽度可以根据需求自行调整,只需保证总和为100%即可。

                  示例

                  以下是一个针对图片列表的样例实现。其中,图片的高度被随机生成,但布局自适应调整。

                  <div class="container">
                    <div class="item"><img src="https://picsum.photos/id/237/200/300"></div>
                    <div class="item"><img src="https://picsum.photos/id/238/200/400"></div>
                    <div class="item"><img src="https://picsum.photos/id/239/200/250"></div>
                    <div class="item"><img src="https://picsum.photos/id/240/200/350"></div>
                    <div class="item"><img src="https://picsum.photos/id/241/200/450"></div>
                    <!-- ... -->
                  </div>
                  
                  .container {
                    display: flex;
                    flex-flow: row wrap;
                    align-content: flex-start;
                  }
                  
                  .item {
                    margin: 0;
                    padding: 0;
                    box-sizing: border-box;
                    width: 25%;
                  }
                  
                  .item img {
                    width: 100%;
                    display: block;
                  }
                  

                  总结

                  以上就是“纯CSS无hacks的跨游览器自适应高度多列布局”的完整攻略。我们通过使用CSS3的Flexible Box模型来实现布局,能够做到自适应高度、跨游览器支持,并且无需使用hack。

                  上一篇:CSS 中重要的层叠概念详解 下一篇:ASP.NET 动态写入服务器端控件

                  相关文章

                    <i id='5m9iA'><tr id='5m9iA'><dt id='5m9iA'><q id='5m9iA'><span id='5m9iA'><b id='5m9iA'><form id='5m9iA'><ins id='5m9iA'></ins><ul id='5m9iA'></ul><sub id='5m9iA'></sub></form><legend id='5m9iA'></legend><bdo id='5m9iA'><pre id='5m9iA'><center id='5m9iA'></center></pre></bdo></b><th id='5m9iA'></th></span></q></dt></tr></i><div id='5m9iA'><tfoot id='5m9iA'></tfoot><dl id='5m9iA'><fieldset id='5m9iA'></fieldset></dl></div>

                  1. <legend id='5m9iA'><style id='5m9iA'><dir id='5m9iA'><q id='5m9iA'></q></dir></style></legend>

                    1. <tfoot id='5m9iA'></tfoot>

                      <small id='5m9iA'></small><noframes id='5m9iA'>

                        <bdo id='5m9iA'></bdo><ul id='5m9iA'></ul>