Некоторые соглашения, которые мы используем при организации таблиц стилей:
- Имеется одна
main.css
таблица стилей, в которой хранятся все данные для создания оболочки основного приложения.
- Имейте одну
fonts.css
таблицу стилей для хранения всех шрифтов в основном приложении, потому что они могут быть довольно грязными.
Таблица стилей main.css включена в основной swf через тег <mx:Style source="main.css"/>
. Мы загружаем наше приложение как можно меньше, и как только все загружается, если нам нужно немедленно показать какой-то текст (иногда у нас просто воспроизводится видео, если это рекламный сайт), мы затухаем / анимируем основные элементы и загружаем fonts.css через StyleManager.loadStyleDeclarations
во время выполнения.
- Если у нас есть панель администратора, у нас есть таблица стилей
admin.css
, которую мы загружаем во время выполнения, потому что главное приложение не нуждается в ней.
Нам больше не нужно разделять CSS, потому что мы обычно создаем целый набор скинов в Theme , поэтому таблица стилей просто применяет эти скины к компонентам и довольно скудна ( используя Flex 4). Я не делю таблицы стилей на что-то меньшее (например, "pages.css", "comments.css", "popups.css" или даже "controls.css" и т. Д.), Потому что это будет излишним и слишком сложным для управления за немного взамен. Это обычное дело для HTML, но это потому, что HTML требует CSS для хорошей презентации; Flex может обойтись без CSS полностью.
При разработке один из нас, как правило, разрабатывает большую часть скина сразу (с настройкой каркаса по умолчанию, подобной тем, которые можно найти в ScaleNine , поскольку они делают photoshop / flash / After-Effects. Нет никакого способа не нужно перекомпилировать SWF-файл CSS, если вы вносите изменения, но если он загружен во время выполнения, вам нужно только перекомпилировать файл CSS, а не основной SWF-файл, который полезен, но не очень полезен при разработке хардкорного скина.
Я пытался держать основную таблицу стилей отдельно во время разработки (в пользовательской теме), и это усложняло разработку LOT, потому что мне приходилось перекомпилировать css отдельно каждый раз, когда я вносил изменения, а иногда мне приходилось перекомпилировать основное приложение также были странные и трудно выявляемые ошибки и т. д. Затем я собирал два разных приложения. Поэтому я рекомендую оставить основной файл CSS частью основного приложения.
Если вы хотели, чтобы css во время выполнения без необходимости что-либо перекомпилировать, попробуйте Ruben's CSS Loader и проверьте источник . Но это может привести к снижению производительности во время выполнения.