CSS Grid 和 Flexbox

2024-01-01 09:36
文章标签 css frontend grid flexbox

本文主要是介绍CSS Grid 和 Flexbox,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.使用示例

  1. CSS Grid:
    CSS Grid 是一种二维网格布局系统,可以用于创建复杂的网格布局。它允许你将元素放置到网格的行和列上,并通过设置网格属性来控制元素的位置和大小。

创建一个简单的 CSS Grid 布局,可以按照以下步骤进行:

a. 在父容器上应用 display: grid; 属性,将其设置为一个网格容器。
b. 通过设置 grid-template-columnsgrid-template-rows 属性来定义网格的列和行的大小和数量。
c. 使用 grid-columngrid-row 属性来指定元素在网格中的位置。

示例代码:

<div class="grid-container"><div class="item">Item 1</div><div class="item">Item 2</div><div class="item">Item 3</div>
</div>
.grid-container {display: grid;grid-template-columns: 1fr 1fr 1fr;grid-template-rows: 100px 100px;grid-gap: 10px;
}.item {background-color: #ddd;padding: 10px;text-align: center;
}

上述示例将会创建一个包含 3 列和 2 行的网格布局,每个网格项都会有相同的宽度和高度,并且它们之间有 10px 的间隔。

  1. Flexbox:
    Flexbox 是一种一维布局模型,用于创建灵活的布局和对齐方式。它使用 flex 属性和容器的主轴和交叉轴来控制元素的布局和对齐。

创建一个简单的 Flexbox 布局,可以按照以下步骤进行:

a. 在父容器上应用 display: flex; 属性,将其设置为一个 Flex 容器。
b. 使用 flex-direction 属性指定 Flex 容器的主轴方向。
c. 使用 justify-contentalign-items 属性来控制元素在主轴和交叉轴上的对齐方式。

示例代码:

<div class="flex-container"><div class="item">Item 1</div><div class="item">Item 2</div><div class="item">Item 3</div>
</div>
.flex-container {display: flex;flex-direction: row;justify-content: space-between;align-items: center;
}.item {background-color: #ddd;padding: 10px;text-align: center;
}

上述示例将会创建一个 Flexbox 布局,其中元素水平排列,并且它们之间有相等的间距。

2.属性

当涉及到更多的 CSS Grid 和 Flexbox 的属性时,以下是一些常用的属性和它们的说明:

CSS Grid 属性:

  1. grid-template-areas:定义网格布局中的区域。通过指定区域的名称,可以更方便地布局元素。

  2. grid-template-columnsgrid-template-rows:分别定义网格布局的列和行的大小和数量。可以使用长度单位、百分比、关键字(如 auto)或 fr 单位来指定大小。

  3. grid-columngrid-row:指定元素在网格中的位置。可以使用关键字(如 span)或数字来指定元素跨越的列或行的数量。

  4. grid-gap:定义网格项之间的间隔。可以使用长度单位或百分比来指定间隔的大小。

Flexbox 属性:

  1. flex-direction:定义 Flex 容器的主轴方向。可以是 row(水平方向)、column(垂直方向)、row-reverse(反向水平方向)或 column-reverse(反向垂直方向)。

  2. justify-content:控制 Flex 容器中元素在主轴上的对齐方式。可以是 flex-start(默认值,靠近主轴起点)、flex-end(靠近主轴终点)、center(居中对齐)、space-between(两端对齐,项目之间间隔相等)或 space-around(每个项目两侧的间隔相等)。

  3. align-items:控制 Flex 容器中元素在交叉轴上的对齐方式。可以是 flex-start(靠近交叉轴起点)、flex-end(靠近交叉轴终点)、center(居中对齐)、baseline(以第一行文字的基线对齐)或 stretch(默认值,拉伸以适应容器)。

  4. flex-growflex-shrinkflex-basis:这些属性用于控制元素在 Flex 容器中的伸缩行为。flex-grow 定义元素在可用空间中的放大比例,flex-shrink 定义元素在空间不足时的缩小比例,flex-basis 定义元素在没有放大或缩小时的基础大小。

这篇关于CSS Grid 和 Flexbox的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/558841

相关文章

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

python解析HTML并提取span标签中的文本

《python解析HTML并提取span标签中的文本》在网页开发和数据抓取过程中,我们经常需要从HTML页面中提取信息,尤其是span元素中的文本,span标签是一个行内元素,通常用于包装一小段文本或... 目录一、安装相关依赖二、html 页面结构三、使用 BeautifulSoup javascript

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

【 html+css 绚丽Loading 】000046 三才归元阵

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、源代码,上代码,可以直接复制使用🎥效果🗂️目录✍️

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06