Я работаю над текстовым редактором на основе contenteditable
DIV. Я хотел бы получить действительный HTML5, но столкнулся с проблемами со вложенными списками.
Следующие два примера форматирования, кажется, невозможно создать с использованием допустимого HTML5, поскольку они потребуют вложения элемента <ul>
в качестве прямого потомка родителя <ul>
:
Сценарий 1: пустой родительский элемент
●
○ вложенный элемент с пустым родительским элементом
Сценарий 2: вложенный элемент без родительского элемента списка
○ вложенный элемент без родителя
Я читаю { ссылка } и в соответствии с элементами HTML spe c, <ol>
и <ul>
должен содержать только элементы <li>
, но не другие элементы <ol>
и <ul>
.
Однако возможно создать такое форматирование внутри contenteditable
DIV (см. jsbin ниже). Так как браузеры это делают?
Они вкладывают <ul|ol>
в родительский список <ul>
! HTML, полученный как это, приводит к ошибке проверки
Теперь, если производители браузеров прибегнут к этому обходному пути, я прихожу к выводу, что на самом деле нет способа произвести это форматирование с допустимым HTML5, и, следовательно, для меня будет правильным использовать тот же обходной путь, включая <ul>
как прямые потомки других <ul>
элементов.
Не стесняйтесь попробовать сами здесь:
https://jsbin.com/cuyumovaga/1/edit?html, вывод