Атрибут contenteditable тега <article>


Описание

Атрибут contenteditable для тега <article> позволяет сделать содержимое статьи редактируемым прямо в браузере. Это полезно для создания интерактивных редакторов контента или быстрого прототипирования.

Пример использования:
<article contenteditable="true"> <h2>Редактируемый заголовок</h2> <p>Кликните и начните редактировать этот текст.</p> </article>

Допустимые значения:

Значение Поведение
true Разрешает редактирование содержимого
false Запрещает редактирование (по умолчанию)
inherit Наследует значение от родительского элемента

Рекомендации по использованию:

  • Важно: Всегда сохраняйте изменения через JavaScript, так как правки не сохраняются автоматически
  • Используйте для интерактивных учебных материалов или CMS
  • Сочетайте с spellcheck для проверки орфографии
  • Добавляйте визуальные стили для режима редактирования
  • Тестируйте на разных устройствах

Пример с сохранением изменений:

<article id="editable-article" contenteditable="true"> <h2>Редактируемая статья</h2> <p>Измените этот текст и нажмите сохранить.</p> </article> <button onclick="saveContent()">Сохранить</button> <script> function saveContent() { const content = document.getElementById('editable-article').innerHTML; localStorage.setItem('savedArticle', content); alert('Изменения сохранены!'); } </script>

Стили для режима редактирования:

<style> article[contenteditable="true"] { border: 2px dashed #ccc; padding: 15px; min-height: 200px; } article[contenteditable="true"]:focus { border-color: #4285f4; outline: none; } </style>

Ограничения и решения:

  • Форматирование сохраняется как HTML (используйте innerText для чистого текста)
  • Разные браузеры могут по-разному реализовывать редактирование
  • Для сложных редакторов используйте специализированные библиотеки

Совет: Для профессиональных редакторов контента рассмотрите использование таких библиотек как Quill, TinyMCE или CKEditor.

Важно: Не используйте contenteditable для критически важных данных без надежной системы сохранения изменений.

Примечание: Хотя contenteditable предоставляет базовые возможности редактирования, для сложных сценариев обычно требуются дополнительные JavaScript-библиотеки.