<tr id="tp1vn"><td id="tp1vn"><dl id="tp1vn"></dl></td></tr>
  1. <p id="tp1vn"></p>
  2. <sub id="tp1vn"><p id="tp1vn"></p></sub>
    <u id="tp1vn"><rp id="tp1vn"></rp></u>
    <meter id="tp1vn"></meter>
      <wbr id="tp1vn"><sup id="tp1vn"></sup></wbr>
      日韩第一页浮力,欧美a在线,中文字幕无码乱码人妻系列蜜桃 ,国产成人精品三级麻豆,国产男女爽爽爽免费视频,中文字幕国产精品av,两个人日本www免费版,国产v精品成人免费视频71pao
      網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

      行業(yè)觀察|Pretext:前端排版的一次“去 DOM 化”嘗試,Cheng Lou 想重新定義文本布局

      0
      分享至


      前端世界里,有一個(gè)問題看起來很小,卻一直很難優(yōu)雅解決:我怎么在不把文字真正塞進(jìn) DOM、也不觸發(fā)布局回流的前提下,提前知道這段話會(huì)占多高、會(huì)斷成幾行、每一行會(huì)長什么樣?

      最近,前 React 核心成員、React Motion 作者、現(xiàn) Midjourney 工程師 Cheng Lou 開源了一個(gè)新項(xiàng)目Pretext,就是沖著這個(gè)老問題來的。它不是新的 CSS 框架,也不是富文本編輯器,而是一個(gè)更底層的能力:用 JavaScript/TypeScript 在 DOM 之外做多行文本測(cè)量與布局。

      如果說傳統(tǒng)網(wǎng)頁文本布局的邏輯大多掌握在瀏覽器排版引擎手里,那么 Pretext 做的事,可以理解為:把其中一部分“測(cè)量和換行”的能力,提取成一個(gè)開發(fā)者可調(diào)用的純計(jì)算過程。

      它到底解決了什么問題?

      在今天的 Web 開發(fā)里,如果你想知道一段文字最終有多高,最常見的辦法仍然是老三步:

      先把文字渲染進(jìn)頁面,再讓瀏覽器完成布局,最后通過getBoundingClientRect()、offsetHeight之類的 API 去讀結(jié)果。

      問題在于,這套方式雖然直觀,但代價(jià)不低。因?yàn)橐坏┠泐l繁插入文本、讀取尺寸、再調(diào)整布局,就很容易觸發(fā)瀏覽器的 reflow。放在少量元素上問題不大,可一旦進(jìn)入虛擬列表、瀑布流、聊天流、信息卡片墻這些高密度場(chǎng)景,性能和視覺穩(wěn)定性就會(huì)迅速變差。

      Pretext 的核心思路,是繞開這條路徑。它不依賴“先渲染,再測(cè)量”的 DOM 方案,而是基于 Canvas 的measureText()和一套自建的換行邏輯,在 JavaScript 里提前算出結(jié)果 。

      Pretext 的核心:把文本布局拆成 prepare 和 layout

      Pretext 最有代表性的設(shè)計(jì),是把文本處理拆成兩個(gè)階段。

      第一階段是prepare
      在這個(gè)階段,庫會(huì)對(duì)文本做一次性的準(zhǔn)備工作:規(guī)范空白字符、做文本分段、應(yīng)用一些粘連和換行規(guī)則,并借助 Canvas 去測(cè)量各個(gè)片段的寬度,然后把這些信息緩存起來。

      第二階段是layout。
      到了這一步,就不再重新測(cè)量文本,也不訪問 DOM,而是直接基于前面緩存下來的寬度數(shù)據(jù),做純計(jì)算式的換行和高度推導(dǎo)。換句話說,prepare 像預(yù)處理,layout 才是高頻熱路徑。

      這也是它性能上最關(guān)鍵的地方。項(xiàng)目倉庫給出的一個(gè)基準(zhǔn)快照顯示:在一組 500 段文本的測(cè)試?yán)铮?code>prepare()大約需要 19ms,而layout()只需要約 0.09ms 。
      這意味著如果只是容器寬度變化、窗口 resize、卡片重新排布,理論上你只需要重復(fù)執(zhí)行layout(),而不必重復(fù)做完整測(cè)量。

      為什么它會(huì)讓前端工程師興奮?

      因?yàn)樗龅降氖且粋€(gè)很基礎(chǔ)、但影響很大的點(diǎn):文本尺寸是很多 UI 布局的起點(diǎn)。

      比如虛擬列表。過去很多列表要么估高、要么先渲染后修正,因此容易出現(xiàn)滾動(dòng)跳動(dòng)和位置漂移。Pretext 的價(jià)值在于,它讓開發(fā)者有機(jī)會(huì)在文本真正進(jìn) DOM 之前,就先把每個(gè) item 的高度算出來,從而更穩(wěn)定地完成預(yù)排版。

      再比如聊天場(chǎng)景。對(duì)消息氣泡、AI 流式輸出、逐字增長內(nèi)容來說,文本長度一直在變化。如果每來一點(diǎn)內(nèi)容就重新觸發(fā) DOM 測(cè)量,成本會(huì)很高。Pretext 這種“預(yù)處理一次,后續(xù)高頻布局”的模式,會(huì)更適合這類實(shí)時(shí)場(chǎng)景 。

      它還有一個(gè)更有想象力的方向:手動(dòng)控制每一行文本。
      Pretext 不只是能告訴你“這段話有多高”,它還提供了layoutWithLines()walkLineRanges()layoutNextLine()這樣的 API,允許你拿到逐行結(jié)果,甚至給每一行指定不同的可用寬度。這意味著開發(fā)者可以做出更復(fù)雜的文字繞排、異形排版、多列布局,甚至讓文本圍繞圖片、曲線或動(dòng)態(tài)元素流動(dòng)。

      從官方演示也能看出,Pretext 想解鎖的并不只是“更快測(cè)高”,而是把瀏覽器里原本不太好做的高級(jí)文本布局,變成可編程能力。

      它和傳統(tǒng)排版系統(tǒng)有什么不同?

      Pretext 并不是要替代瀏覽器的完整文本渲染引擎。它目前瞄準(zhǔn)的是比較常見的一類文本場(chǎng)景,項(xiàng)目文檔明確提到,它主要針對(duì)類似下面這組默認(rèn)行為:

      • white-space: normal
      • word-break: normal
      • overflow-wrap: break-word
      • line-break: auto

      同時(shí)也支持pre-wrap這類保留空格、Tab 和換行的情況。

      這點(diǎn)很重要。因?yàn)樗f明 Pretext 不是“重新發(fā)明瀏覽器的一切文本排版”,而是在最常見、最工程化的文本布局需求里,拿出一套足夠快、足夠準(zhǔn)、足夠可控的方案。

      換句話說,它更像一個(gè)前端基礎(chǔ)設(shè)施庫,而不是一個(gè)視覺層組件庫。

      它為什么對(duì) AI 時(shí)代更有吸引力?

      Pretext 項(xiàng)目介紹里有一句很值得玩味:它使用瀏覽器自己的字體引擎作為 ground truth,迭代方式“very AI-friendly” 。

      這背后的意思是,Pretext 的輸入輸出關(guān)系非常清晰:
      給我一段文本、字體、寬度、行高,我返回高度、行數(shù)、每行內(nèi)容、起止游標(biāo)。這樣的接口對(duì)于 AI 代碼助手、生成式 UI 系統(tǒng)、自動(dòng)排版工具來說特別友好,因?yàn)樗烊贿m合被程序化調(diào)用。

      放在今天的產(chǎn)品趨勢(shì)里看,這件事很有現(xiàn)實(shí)意義。無論是 AI 生成頁面、自動(dòng)排版郵件、設(shè)計(jì)工具中的文本模塊,還是游戲 UI、Canvas/SVG 繪制系統(tǒng),它們都越來越需要一種不依賴真實(shí) DOM、但又足夠貼近瀏覽器文字行為的布局能力。Pretext 恰好卡在這個(gè)位置上 。

      Pretext 真有“幾百倍提升”那么夸張嗎?

      這里需要稍微冷靜一點(diǎn)。

      外部媒體很喜歡用“300 倍到 600 倍更快”這樣的標(biāo)題來描述 Pretext。這種說法不能說完全沒有依據(jù),但非常依賴測(cè)試口徑:你比較的是哪一部分流程,測(cè)的是一次性準(zhǔn)備還是高頻重復(fù)布局,場(chǎng)景是 10 段文本還是 500 段文本,是否包含真實(shí) DOM 插入與讀取成本,這些都會(huì)顯著影響結(jié)果。

      從官方資料來看,更穩(wěn)妥的表述應(yīng)該是:
      Pretext 把昂貴的文本測(cè)量工作前置并緩存,把后續(xù)高頻布局變成純算術(shù)過程,因此在“重復(fù) layout、多次 resize、批量文本預(yù)排版”這類場(chǎng)景里,有機(jī)會(huì)顯著快于傳統(tǒng) DOM 測(cè)量方案

      所以,與其說它神奇地“全面替代瀏覽器布局”,不如說它精準(zhǔn)擊中了一個(gè)長期性能痛點(diǎn)。

      它可能帶來什么行業(yè)影響?

      如果 Pretext 真的被更多項(xiàng)目采用,它的意義可能不只是一個(gè)工具庫。

      第一,它可能改變大家處理文本布局的習(xí)慣。
      過去很多前端團(tuán)隊(duì)默認(rèn)接受“文本高度只能靠 DOM 讀出來”,而 Pretext 提供了另一種思路:能不能在渲染之前先算?

      第二,它可能推動(dòng)更多“去 DOM 化”的 UI 基礎(chǔ)設(shè)施。
      一旦文本測(cè)量可以脫離 DOM,那么基于 Canvas、SVG、WebGL 的界面系統(tǒng)會(huì)更容易做;服務(wù)端預(yù)排版、邊緣渲染、跨端統(tǒng)一文本內(nèi)核這些方向,也會(huì)更值得探索 。

      第三,它可能反過來刺激瀏覽器生態(tài)。
      因?yàn)?Pretext 的流行,本質(zhì)上是在提醒業(yè)界:前端開發(fā)者其實(shí)一直缺少一種無副作用、可預(yù)測(cè)、排版前可調(diào)用的文本測(cè)量能力。如果這種需求持續(xù)放大,未來瀏覽器標(biāo)準(zhǔn)和原生 API 是否會(huì)補(bǔ)上這一層,值得觀察。

      結(jié)語

      Pretext 之所以值得關(guān)注,不只是因?yàn)樗?,而是因?yàn)樗|碰到了前端里一個(gè)非?!暗讓印钡膯栴}:文本布局到底能不能從瀏覽器黑盒里被部分拿出來,變成開發(fā)者自己掌控的計(jì)算過程?

      Cheng Lou 給出的答案是:可以,而且已經(jīng)能跑起來了。

      對(duì)于普通開發(fā)者來說,Pretext 可能首先是一個(gè)高性能文本測(cè)量庫;但從更長遠(yuǎn)看,它也許代表著一種新的前端思路——把原本依賴 DOM 才能知道的布局結(jié)果,提前變成可編程、可緩存、可組合的數(shù)據(jù)

      如果這個(gè)方向繼續(xù)成熟,未來很多看起來“只能靠瀏覽器現(xiàn)場(chǎng)決定”的排版問題,可能都會(huì)被改寫。

      *本文依據(jù)網(wǎng)絡(luò)搜集數(shù)據(jù)整理,由AI工具輔助完成
      All rights reserved. Copyright ? 2026


      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關(guān)推薦
      熱點(diǎn)推薦
      一年關(guān)閉1500家!中國大超市批量倒閉,內(nèi)行人道出實(shí)情!

      一年關(guān)閉1500家!中國大超市批量倒閉,內(nèi)行人道出實(shí)情!

      老特有話說
      2026-05-10 21:02:20
      楊得志卸任總參謀長,秘書提醒他:新總長比您資歷淺,不用去接機(jī)

      楊得志卸任總參謀長,秘書提醒他:新總長比您資歷淺,不用去接機(jī)

      橘子談歷史
      2026-05-11 06:21:48
      美國政壇要出大事了:萬斯大概率要當(dāng)選總統(tǒng)。

      美國政壇要出大事了:萬斯大概率要當(dāng)選總統(tǒng)。

      阿振觀點(diǎn)
      2026-04-21 05:22:52
      快遞員為救落水10歲小孩,弄濕岸邊富婆名牌包,富婆:賠我20萬!

      快遞員為救落水10歲小孩,弄濕岸邊富婆名牌包,富婆:賠我20萬!

      白云故事
      2025-10-09 14:55:03
      衡水中學(xué)的清北人數(shù)徹底崩了!巔峰期275人,跌至2025年的45人…

      衡水中學(xué)的清北人數(shù)徹底崩了!巔峰期275人,跌至2025年的45人…

      火山詩話
      2026-05-08 17:44:41
      7年敗光2億!鄒市明冉瑩穎共同發(fā)文:二人最終還是邁出了這一步!

      7年敗光2億!鄒市明冉瑩穎共同發(fā)文:二人最終還是邁出了這一步!

      拳擊時(shí)空
      2026-04-16 06:04:48
      35歲男星猝然離世,前妻發(fā)長文悼念:心都碎了

      35歲男星猝然離世,前妻發(fā)長文悼念:心都碎了

      熱搜摘要官
      2026-05-10 10:27:37
      慢慢讀懂馬龍,才懂一句現(xiàn)實(shí):
