获得徽章 6
- 【Toki的前端学习小记】BFC 原理:昨天对面的同事问了一个样式的问题,同样的样式作用在一个 for 渲染出来的元素和手写出来的元素出现了不同的效果,具体表现为边距变大。后面经过了解发现了这是一个跟 BFC 相关的问题,于是学习了这个相对陌生的概念。
简单总结一下链接文章的内容:
💡BFC 的概念:BFC 即 Block Formatting Contexts (块级格式化上下文),具有 BFC 特性的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器所没有的一些特性。
💡触发 BFC 的方式:
① body元素;
② 浮动元素:float 除 none 以外的值;
③ 绝对定位元素:position(absolute、fixed);
④ display 为 inline-block、table-cells、flex;
⑤ overflow 除 visible 之外的值(hidden、auto、scroll)
💡BFC 的特性和应用:
① 同一个 BFC 下的元素外边距(margin)会折叠,如果想要避免外边距的重叠,可以将其放在不同的 BFC 容器中;
② BFC 可以包含浮动元素,参考链接的例子理解;
③ BFC 可以阻止元素被浮动元素覆盖(元素中的文本信息默认不会被浮动元素覆盖),此特性可以用来实现两列自适应布局(例如:左边固定,右边自适应宽度)。展开22 - x86 架构的实模式与保护模式的区别在于,在实模式下,CPU 的寻址方式为:直接从段寄存器中获取内存地址,称为「基址」,然后将基址左移 4 位(即乘以 16),再加上通用寄存器中的偏移量,就得到了它要访问的内存地址;而在保护模式下,CPU 的寻址方式为:段寄存器中的基址被放到了内存中某个地方,类似于一个表格,表格中的每一项是一个基址,叫做「段描述符」,段寄存器中保存的是在这个表格中的哪一项,称为「选择子」,CPU 先是从段寄存器中获取选择子,然后去内存中找到对应的基址,然后再用这个基址加上偏移量,才最终得到了它要访问的内存地址。
简单点来说,实模式是直接寻址,保护模式是间接寻址。
或许 x86 架构在设计实现上不如 ARM 或者 MIPS 优雅,但是就因为它推出的早,所以迅速占领了市场,再加上其完全向前兼容的优势(到现在为止,即使最新的 x86 CPU,一开始在电源打开处于实模式下,也能够运行针对先前任何芯片所撰写的软件),使得服务器和 PC 领域成为 x86 架构的天下。展开43 - 大家好,分享一个我做的开源项目LikeShop-100%开源免费商用电商系统。
PC、H5、小程序、安卓APP、苹果APP端商城,全部开源啦。
包括三级分销、拼团、秒杀、砍价、优惠券、会员签到、大转盘抽奖等等模块。
LikeShop用到了ThinkPHP、Vue、React Natvie、原生小程序、websocket、Redis等前沿技术。
免费商用,不管是学习还是接活都是一把利器,一定要来看看啊。
码云Gitee下载地址:gitee.com
展开评论21