惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Webroot Blog
Webroot Blog
AI
AI
P
Palo Alto Networks Blog
Attack and Defense Labs
Attack and Defense Labs
WordPress大学
WordPress大学
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
Spread Privacy
Spread Privacy
T
Tor Project blog
罗磊的独立博客
小众软件
小众软件
S
Security Affairs
酷 壳 – CoolShell
酷 壳 – CoolShell
量子位
Apple Machine Learning Research
Apple Machine Learning Research
T
Threatpost
NISL@THU
NISL@THU
博客园_首页
PCI Perspectives
PCI Perspectives
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
N
News and Events Feed by Topic
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Forbes - Security
Forbes - Security
博客园 - 叶小钗
D
Darknet – Hacking Tools, Hacker News & Cyber Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
L
LINUX DO - 热门话题
T
Threat Research - Cisco Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
腾讯CDC
Security Latest
Security Latest
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
The Cloudflare Blog
A
About on SuperTechFans
爱范儿
爱范儿
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
TaoSecurity Blog
TaoSecurity Blog
宝玉的分享
宝玉的分享
G
GRAHAM CLULEY
雷峰网
雷峰网
F
Full Disclosure
I
Intezer
Cloudbric
Cloudbric
博客园 - 三生石上(FineUI控件)
U
Unit 42

Recent Commits to css-houdini-drafts:main

[css-properties-values-api] Use relevant global realm, not current. A… Remove leftover merge conflict marker (#1173) · w3c/css-houdini-drafts@bfc9454 Update all api.csswg.org/bikeshed URLs to reference spec-generator (#… · w3c/css-houdini-drafts@15d0412 Reflect master=>main branch renaming in internal hyperlinks Add versioned URL aliases and legacy redirects · w3c/css-houdini-drafts@acae9ee Fix build failure when no Overview.html files exist (#1166) · w3c/css-houdini-drafts@86359e0 Add GitHub Pages autopublishing workflow (#1165) [font-metrics-api-1][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@0b7adca [css-properties-values-api-1][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@a1eb191 Added .vscode to .gitignore · w3c/css-houdini-drafts@090cd24 [box-tree-api-1][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@17fcaf6 [css-typed-om-2][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@eb196d6 [css-typed-om-1][editorial] Fixed Bikeshed issues [css-layout-api-1][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@79124e7 [css-animation-worklet-1][editorial] Fixed Bikeshed issues · w3c/css-houdini-drafts@6c343e6 [css-typed-om-1] Correct a couple of typos (#1150) · w3c/css-houdini-drafts@8172261 [css-typed-om-1] Correct `this` type in StylePropertyMapReadOnly meth… · w3c/css-houdini-drafts@8f910ae [css-typed-om] Use undefined for setters. (#1143) · w3c/css-houdini-drafts@aafb3d5 [css-typed-om] Add missing steps to reify oklab() and oklch() https:/…
[css-layout-api][explainer] add mandatory intrinsicSizes function (#1… · w3c/css-houdini-drafts@a8b415e
ggrossetie · 2026-03-04 · via Recent Commits to css-houdini-drafts:main

@@ -66,6 +66,7 @@ below. You should read the code below with its explanatory section.

66666767

```js

6868

registerLayout('centering', class {

69+

async intrinsicSizes() {}

6970

async layout(children, edges, constraints, styleMap) {

7071

// (1) Determine our (inner) available size.

7172

const availableInlineSize = constraints.fixedInlineSize - edges.inline;

@@ -229,6 +230,7 @@ registerLayout('style-read', class {

229230

static inputProperties = ['--a-number'];

230231

static childInputProperties = ['--a-string'];

231232233+

async intrinsicSizes() {}

232234

async layout(children, edges, constraints, styleMap) {

233235

// We can read our own style:

234236

styleMap.get('--a-number').value === 42;

@@ -307,13 +309,14 @@ We pass the `BreakToken` to add back into the `layout()` call in order to produc

307309

registerLayout('basic-inline', class {

308310

static layoutOptions = {childDisplay: 'normal'};

309311312+

async intrinsicSizes() {}

310313

async layout(children, edges, constraints, styleMap) {

311314

// Determine our (inner) available size.

312315

const availableInlineSize = constraints.fixedInlineSize - edges.inline;

313316

const availableBlockSize = constraints.fixedBlockSize !== null ?

314317

constraints.fixedBlockSize - edges.block : null;

315318316-

const constraints = {

319+

const childConstraints = {

317320

availableInlineSize,

318321

availableBlockSize,

319322

};

@@ -327,11 +330,14 @@ registerLayout('basic-inline', class {

327330

// Layout the next line, the produced line will try and respect the

328331

// availableInlineSize given, you could use this to achieve a column

329332

// effect or similar.

330-

const fragment = await child.layoutNextFragment(constraints, childBreakToken);

333+

const fragment = await child.layoutNextFragment(childConstraints, childBreakToken);

331334

childFragments.push(fragment);

332335333336

// Position the fragment, note we could do something special here, like

334337

// placing all the lines on a "rythmic grid", or similar.

338+

||||||| parent of a2dd8db ([css-layout-api][explainer] add mandatory intrinsicSizes function)

339+

// Position the fragment, note we coulld do something special here, like

340+

// placing all the lines on a "rythimic grid", or similar.

335341

fragment.inlineOffset = edges.inlineStart;

336342

fragment.blockOffset = blockOffset;

337343

@@ -409,6 +415,7 @@ We can make our children fragment by passing them a constraint space with a frag

409415410416

```js

411417

registerLayout('special-multi-col', class {

418+

async intrinsicSizes() {}

412419

async layout(children, edges, constraints, styleMap, breakToken) {

413420

for (let child of children) {

414421

// Create a constraint space with a fragmentation line.

@@ -435,6 +442,7 @@ We can also allow our own layout to be fragmented by respecting the fragmentatio

435442436443

```js

437444

registerLayout('basic-inline', class {

445+

async intrinsicSizes() {}

438446

async layout(children, edges, constraints, styleMap, breakToken) {

439447440448

// We can check if we need to fragment in the block direction.