【问题标题】:Why is contenteditable not a style?为什么 contenteditable 不是一种风格?
【发布时间】:2012-04-20 08:57:15
【问题描述】:

我最近在网页中摆弄contenteditable,当我需要用它设置大量span 标记时感到恼火(我最终使用JavaScript 来做这件事)。要是我能通过 CSS 设置就好了……

有人知道为什么contenteditable 被设计为属性而不是样式的原因吗?

【问题讨论】:

  • 您可以在跨度周围放置一个div 并给出div contentEditable,因为contentEditable 被继承下来,所有的apans 也都是可编辑的。
  • 我不希望编辑在每个 span 元素之外“溢出”。
  • 为了使用 contentEditable,您需要 javascript 来回读编辑后的内容,所以我不明白为什么使用它来启用编辑会打扰您。跨度>

标签: html css contenteditable


【解决方案1】:

大多数人会争辩说,contentEditable 定义了行为,而不是风格(这是真的)。​​

WebKit 有一个类似于 contentEditable 的 CSS 属性:-webkit-user-modify

【讨论】:

    【解决方案2】:

    试试

    span {
        -webkit-user-modify: read-write;
        -moz-user-modify: read-write;
        user-modify: read-write;
    }
    

    它适用于 Firefox、Chrome。你可以找到更多关于user-modify的信息

    【讨论】:

      【解决方案3】:

      用户编辑或不编辑某些内容的能力与演示无关。

      【讨论】:

        【解决方案4】:

        样式是可选的;你可以(理论上)在没有 CSS 的情况下渲染每个页面,它应该仍然可以正常工作。事实上,这就是许多纯文本浏览器或纯音频浏览器所做的。

        contentEditable 改变元素的行为。不使用样式但解释 JavaScript 的浏览器仍应受益于该属性。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-05
          相关资源
          最近更新 更多