详解css3中dispaly的Grid布局与Flex布局

下面是“详解CSS3中display的Grid布局与Flex布局”的完整攻略。

Grid布局

概述:

Grid布局是CSS3中一种全新的布局方式,可以非常方便地实现基于网格的布局,使得排版更加灵活,支持更多复杂的排版方式,使用Grid布局可以大大减少布局代码的量,同时也能够提高排版的效率,完善不同尺寸的屏幕响应式设计。

基本语法:

.container {
  display: grid;
  /* grid-template-rows/grid-template-areas/grid-template-columns/grid-template等属性的声明 */
  /* grid: grid-template-rows/grid-template-areas/grid-template-columns/grid-template等属性的声明 */
}

布局示例:

<div class="container">
  <div class="box box1"></div>
  <div class="box box2"></div>
  <div class="box box3"></div>
  <div class="box box4"></div>
</div>
.container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  grid-gap: 10px;
}

.box {
  background-color: #e5e5e5;
}

.box1 {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
}

.box2 {
  grid-row: 1 / 2;
  grid-column: 2 / 3;
}

.box3 {
  grid-row: 2 / 3;
  grid-column: 1 / 2;
}

.box4 {
  grid-row: 2 / 3;
  grid-column: 2 / 3;
}

语法解释:

  • display: grid; 声明容器元素为Grid布局方式
  • grid-template-columns 定义列数,也可以定义每列的宽度
  • grid-template-rows 定义行数,也可以定义每行的高度
  • grid-template-areas 定义区域
  • grid-template 是上述三个属性的缩写形式,用逗号分隔
  • grid-column 设置元素所在列的起点和终点
  • grid-row 设置元素所在行的起点和终点
  • grid-area 设置元素的区域

Flex布局

概述:

Flex布局是CSS3中一种弹性盒模型,与传统盒模型不同,它更加轻松自如地实现自适应布局,将容器的子元素排列在单行或多行中,具有非常灵活的排布方式,是响应式设计和移动端设计的常用工具。

基本语法:

.container {
  display: flex;
  /* flex-direction/flex-wrap/flex-flow/justify-content/align-items/align-content等属性的声明 */
}

布局示例:

<div class="container">
  <div class="item item1"></div>
  <div class="item item2"></div>
  <div class="item item3"></div>
  <div class="item item4"></div>
</div>
.container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-around;
}

.item {
  background-color: #e5e5e5;
  width: 200px;
  margin-bottom: 20px;
}

.item2, .item3 {
  background-color: #85C1E9;
  height: 200px;
}

语法解释:

  • display: flex; 声明容器元素为Flex布局方式
  • flex-direction 设置主轴方向
  • flex-wrap 设置是否换行
  • flex-flow 是上述两个属性的缩写形式,用空格分隔
  • justify-content 设置主轴排布方式
  • align-items 设置项目在交叉轴上的对齐方式
  • align-content 设置多行项目在交叉轴上的对齐方式

以上就是关于"详解CSS3中display的Grid布局与Flex布局"的完整攻略,希望对您有帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解css3中dispaly的Grid布局与Flex布局 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • button在IE6/7下的黑边去除方案

    针对IE6/7下的黑边问题,可以采取以下方案进行处理: 1.使用CSS hack方式解决在标签中添加属性“overflow:hidden;zoom:1;”,其中“zoom:1”是使IE6/7下的layout引擎生效,同时“overflow:hidden”是为了隐藏不需要显示的部分,从而达到去除黑边的效果。 示例1: <button style=&quo…

    css 2023年6月10日
    00
  • css position属性为absolute时其百分值的计算

    当CSS的position属性设置为absolute时,元素的位置会相对于其祖先元素中最近设置为定位的元素来进行定位。同时,如何设置元素的top、right、bottom、left属性,也会影响最终定位的位置。 在此基础上,如果我们需要使用百分比设置元素的top、right、bottom、left属性,需要注意以下两点: 父元素需要设置为相对定位 当我们使用…

    css 2023年6月10日
    00
  • css按坐标取背景图示例代码

    下面就详细讲解一下“CSS按坐标取背景图示例代码”的攻略。 什么是按坐标取背景图? 按坐标取背景图就是从一张大背景图中,通过CSS样式取出背景图中的一个小块。常见的应用场景是利用一张大图,按照需求不同的坐标,显示出不同的图案或区域。 实现方法 CSS的background-position属性可以让我们非常方便地实现按坐标取背景图。该属性用于设置背景图片的起…

    css 2023年6月9日
    00
  • 全面剖析CSS Position定位

    全面剖析CSS Position定位攻略 什么是CSS Position定位 CSS Position是一组属性,用于控制HTML元素的位置。它有四种属性值:static、relative、absolute和fixed。 static:默认值,元素按照正常的文档流进行排列 relative:相对定位,元素相对于其原来的位置进行定位 absolute:绝对定位…

    css 2023年6月10日
    00
  • jquery弹窗时禁止body滚动条滚动的例子

    请参考以下攻略,包含两个示例说明。 攻略 当使用jQuery弹出框或模态框时,为了确保用户集中精力处理弹出框中的信息,我们通常要禁止页面的滚动。 一种简单的解决方法是通过禁止body元素的滚动来实现。我们可以使用CSS和JavaScript来实现这一目的。 示例如下: 1. CSS方式: /* 禁止body元素滚动 */ body.modal-open { …

    css 2023年6月10日
    00
  • jQuery bt气泡实现悬停显示及移开隐藏功能的方法

    实现悬停显示及移开隐藏功能的方法,是前端开发中经常需要用到的一个交互效果。使用jQuery库可以很轻松地实现这一功能。下面我们将详细讲解使用jQuery bt气泡插件实现悬停显示及移开隐藏功能的方法。 一、引入jQuery库和bt气泡插件 在实现这一效果之前,需要先引入jQuery库以及bt气泡插件。可以通过以下代码在标签中引入: <head> …

    css 2023年6月10日
    00
  • 基于jQuery实现点击最后一行实现行自增效果的表格

    下面是详细的攻略。 1. 确定功能需求 根据题目需求,我们需要实现以下功能: 表格每一行拥有相同的内容和结构 点击表格的最后一行,表格会新增一行 除第一行外,每一行都有一个行号,点击最后一行时,新增的行号应该比前一行的行号大1 2. 编写HTML代码 根据功能需求,我们可以编写出最基本的HTML代码,如下所示: <table> <thead…

    css 2023年6月9日
    00
  • 详解CSS布局中浮动问题的四种解决方案

    详解CSS布局中浮动问题的四种解决方案 1. 清除浮动 清除浮动是解决浮动问题的最常见也是最简单的方法,常见的清除浮动方法包括: 1.1. 额外标签法 在浮动元素的末尾添加一个空元素,设置clear属性,即可清除浮动。示例代码如下: <div class="container"> <div class="box…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部