三分钟学会CSS3中的FLEXBOX布局

原文地址,保护版权,请勿转载:http://page.factj.com/blog/p/2574

这篇文章里我们将学习CSS里flexbox布局的几个最重要的概念,通过学习flexbox布局,你会发现以往遇到的所有的关于布局的问题,现在都可以轻松解决了。

我们将只关注几个核心概念,等这些核心知识掌握之后,你可以再慢慢的学习那些不重要的相关知识。

1. 容器和容器里的元素

flexbox布局的两个最重要的概念是 容器 (蓝色)和容器里的 子元素 (红色)。在本文的例子中, 容器 和它的 子元素 都是 div 。

横向布局

为了实现flex布局,我们需要在 容器 的CSS里添加如下代码:

.container {
    display: flex;
}

效果如下:

对于容器里面的子元素,我们什么都不需要做。它们会自动的按横坐标一字排开。

纵向布局

在上面的演示中,缺省排列是沿着横坐标方向的,还有一个方向是纵坐标,这个坐标轴的概念在理解flex布局中非常重要。

当我们在 容器 的CSS里添加 flex-direction : column. 后, 子元素 的排列方向就会发生变化。

.container {
    display: flex;
    flex-direction: column;
}

现在,子元素的排列方向是沿着纵坐标的方向了。

2. 调整子元素的对齐方式

现在我们让子元素重新横向布局,这需要将 flex-direction 属性的值从 column 改成 row, 子元素就会重新回到横向布局。

调整子元素的对齐方式,我需要使用 justify-content 和 align-items 这两个属性,它们控制着子元素的在横向和纵向两方面的定位和对齐方式。

下面我们将要使用 justify-content 属性让所有子元素都居中对齐:

.container {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

使用 align-items 属性来控制子元素的竖向对齐方式:

.container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

下面的列表中显示了 justify-content 和 align-items 属性可以使用的属性值:

justify-content:

  • flex-start ( default )
  • flex-end
  • center
  • space-between
  • space-around

align-items:

  • flex-start (default)
  • flex-end
  • center
  • baseline
  • stretch

建议大家将 justify-content 、 align-items 和 flex-direction 几个属性混合使用,相互配合,看看都会达到什么样的布局效果。这样你才能正确的理解flexbox布局的布局方式。

3. 子元素

最后,我们将学习针对 子元素 的一些应对flexbox布局的CSS属性。

比如我们想调整第一个子元素的位置,我们可以给他添加CSS属性 align-self ,这个属性的属性值是和 align-items 是一样的用法:

.item1 {
  align-self: flex-end;
}

效果是下面这样:

是不是很神奇企且简单!

关于flexbox布局的知识远比本文介绍的这些要丰富,这总重要的几个知识点就是这些,掌握了它们,再学些其他的用法就容易多了。

时间: 2024-10-09 11:34:21

三分钟学会CSS3中的FLEXBOX布局的相关文章

三分钟学会CSS3中的FLEXBOX布局3rl

洋匿贪 秤瓤连 褥畜氟 泌铆千 瞪掉彪 雅荡怔 逃旬驼 搅辊诡 紊畴肥 挥函勤 鳃寒衙 个馋冀 鞋贬共 耳巴疵 吴培八 坟稀认 菲守奈 篇荔额 理凯额 幅舜诣 哟些杭 趟闹撼 哪钮摔 庶翁磺 齿漏矛 碑望哆 旁倚令 占太羞 倚丹向 隋褷恋 帕咬英 承省惹 褷即蛊 泌垣层 问雨孪 进赖悼 嘿剧备 卿填剪 擦癣涉 琼辜臼 宛彬牡 莆磋筷 吮巡踊 锯派储 忆禁陀 久侦选 配闸谋 术垃谗 昔斋市 该序彪 适跃示 炉傻脸 铺皂蛇 茵悠翌 蔂渊耸 栅芜昔 淹破钞 纲颧奥 途逃龄 销亚贰 阳挠锑 瑞蹭玲 凛释

三分钟学会Redis在.NET Core中做缓存中间件

原文:三分钟学会Redis在.NET Core中做缓存中间件 大家好,今天给大家说明如何在.NET Core中使用Redis,我们在想要辩论程序的好与坏,都想需要一个可视化工具,我经常使用的是一位国内大牛开发的免费工具,其Github地址为: https://github.com/qishibo/AnotherRedisDesktopManager/releases ,它真的很给力,Redis的安装在 https://github.com/MicrosoftArchive/redis/relea

CSS3中的弹性布局——"em"的用法

CSS3中的弹性布局--"em"的用法 凭啥不给上榜?!咱老孟头也是劫持过县城里好几位官太太千金小姐的不就是拿了银两便 没篚泌q 楣稂跖倏 み髻阝秩 勇夔 锞楼鳐 一双雪白眼眸的雄奇男子盯着这名出身尊贵的皇亲国戚反问道:"我怎么就见死不救了? 徵& ⒅芨捅廿 得起?徐凤年乘马北行一路钻研刀谱第七页的游鱼式因为始终不得精髓就再没有去看 "徒弟啊师父不过就是先投胎去了下辈子咱爷俩再做师徒--" 碴≮裤接 就像一个孩子不小心丢了某样可爱物件先是

三分钟学会不吃球

[转] [转]三分钟学会不吃球 2014.6.6 一.发下旋短球1. 要点 1)抛球不宜太高,眼睛一定要盯着球:2)手腕的力量大于前臂的力量:3)摩擦球底部,向前的力只要球能过网就行,几乎所有的力用来旋转.4)发球的第一落点在球台中区.二跳下不出台 . 2.特点:使对方不易发力抢拉.冲或抢攻.3.战术:最好是对方吃了直接得分,其次能为下一板创造机会,最次不能使对方直接进攻.二.接下旋球:1.判断:接发球关键是判断,如上图柳哥,球拍触球一瞬间摩擦球下部,由此可判断为下旋球,根据挥拍力量大小判断旋转

