HTML contenteditable 全局属性
Baseline 广泛可用 *
contenteditable 全局属性是一个枚举属性,用于指示元素是否应由用户编辑。如果可以编辑,浏览器将修改其小部件以允许编辑。
试一试
<blockquote contenteditable="true">
<p>Edit this content to add your own quote</p>
</blockquote>
<cite contenteditable="true">-- Write your own name here</cite>
blockquote {
background: #eeeeee;
border-radius: 5px;
margin: 16px 0;
}
blockquote p {
padding: 15px;
}
cite {
margin: 16px 32px;
font-weight: bold;
}
blockquote p::before {
content: "\201C";
}
blockquote p::after {
content: "\201D";
}
[contenteditable="true"] {
caret-color: red;
}
值
该属性必须取以下值之一:
true或空字符串,表示元素是可编辑的。false,表示元素不可编辑。plaintext-only,表示元素的纯文本可编辑,但富文本格式被禁用。
如果属性未赋值,例如 <label contenteditable>Example Label</label>,则其值被视为空字符串。
如果此属性缺失或其值无效,则其值将从其父元素继承:因此,如果父元素可编辑,则该元素也可编辑。
请注意,尽管其允许的值包括 true 和 false,但此属性是一个枚举属性,而不是布尔属性。
您可以使用 CSS caret-color 属性来设置用于绘制文本插入插入符的颜色。
通过使用 contenteditable 属性而变得可编辑(因此具有交互性)的元素可以获得焦点。它们参与顺序键盘导航。但是,嵌套在其他 contenteditable 元素中的带有 contenteditable 属性的元素默认不会添加到制表符序列中。您可以通过指定 tabindex 值(tabindex="0")将嵌套的 contenteditable 元素添加到键盘导航序列中。
如果内容被粘贴到 contenteditable="true" 的元素中,则所有格式都会保留。如果内容被粘贴到 contenteditable="plaintext-only" 的元素中,则所有格式都会被移除。
示例
将内容粘贴到 contenteditable 中
此示例有两个带有 contenteditable 的 <div> 元素,第一个值为 true,第二个值为 plaintext-only。复制下面的内容并粘贴到每个 div 中,以查看其效果。
HTML
html
<h2>Pasting areas</h2>
<section class="pasting">
<div class="wrapper">
<h3>contenteditable="true"</h3>
<div contenteditable="true"></div>
</div>
<div class="wrapper">
<h3>contenteditable="plaintext-only"</h3>
<div contenteditable="plaintext-only"></div>
</div>
</section>
规范
| 规范 |
|---|
| HTML # attr-contenteditable |
浏览器兼容性
加载中…