Skip to content

参考

基于 blog.codepen.io/documentation 2025–2026 现状编写

预处理器对照(data-lang

Prefill Embed 的 <pre data-lang> 与各面板预处理器一一对应:

类别现行 data-lang说明 / 备注
HTMLhtmlmarkdownpugpug 旧名 Jade
CSScssscsssasslessstyluspostcssscss 花括号 / sass 缩进
JSjsbabeltypescriptbabel 含 JSX(写 React)

已废弃的 data-lang

Classic 还接受 slimhaml(HTML)与 coffeescriptlivescript(JS),但这些预处理器在 CodePen 2.0 已废弃(低使用率)。新内容只用上表中的现行标识。

Prefill data-prefill 字段

外层 <div class="codepen" data-prefill='{...}'> 的 JSON 可选字段:

字段类型说明
titlestringPen 标题
descriptionstring(Markdown)描述
tagsstring[] / string标签
html_classesstring加到 <html> 上的 class
headstring(转义 HTML)注入 <head>,放 <meta>
stylesheetsstring / string[]外部 CSS 的 URL
scriptsstring / string[]外部 JS 的 URL

整个 data-prefill 必须是合法 JSON;值里的特殊字符要 HTML 编码(单引号 &#x27;)。每个 <pre> 可带处理选项,如 data-options-autoprefixer="true"

嵌入 data-* 属性(嵌入已有 Pen)

属性取值说明
data-slug-hashPen hash必填
data-user用户名作者
data-default-tabhtml / css / js / result(可组合)初始展示的 Tab
data-heightpx / 100%iframe 高度
data-theme-idlight / dark / 数字 ID主题
data-pen-titlestringPen 名
data-editabletrue / false可编辑嵌入(PRO

嵌入脚本域名

用途脚本 URL
经典嵌入(已有 Pen)https://cpwebassets.codepen.io/assets/embed/ei.js
Prefill / 新嵌入https://public.codepenassets.com/embed/index.js

两套别混用:用哪套占位写法就配哪套脚本。延迟加载用非 codepen 的自定义 class + window.__CPEmbed(".your-class") 手动触发。

URL 速查

操作URL
新建 Pencodepen.io/pen
Pen 页面codepen.io/<user>/pen/<hash>
直接 iframe 嵌入codepen.io/<user>/embed/<hash>
URL Extensions<pen-url>.css / .js / .html(取对应面板)
2.0 多文件取文件<pen-url>?file=/<path>
预处理器版本表codepen.io/versions
CodePen 2.0 入口codepen.io/beta
价格页codepen.io/pricing金额以此为准

文件大小口径(Classic Pen vs 2.0 多文件,别混)

CodePen 有两套截然不同的大小限制,取决于你用的是 Classic Pen 还是 2.0 多文件 Pen:

维度Classic PenCodePen 2.0 多文件 Pen
大小上限1MB / 100 万字符,超出禁用保存单个文本文件 ≤ 1MB媒体文件按 PRO 等级
相对路径不可用(资源须用完整 URL)可用/x.jpg./x.jpgx.jpg
多文件❌(仅 HTML/CSS/JS 三块)✅(文件 + 子文件夹,Pen 即根文件夹)

两套口径别张冠李戴

  • Classic Pen:整个 Pen 约 1MB / 100 万字符就禁存,且相对路径不可用。
  • 2.0 多文件 Pen:限的是单个文件——文本文件 ≤ 1MB、媒体文件按等级 5–15MB;相对路径可用。

「Classic 的 1MB」是整 Pen 总量,「2.0 的 1MB」是单文本文件,二者含义不同。

2.0 多文件数 / 媒体限额(按 PRO 等级)

等级文件数上限文本文件媒体文件
Free(免费)3≤ 1MB
Starter PRO50≤ 1MB5MB
Developer PRO150≤ 1MB10MB
Super PRO300≤ 1MB15MB

受保护文件(.codepen 文件夹、pen.config.json)与配置文件(prettier.config.jsonsass.config.json 等)不计入文件数

Asset Hosting 存储限额(PRO)

等级单文件总容量
Starter PRO5MB2GB
Developer PRO10MB10GB
Super PRO15MB20GB

支持几乎任意类型(图片 / CSS / JS / JSON / 音视频 / PDF / SVG),仅禁 .exe 及违反 ToS / 版权内容;上传后得默认 HTTPS 的托管 URL,图片可带参数做处理。

已废弃 / 被取代清单(2.0)

项目状态
Haml、Slim(HTML 预处理器)2.0 废弃
CoffeeScript、LiveScript(JS 编译器)2.0 废弃
Flutter、Professor Mode2.0 废弃
Projects(Classic 多文件编辑器)被 2.0 多文件 Pen 取代

写内容时把以上项目写成「已废弃 / 被取代」,不要当现行特性介绍。

易错点速记

  • 嵌入脚本两套域名别混用(见上)。
  • Prefill <pre> 内容必须 HTML 转义<&lt;)。
  • Classic Pen 相对路径不可用;2.0 多文件 Pen 可用。
  • Things We Strip:CodePen 出于安全会剥离某些标签 / 属性,写 demo 发现某段 HTML「消失」时查官方「Things We Strip」。
  • 价格 / Beta 状态会变:金额以 codepen.io/pricing 为准;2.0 仍是 Beta,弃用项可能随 Beta 推进调整。