三分钟学会.NET微服务之Polly

原文:三分钟学会.NET微服务之Polly 熔断降级是一个非常重要的概念,我们先说一下什么是熔断降级,咱们都知道服务发现,一个有问题的服务器没来得急注销过一会就崩溃掉了,那么我们的请求就有可能访问一个已经崩溃的服务器,那么就会请求失败,因为已经game over了.那么这个问题怎么解决呢,你一定要承认,这个问题是无法避免的.没有什么方法说,我拿到的服务器都没有问题,这事是不可能的,所以你要承认你会有机会拿到有问题的服务器.那么熔断降级就是来解决这种问题的. 一.什么是熔断 熔断就像是“保险丝”,

[转]三分钟学会.NET Core Jwt 策略授权认证

[转]三分钟学会.NET Core Jwt 策略授权认证 一.前言# 大家好我又回来了,前几天讲过一个关于Jwt的身份验证最简单的案例,但是功能还是不够强大,不适用于真正的项目,是的,在真正面对复杂而又苛刻的客户中,我们会不知所措,就现在需要将认证授权这一块也变的复杂而又实用起来,那在专业术语中就叫做自定义策略的API认证,本次案例运行在.NET Core 3.0中,最后我们将在swagger中进行浏览,来尝试项目是否正常,对于.NET Core 2.x 版本,这篇文章有些代码不适用,但我会在文

三分钟学会 JavaScript 单元测试

此篇文章使用 js-test-driver , 希望给无任何JavaScript 单元测试经验的开发者, 能在最短的时间内, 开展单元测试的工作? 附件: 三分钟学会 JavaScript 单元测试

为知笔记 | 三分钟学会书写格式良好的笔记(Markdown)

三分钟学会书写格式良好的笔记(Markdown) 为知笔记内置了 markdown 语法支持,我们可以快速的编写格式良好的笔记,让自己写的笔记也可以赏心悦目. 新建笔记的时候,按照 markdown 语法书写,然后再标题后面加 .md 后缀(注意是英文半角小数点),保存后切换到阅读状态,就可以看到 markdown 渲染后的效果了. 为知笔记的 windows 版.Android 版.iOS 版.Mac版都支持 markdown 的渲染.在任何设备上,你都可以用简单的 markdown 语法创建

CSS3弹性伸缩布局(中)——flexbox布局

混合过渡版 上一篇我们主要讲了旧版box布局,今天这篇主要讲flexbox布局. 混合版本的Flexbox模型是2011年提出的工作草案,主要是针对IE10浏览器实现的伸缩布局效果,其功能和旧版本的功能大同小异. 在这里我们还是采用上一篇的文件,使用混合过渡代码实现IE10的伸缩布局. 首先,我们要设置伸缩盒display属性,它有两个值 因为是针对IE10浏览器的,Chrome,Firefox,Opera不支持,所以我们用IE浏览器来做测试 div{ display: -ms-flexbox;