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


Описание

Атрибут contenteditable позволяет сделать содержимое элемента <main> редактируемым прямо в браузере. Это глобальный атрибут, который может применяться к любому HTML-элементу, включая основной контейнер содержимого страницы.

Пример использования:
<main contenteditable="true"> <h1>Редактируемый заголовок</h1> <p>Вы можете изменить этот текст прямо в браузере.</p> <ul> <li>Редактируемый список</li> <li>Добавляйте или удаляйте элементы</li> </ul> </main>

Значения атрибута:

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

Особенности работы с <main>:

  • Изменения сохраняются только в браузере (не на сервере)
  • Для сохранения нужно использовать JavaScript
  • Поддерживает базовое форматирование текста
  • Может конфликтовать с некоторыми CSS-свойствами

Пример с сохранением содержимого:

<main id="editable-main" contenteditable="true"> <h1>Мои заметки</h1> <p>Редактируйте это содержимое...</p> </main> <button onclick="saveContent()">Сохранить</button> <script> // Загрузка сохраненного содержимого document.getElementById('editable-main').innerHTML = localStorage.getItem('savedContent') || '<h1>Мои заметки</h1><p>Редактируйте это содержимое...</p>'; function saveContent() { const content = document.getElementById('editable-main').innerHTML; localStorage.setItem('savedContent', content); alert('Содержимое сохранено!'); } </script>

Стилизация редактируемой области:

<style> main[contenteditable="true"] { border: 2px dashed #ccc; padding: 15px; min-height: 200px; } main[contenteditable="true"]:focus { border-color: #4CAF50; outline: none; } </style> <main contenteditable="true"> Наведите курсор и начните редактирование... </main>

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

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

Примечание: Хотя contenteditable предоставляет быстрый способ создать редактируемую область, для production-решений часто лучше использовать специализированные редакторы (TinyMCE, CKEditor и др.), которые предлагают больше возможностей и лучшую кросс-браузерную поддержку.