返回

Flex布局之余,你不可错过的经典布局方案

前端

经典网页布局:Flex 布局与非 Flex 布局

全屏布局:简约大气

全屏布局将网页内容无缝填满整个浏览器窗口,营造出沉浸式视觉体验。无论是图片集锦、视频展示还是产品宣传页面,全屏布局都是凸显视觉冲击力的理想选择。

Flex 布局实现全屏布局:

html, body {
  height: 100%;
}

#container {
  display: flex;
  flex-direction: column;
  height: 100%;
}

#header {
  flex: 0 0 auto;
}

#main {
  flex: 1 1 auto;
}

#footer {
  flex: 0 0 auto;
}

非 Flex 布局实现全屏布局:

html, body {
  height: 100%;
}

#container {
  height: 100%;
}

#header {
  height: 100px;
}

#main {
  height: calc(100% - 100px - 100px);
}

#footer {
  height: 100px;
}

两列布局:经典实用

两列布局是网页布局中最常见的方案之一,将网页内容划分为两列,通常用于新闻网站、博客和电子商务页面。两列布局可同时展示多种内容,信息丰富且易于浏览。

Flex 布局实现两列布局:

html, body {
  height: 100%;
}

#container {
  display: flex;
  flex-direction: row;
  height: 100%;
}

#sidebar {
  flex: 0 0 200px;
}

#main {
  flex: 1 1 auto;
}

非 Flex 布局实现两列布局:

html, body {
  height: 100%;
}

#container {
  height: 100%;
}

#sidebar {
  width: 200px;
  float: left;
}

#main {
  width: calc(100% - 200px);
  float: left;
}

三列布局:灵活多变

三列布局比两列布局更灵活,可将网页内容划分为三列,通常用于产品对比页面和价格比较页面,可突出显示特定列的内容。

Flex 布局实现三列布局:

html, body {
  height: 100%;
}

#container {
  display: flex;
  flex-direction: row;
  height: 100%;
}

#sidebar1 {
  flex: 0 0 200px;
}

#main {
  flex: 1 1 auto;
}

#sidebar2 {
  flex: 0 0 200px;
}

非 Flex 布局实现三列布局:

html, body {
  height: 100%;
}

#container {
  height: 100%;
}

#sidebar1 {
  width: 200px;
  float: left;
}

#main {
  width: calc(100% - 400px);
  float: left;
}

#sidebar2 {
  width: 200px;
  float: left;
}

Flex 布局与非 Flex 布局的比较

Flex 布局是近年来兴起的一种布局技术,与传统的非 Flex 布局相比,具有以下优势:

  • 灵活性: Flex 布局可实现高度灵活的布局,无需考虑元素的浮动和清除问题。
  • 响应性: Flex 布局天生响应式,可根据不同的屏幕尺寸自动调整布局。
  • 易维护: Flex 布局的代码更简洁易懂,便于后期维护和修改。

然而,非 Flex 布局在某些情况下仍有其优势:

  • 兼容性: 非 Flex 布局兼容性更广泛,支持所有主流浏览器。
  • 性能: 对于简单的布局,非 Flex 布局的性能可能略优于 Flex 布局。

常见问题解答

  1. 什么时候使用 Flex 布局?

当需要实现高度灵活、响应式且易维护的布局时,建议使用 Flex 布局。

  1. 什么时候使用非 Flex 布局?

对于简单的布局、兼容性要求较高的项目或注重性能优化时,可以使用非 Flex 布局。

  1. Flex 布局的局限性是什么?

Flex 布局可能在 IE 10 及更早版本等较旧浏览器中存在兼容性问题。

  1. 非 Flex 布局的局限性是什么?

非 Flex 布局实现复杂布局时代码冗长,维护困难,且响应性较差。

  1. 如何选择最佳的布局方案?

根据具体的网页需求、兼容性要求和性能目标,选择最合适的布局方案。