Где найти информацию о том, как работают менеджеры по раскладке (внутренние менеджеры по раскладке)? - PullRequest
2 голосов
/ 31 января 2011

Вставьте ответ или ссылку на какую-нибудь страницу с информацией о том, как работают менеджеры по раскладке (внутреннее руководство по раскладке)?

в общем вопросе. Для размещения 2d (нормальных) компонентов в браузере. Я хочу построить менеджер макета для платформы приложения в javascript

1 Ответ

3 голосов
/ 04 февраля 2011

Предполагая, что я понимаю ваш вопрос, наиболее важными задачами, выполняемыми менеджером макета, являются:

  • Отслеживание информации о положении для каждого компонента макета. В браузере можно зайти так далеко, что это означает, что вы можете отобразить отношения позиционирования CSS сверху, слева, абсолютным, относительным и т. Д., Включая влияние полей, отступов, границ и т. Д.

  • Это может рассматриваться как одна и та же точка, но также важно отслеживать слои (обычно это z-index в вашем случае).

  • Отслеживание информации о форме, обычно высота и ширина коробки
  • Отслеживание, какие компоненты имеют «активные элементы», такие как сценарии, анимация, формы или встраивания
  • Отслеживание, какие компоненты должны быть присоединены к другим с определенными требованиями, а какие являются автономными и похожими на виджеты
  • Часто возможность динамического обновления свойств стиля и даже содержимого в пределах данного компонента макета
  • Предоставление функциональных возможностей для изменения положения, выравнивания, изменения размера и других настроек отслеживаемых свойств одного компонента макета на основе свойств одного или нескольких других компонентов макета

Если вы способны справиться с этим, вы хорошо начинаете. Возможность сделать шаг вперед, разработав форматы макетов, которые могут быть перегруппированы на основе шаблона или схемы, также может быть очень полезной.


Обновление : насколько размер занимает приоритет, я не уверен, кто ты находясь в поиске. Если вы уже используете JavaScript может быть хорошей практикой для сохранить ширину между минимальной и максимальной шириной динамически вдоль стороны CSS, чтобы сохранить кросс-браузер. Чтение структуры узла и его обработка - это вопрос предпочтение и очень вопрос дизайн. По моему опыту это приятно абстрагировать самого ребенка «слой» узлов, особенно все узлы, содержащие контент, в один часть кода и самые родительские узлы в другой. Это не строго верхний и нижний узлы, однако, как некоторые содержание имеет подузлы, <b> теги, например. После этого я заполняю в другой абстракции для контейнеров и, наконец, учитывать все узлы используя отношения этих трех слои.

Если вы расположите «основные» элементы, используя относительную длину, такую ​​как em, ex, и т. д. или проценты и последующее наблюдение используя абсолютное позиционирование на детей либо в оболочке <div style="position: relative">, либо с использованием полей добавить или вычесть из относительного длины, .. вы можете производить близко совпадающие дисплеи разные браузеры и разные разрешения экрана конечного пользователя.

Кроме того, ознакомьтесь с основными рекомендациями по разработке HTML / CSS для ссылаться и попытаться просто реализовать их, и вы будете хорошо начать.

...