手把手教你CSS Flex布局

4 篇文章 0 订阅

前言

之前做项目,关于布局方面没怎么深入研究过,好多页面都是能用定位就用定位,能用百分比就用百分比,导致很多地方,看似对齐了,但是就很别扭,这几天又被一个布局折磨了很久。于是痛定思痛,总结一下自己思想上的问题。

自己之前没把 CSS 的相关问题当回事,心里总是理所应当的认为,样式什么时候用到随便百度一下就行,这种想法的后果就是,页面风格很僵硬,不同分辨率的显示器适配很差,写页面的时候,也很莫名其妙,明明我写了某个样式,就是没效果,到头来还是自己跟自己过不去。

感觉跟我有一样想法的同学肯定不少,不过不要紧,知错能改,善莫大焉。先从 Flex 开始,把布局给整明白,能解决一大堆样式麻烦。

1.基本原理

Flex 英文意思为,弯曲,屈伸,可以伸缩的布局,天生就是为了适配不同的分辨率。而且用法也很简单,首先只要告诉浏览器,我是一个伸缩布局就可以了。

.faBox {
	display: 'flex'; //给父元素设置为伸缩布局

	.sonBox1 {
		...
	}
	.sonBox2 {
		...
	}
}

设置完 Flex 之后,就会有下面的这个关系图,我们一个一个看。

2.容器属性

谁被设置成了 display: flex; ,谁就是容器。上面图中,faBox 就是容器,所以容器属性要写在容器属性里面。

2.1 flex-direction 属性

从英语意思了解属性,翻译为伸缩方向,该属性可以设置主轴的方向,有六个值。

.faBox {
  flex-direction: row | row-reverse | column | column-reverse | initial | inherit;
}

上面前四个属性分别对应以下四种情况

flex-direction 还有两个可能的取值,initial 和 inherit 根据英文意思可知。

initial 意为“最初的”,是 CSS 提供的关键字,很多地方都能使用,可以快速设置某个属性的默认值,方便快捷。

inherit 意为“继承”,可以从父元素中继承该属性。

2.2 flex-wrap 属性

根据中文意思来判断,这个东西应该是控制换行的。

.faBox{
  flex-wrap: nowrap | wrap | wrap-reverse;
}

2.3 flex-flow 属性

该属性是 flex-wrap 和 flex-direction 的简写方式。

.faBox{
  flex-flow: <flex-direction> || <flex-wrap>;
}

2.4 justify-content 属性

该属性负责主轴的对齐方式。

.faBox{
  justify-content: flex-start | flex-end | center | space-between | space-around;
}

2.4 align-items 属性

该属性负责交叉轴的对齐方式(垂直居中靠它来实现,很容易,面试常考题)。

2.5 align-content 属性

设置多根主轴时候的对齐方式,如果只有一条轴线,不起作用。

.faBox{
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}

3.项目属性

3.1 order 属性

order 英文意思秩序,该属性可以设置项目的排列顺序,从小到大。

.sonBox1{
    order: <integer>;
}

3.2 flex-grow 属性

定义项目的放大比例,默认 0 ,不参与放大。

.sonBox1{
   flex-grow: <number>; /* default 0 */
}

3.3 flex-shrink 属性

定义项目缩放。

.sonBox1{
   flex-shrink: <number>; /* default 1 */
}

3.4 flex-basis 属性

属性定义了在分配多余空间之前,项目占据的主轴空间。

.sonBox1{
   flex-shrink: <number>; /* default 1 */
}

3.5 flex 属性(推荐)

  flex-grow,flex-shrink 和 flex-basis 的简写。
.sonBox1{
   flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}

3.6 align-self 属性

可给子元素设置单独的对齐方式。 auto 的时候是继承父元素的 align-item

.sonBox1{
   align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本书针对当前各大it企业面试笔试中常见的问题以及注意事项,进行了深层次的分析。本书除了对传统的计算机相关知识(c/c++、数据结构与算法、操作系统、计算机网络与通信、软件工程、数据库、智力题、英语面试等)进行介绍外,还根据当前计算机技术的发展潮流,对面试笔试中常见的海量数据处理进行了详细的分析。同时,为了更具说服力,本书特邀多位it名企面试官现身说法,对面试过程中求职者存在的问题进行了深度剖析,同时本书引入了一批来自于名牌高校、就职于明星企业的职场达人的真实求职案例,通过他们的求职经验与训,抛砖引玉,将整个求职过程生动形象地展示在读者面前,进而对求职者起到一定的指引作用。本书也对各种类型的it企业的招聘环节进行了庖丁解牛式的分析,帮助求职者能够更加有针对性地 进行求职准备。 本书是一本计算机相关专业毕业生面试笔试的求职用书,同时也适合期望在计算机软硬件行业大显身手的计算机爱好者阅读。 程序员面试笔试宝典 目录 前言 上篇 面试笔试经验技巧篇 第1章 面试官箴言 2 第2章 面试心得交流 9 第3章 企业面试笔试攻略 20 第4章 面试笔试技巧 42 第5章 英文面试攻略 82 第6章 智力题攻略 102 下篇 面试笔试技术攻克篇 第7章 程序设计基础 122 第8章 数据库 240 第9章 网络与通信 254 第10章 操作系统 270 第11章 软件工程 278 第12章 发散思维 289 第13章 数据结构与算法 295 第14章 海量数据处理 390

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值