Алексей, на каждую, даже небольшую модалку, придётся писать отдельный код и класть его строго в определённое место. Затем привязывать его к какой-то кнопке через checkbox и label , которые вообще элементы формы, они не предназначены для этого. Это, как минимум, лишний код.
Про поддержку - во-первых, если поддерживать будете не вы, уйдёт время чтоб понять, что вообще происходит. Во-вторых, в процессе поддержки может понадобиться, например, разложить модалку и кнопку для неё по разным блокам --> всё сломается.
А на JS это... строчек 5?
По ссылке, что я скинул, есть интересная реализация меню, да и аккордеон такой может быть полезен. Кстати, там в комментах тоже много можно узнать по поводу поддержки таких вещей.
Алексей Юдов, у вас есть код, который по клику на кнопку создаёт блок, правильно? Вынесите его в отдельную "создающую" функцию, если у вас её пока нет.
Я думаю, вам в localStorage вообще можно просто count хранить.
При загрузке страницы вы:
-- проверяете localStorage, считываете count
-- запускаете "создающую" функцию нужное кол-во раз.
Алексей Юдов, не всё. Не надо пихать в объект html, положите в объект только значимые параметры - количество элементов, тип элементов, .... То, что вы считаете необходимым. А при загрузке страницы проверяйте эти параметры и генерируйте нужные элементы, а затем просто вставляйте