打江山和守江山,真的不是一回事

      慢慢讀懂馬龍,才懂一句現(xiàn)實(shí): 打江山和守江山,真的不是一回事

      小光侃娛樂
      2026-04-23 14:55:03
      歷史如此巧合?楊開慧雕像缺失的石料,竟是主席像的“另一半”!

      歷史如此巧合?楊開慧雕像缺失的石料,竟是主席像的“另一半”!

      珺瑤婉史
      2026-03-28 19:55:03
      高市早苗好狠:趕在特朗普訪華前,給了他一刀,連中國都沒想到!

      高市早苗好狠:趕在特朗普訪華前,給了他一刀,連中國都沒想到!

      通鑒史智
      2026-05-11 09:58:09
      張柏芝母親節(jié)曬母子4人照,8歲三胎兒子出鏡,小眼睛卻很帥氣

      張柏芝母親節(jié)曬母子4人照,8歲三胎兒子出鏡,小眼睛卻很帥氣

      黔鄉(xiāng)小姊妹
      2026-05-11 08:15:13
      韓國人對(duì)華好感度最新數(shù)據(jù)公布

      韓國人對(duì)華好感度最新數(shù)據(jù)公布

      揚(yáng)子晚報(bào)
      2026-05-10 15:52:55
      5月11日,人社部會(huì)公布2026年養(yǎng)老金調(diào)整通知嗎?社保制度優(yōu)化

      5月11日,人社部會(huì)公布2026年養(yǎng)老金調(diào)整通知嗎?社保制度優(yōu)化

      社保小達(dá)人
      2026-05-11 10:07:04
      西方終于服了?德媒:中國正在像當(dāng)年的美國一樣,悄悄接管世界

      西方終于服了?德媒:中國正在像當(dāng)年的美國一樣,悄悄接管世界

      奇葩游戲醬
      2026-05-08 14:16:40
      白鹿遭審判!《奔跑吧》最新收視率直接崩盤,網(wǎng)友要求她退出節(jié)目

      白鹿遭審判!《奔跑吧》最新收視率直接崩盤,網(wǎng)友要求她退出節(jié)目

      萌神木木
      2026-05-09 15:04:15
      快船抽中5號(hào)簽,祖巴茨交易換來新轉(zhuǎn)機(jī)

      快船抽中5號(hào)簽,祖巴茨交易換來新轉(zhuǎn)機(jī)

      競技風(fēng)云錄
      2026-05-11 08:16:26
      和售后斗智斗勇后,我發(fā)現(xiàn)80%燃?xì)庠罟收希伎梢酝ㄟ^兩根針解決

      和售后斗智斗勇后,我發(fā)現(xiàn)80%燃?xì)庠罟收?,都可以通過兩根針解決

      裝修秀
      2026-05-05 12:00:08
      泰國突然放大招!這條“陸橋”一旦建成,馬六甲海峽的噩夢(mèng)?

      泰國突然放大招!這條“陸橋”一旦建成,馬六甲海峽的噩夢(mèng)?

      華山穹劍
      2026-05-10 20:35:16
      江蘇一家瑞幸咖啡店開到村里面,網(wǎng)友評(píng)論區(qū)玩梗停不下來

      江蘇一家瑞幸咖啡店開到村里面,網(wǎng)友評(píng)論區(qū)玩梗停不下來

      瓜哥的動(dòng)物日記
      2026-05-11 00:16:43
      工資13500元/月(6險(xiǎn)2金+雙休)2026年編制單位面向社會(huì)公開招收427名工作人員公告!5月11日開始報(bào)名!

      工資13500元/月(6險(xiǎn)2金+雙休)2026年編制單位面向社會(huì)公開招收427名工作人員公告!5月11日開始報(bào)名!

      材料科學(xué)與工程
      2026-05-11 10:06:00
      2026-05-11 10:43:00
      創(chuàng)新文化促進(jìn)會(huì)
      創(chuàng)新文化促進(jìn)會(huì)
      組織開展中關(guān)村創(chuàng)新文化研究
      573文章數(shù) 38關(guān)注度
      往期回顧 全部

      科技要聞

      黃仁勛:你們趕上了一代人一次的大機(jī)會(huì)

      頭條要聞

      牛彈琴:美伊又談崩了 特朗普發(fā)飆美軍出動(dòng)數(shù)十艘軍艦

      頭條要聞

      牛彈琴:美伊又談崩了 特朗普發(fā)飆美軍出動(dòng)數(shù)十艘軍艦

      體育要聞

      那個(gè)曾讓詹姆斯抱頭的兄弟,40歲從大學(xué)畢業(yè)了

      娛樂要聞

      謝霆鋒沒想到,王菲靠張藝謀重返巔峰

      財(cái)經(jīng)要聞

      "手搓汽車"曝光:偽造證件、電池以舊代新

      汽車要聞

      全球化成國內(nèi)車企未來勝負(fù)手,誰是出海最強(qiáng)"水手"?

      態(tài)度原創(chuàng)

      時(shí)尚
      健康
      藝術(shù)
      公開課
      軍事航空

      輕松拿捏又甜又酷的造型,試試這些輕熟穿搭,溫柔有女人味兒

      干細(xì)胞能讓人“返老還童”嗎

      藝術(shù)要聞

      三位神經(jīng)科學(xué)研究者:年輕人的腦子太累了

      公開課

      李玫瑾:為什么性格比能力更重要?

      軍事要聞

      伊朗革命衛(wèi)隊(duì)深夜警告

      無障礙瀏覽 進(jìn)入關(guān)懷版 主站蜘蛛池模板: 极品尤物一区二区三区| 国产一区二区三区不卡视频| 无码少妇一区二区三区免费| 欧美 日韩 亚洲 精品二区| 亚洲中文精品一区二区| 色wwwww| 桃色五月天| 欧美激情一区二区成人| 久久精品aa| 777亚洲精品乱码久久久久久| 久久福利网| 凹凸在线无码免费视频| ,国产乱人伦无码视频| 精品国产自线午夜福利| 亚洲欧洲日韩国内高清| 国产蜜臀久久av一区二区| 精品a片| 亚洲中文欧美日韩在线人| 国产免费99久久精品| 国产欧美久久久另类精品| 福利精品| 亚洲综合精品| 亚洲视频在线a视频| 国产免费网站看v片元遮挡| 另类国产ts人妖高潮系列视频| 内射合集对白在线| 亚洲中文字幕无码专区| 国产精品女人在线观看| 国产天天操| 麻豆国产人妻欲求不满| 亚洲色图导航| 国产精品无码久久久久AV| 成年无码动漫av片在线尤物网站| 成av免费大片黄在线观看| 日韩一区二区三区北条麻妃| 五月天香蕉视频国产亚| 色偷偷色偷偷色偷偷在线视频| 亚洲国产婷婷综合在线精品| 一区二区三区福利午夜| 亚洲熟妇网| 熟女视频亚洲|