align-item和align-self的区别?

来源:3-2 项目作业

陈立天

2020-09-15 16:08:49

为什么用align-items:center 垂直居中不了

http://img.mukewang.com/climg/5f6076730977420333351507.jpg

写回答

4回答

好帮手慕慕子

2020-09-15

同学你好,整体思路就是使用定位让元素固定在一个位置上,然后通过给里面的元素添加overflow:auto;属性,实现内容超出滚动。

以源码为例,解析这部分功能实现的思路如下:

使用绝对定位,结合top等属性,让menu-inner盒子高度为当前屏幕剩余的空白区域(即:不包含nav和tab-abr区域)。然后添加的overflow:hidden;属性,超出范围的内容就隐藏起来了。

http://img.mukewang.com/climg/5f609b76099b0cd114650856.jpg
menu-inner下的子元素left-bar和right-content下right-list元素设置了overflow:auto,内容超出就会出现垂直方向的滚动条,实现内内容的滚动。

http://img.mukewang.com/climg/5f609c0d0932930814710761.jpg

http://img.mukewang.com/climg/5f609c8b0989bd9113910702.jpg

同学可以结合源码理解一下

截图中黄色的被盖住了,老师测试源码没有这种情况,建议同学新建提问,将你写的完整直接粘贴过来,老师针对同学的代码进行测试,帮助同学准确的定位与解决问题,祝学习愉快~

0

陈立天

提问者

2020-09-15

还有就是把这个黄色的也盖住了

http://img.mukewang.com/climg/5f609a8209d9cab506150340.jpg

0

陈立天

提问者

2020-09-15

老师能解答一下这个什么功能实现定位的么? 开始我我发现自己写的页面滚动会把header-tab也拖动不见了 要加上这个 那么这个什么原理?

http://img.mukewang.com/climg/5f60966309863b3734661486.jpg

0

好帮手慕慕子

2020-09-15

同学你好, 对于你的问题解答如下:

1、 align-item和align-self的区别如下:

(1)align-item是设置在弹性盒子上,针对弹性盒子在所有的项目元素有效。示例:

http://img.mukewang.com/climg/5f60845709f629d605960836.jpg

弹性盒子下的所有项目都垂直居中了。

http://img.mukewang.com/climg/5f60845d09455fe408320131.jpg

(2)align-self是设置在项目元素上的,针对的是单个元素有效。示例:

http://img.mukewang.com/climg/5f60847a0945223906160830.jpg

只有第一个项目垂直居中了

http://img.mukewang.com/climg/5f60848b091f24d908460122.jpg

2、同学截图的代码中,item-text元素属于弹性盒子下的项目元素,不可以使用align-items属性,只能使用align-self属性,所以需要通过align-self属性设置居中。

如果还有疑问,可以提交作业,备注上你的问题,批作业的老师会针对你的完整项目测试,给出解决方案。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 6815 问题

查看课程