13、布局引擎与文件插值器:原理、实现与应用

布局引擎与文件插值器:原理、实现与应用

布局引擎相关内容

在布局引擎的测试中,有一系列关于包裹块的测试用例,如包裹单个单元块、大的块、一行两个能适配的块、一列两个块、行列网格且都能适配所在行的块、一行两个不能适配一行的块以及多个不能适配一行的块等,这些测试都成功通过,用时 10 毫秒。

这得益于里氏替换原则(Liskov Substitution Principle),该原则指出在程序中可以用派生类的对象替换基类的对象,而不会破坏程序的正常运行。新代码需要处理与旧代码相同的输入集合,其输出必须是旧代码输出的子集,以避免对下游产生意外影响。基于此原则衍生出的方法是契约式设计(design by contract)。

接下来探讨支持的 CSS 子集,要对包含文本的页面进行样式设计。HTML 的子集包含行、列和文本块,文本块的高度由行数决定,宽度由最长行的长度决定。行和列可以有属性,且每个属性必须有一个带引号的单值,行不再采用固定宽度,而是通过自定义的 CSS 子集来指定。

以下是相关的类定义:

export class DomBlock extends WrappedBlock {
    constructor (lines) {
        super(
            Math.max(... lines.split('\n ').map(line => line.length )),
            lines.length
        )
        this.lines = lines
        this.tag = 'te
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值