漫漫前端之路CSS布局(下)

新的一周开始了,冷风吹得人懒洋洋不想动弹.趁着总结iOS新特性之前继续学习CSS布局。


Absolute

绝对布局,破坏了流结构,会直接覆盖在其他流结构布局元素上。

position:absolute;
① 未设置left right bottom top时,位置不变只不过流结构中不会保留该元素的区域。
Absolute布局
②设置left right bottom top时,会相对父元素(非static)进行绝对布局

举个例子: top = 0并不是屏幕的y = 0的位置,而是父视图中 y = 0的位置

  • 设置两个值(如left和top、bottom和right)
Absolute布局
  • 设置三个值(如left、top和right)
Absolute布局
  • 设置四个值
Absolute布局

上文中有一个重点,绝对布局是相对于父元素(非static)而言的,举个例子: 当父视图的高度 > 屏幕的高度

position: absolute;
① 父元素position: static ,那么该absolute子元素相对于屏幕布局
image
②父元素position:relative,那么absolute子元素相对于父元素布局
image

Position: fixed

在未滑动的状态下设置left right top bottom 的效果和absolute一致,但是不管什么情况下这四个值都是相对于屏幕而言。

Position: sticky

元素在保留在流结构中的位置,当滑动到距离 top left right bottom设置的值时,便会停止在该位置,如同当滚动到某个位置时,某个view会悬停到某个位置不动的效果。在页面中设置多个sticky元素时,下面为sticky的元素会从上面盖过上面元素的效果:

Position: sticky
静止状态
Position: sticky

Section B(sticky)滑动靠近顶部时

① 当同时设置了top = 0px 和bottom = 0px,并不会和fixed一样覆盖整个父视图的区域,而是在该view信息流中的y位置进入屏幕前使用bottom = 0px,固定在底部:
Position: sticky
② 在信息流中的y位置进入屏幕时,滚着滚动,直到满足top = 0px
Position: sticky

grid 网格布局

和flex弹性布局不同的地方是通过画格子的方式能快速的进行二维空间布局。

grid-template-columns

默认为一列,通过设置该属性值设置尺寸,判断每行的column数。通过数值和百分比进行布局时:

① 当只有一个值时,如40%

② 当设置多个值时,且总和不超过屏幕宽度,如 40% +60% = 100%

③ 当设置多个值时,总和超过屏幕的宽度,窗口可横向滑动,如40% + 60% + 40% = 140%

使用弹性单位fr,可以按比例分配容器的大小。

总共分成4份,第一列占1份,第二列占2份

使用关键字auto,会填满容器的可用空间:

但是对于设置弹性单位fr,则会默认为auto的列设置文本的宽度:

对齐方式

① justify-items: grid-item在布局区域水平方向左右对齐方式

②justify-content:给content items在水平方向分配空间

和flex相似,space-around: item间距是边距的2倍;space-evenly: 间距和边距一致。

③ justify-self: 修改某个item在水平方向上的对齐方式。效果和justify-items一样,只不过是针对某个item而言

在竖直方向上,实现以上的效果,只需要将justify替换成align

align-items 、align-content 、 align-item

④ place-content: align-content 和justify-content的缩写(注意顺序!!)。可同时设置水平和垂直方向content的对齐方式

place-content: start end;

⑤place-items: align-items 和justify-items的缩写(注意顺序!!)。可同时设置水平和垂直方向items的对齐方式

Flex 布局缩放因子Flex-shrink 和Flex-grow计算

三个元素宽度分别为 200px 300px 400px,缩小因子分别为: 1 2 3

容器宽度为800px

所以这时候因为会缩小各个flex-shrink != 0的元素。之前错误的理解是:

而正确的理解为:

①当flex-shrink的总和 > 1时,表示要缩放整个超出的部分

②当flex-shrink的总和 < 1 时,表示只是缩放(超出部分 * flex-shrink)的部分

具体可参考:Flex弹性布局缩放因子探究


按照前端学习流程,下一步就进入了JS相关的学习了[撒花]


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341