Показать сообщение отдельно
  #24 (permalink)  
Старый 23.03.2019, 08:46
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от laimas
возьмет на себя сервер
Зачем привлекать лишнее сюда, я не вижу в данном случае никаких преимуществ.

Сообщение от laimas
это общее не выгодно писать на каждой странице, а выгодно описать раз и подключать на каждой.
Обычно программа одна, она открывается, и дальше работа идёт внутри неё, представьте, например, Photoshop, который перезагружается при каждом действии. Это было бы отвратительно мерзко!

Блондинка, нужно начать с того, что определимся, как может выглядеть структура данных учебника по CSS.

Маленькое отступление. Когда в 1996 году вышла спецификация CSS 1, то она была размером, так сказать с большую статью, и вы могли выучить CSS за день.

Но когда в 1998 году вышла CSS 2, она была настолько большая, что в печатном виде занимала примерно 500 страниц (пачка листов, или томик), и уже тогда стало ясно, что дальнейшее развитие CSS становится слишком громоздким для одной спецификации. Так что движение вперёд означало разбиение на множество отдельных модулей, каждый с собственным номером версии. Модули, которые расширяли возможности CSS 2.1, нумеровались как версия 3.

Вот примеры таких модулей:
Однако модули, выражающие, совершенно новые идеи, нумеруются с первой версии:
Я считаю, что учебник должен быть разбит на разделы, соответствующие модулям CSS. Например, в разделе посвященному модулю Flexible Box Layout, собрано всё про «флэксбокс».

В каждом модуле могут описываться — свойства, дескрипторы, селекторы, @-правила, значения. Это список ссылок. При нажатии на одну из них открывается пример и т.д.

Вот как выглядит заготовка для такого объекта:

var data = {
	"css-background-3": {
		"title": "Backgrounds and Borders Level 3",
		"properties": {
			"background-repeat": ["repeat", "space", "round", "no-repeat"],
			"border-radius": [
				"10px",
				"50%",
				"10px / 20px",
				"2px 4px 8px 16px"
			],
			"box-shadow": [
				"1px 1px", "0 0 black", "1px 2px 3px black",
				"1px 2px 3px 4px black", "inset 1px 1px",
				"1px 2px 3px 4px black inset"
			]
		}
	},
	
	"css-images-3": {
		"title": "Image Values Level 3",
		"values": {
			"properties": [
				"background-image",
				"list-style-image",
				"border-image",
				"cursor",
				"content"
			],
			"linear-gradient": [
				"linear-gradient(to right, white, black)",
				"linear-gradient(white 5px, black)",
				"linear-gradient(white, #f06, black)"
			],
			"radial-gradient": [
				"radial-gradient(white, black)",
				"radial-gradient(circle, white, black)",
				"radial-gradient(ellipse, white, black)"
			]
		},
		"properties": {
			"object-fit": ["fill", "contain", "cover", "none", "scale-down"]
		}
	}	
};


Вам, нужно, это проделать для всех модулей со всеми свойствами, дескрипторами, селекторами, @-правилами, значениями.

Когда, у вас будет такой объект, то вы сможете легко работать с этими данными. Строить примеры, создавать меню, совершать поиск и пр.
Ответить с цитированием