CSS 的基本渲染逻辑 1

前言

本文主要总结最近学习css的内容

浏览器default CSS

如果我们在html文件中不设置任何css, 那么在chrome, a tag的css如下

a {
  color: -webkit-link;
  cursor: pointer;
  text-decoration: underline;
}

Chrome default CSS rule 参考这里

CSS中的继承

一部分的css属性是可以继承, 它们大多数跟排版相关, 比如color,
font-size, text-shadow . 具体可以参考这里

这个继承跟class中的继承比较类似, 有属性override的functionality

盒子模型

content: 内容
padding: 内容跟边框的距离
border: 边框
margin: 盒子跟盒子的距离

可以把盒子模想象为画框
FBaa-JXdnu-Skv-Ox1n-B0-CB-jpg

Padding

padding是内容跟边框的距离, 也可以想象成是一种inner space

Border

就是边框, 注意有radius的属性

Margin

Margin是element之间的距离

  1. Margin可以为负
  2. Auto margins, 会把能填的内容都填满
    24-FFC415-9-F58-4-DAE-9-BC4-CC76-CEB6-E5-AC

Flow Layout

浏览器的默认Layout就是Flow的layout, 在这个layout的mode中, display的可以为inline, block, inline-block

Inline元素不能设置后者大小

strong {
  height: 2em;
}

上面是无用的

Block元素不会共享
比如div元素会把宽占满

30-D018-A7-DAAC-464-A-AF23-7-B2-C505-EC75-E

这个问题可以通过fit-content来解决

inline-block是有inline属性的block

inline-block-links

Width 的计算逻辑

对于block元素, 比如h1, p 这些元素会把这个space占满

min-content

Content会以最小的方式占屏
E2-E7-B3-DC-A3-BA-43-CD-9-A2-F-B66860042-D55

max-content

Content会以最大的方式占屏. 但是如果内容不够, 也不会多占
FBE542-C1-623-E-423-C-AC01-DE3149259126

fit-content

可以理解成刚刚好
111-FA81-E-B868-431-A-BD60-AD3-C76629-ED8

Min and max widths

定义最小/最大的width

使用了 max widths, 就可以把Card元素的width定义好, 不会被拉伸

Height的计算逻辑

对于block元素来说, height的默认逻辑就是越小越好.

如果height是fixed的, 比如100px就有可以出现overflow

95538703-3577-490-B-8-B52-F5476-DE06337

height tends to look “down” the tree, to determine its size based on the natural size of its contents, while width tends to look “up” the tree, basing its size on the space made available by the parent.

总结

本文总结了 css的基本逻辑以及Flow Layout的使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值