Перейти к содержанию

Ui-element-structure-and-responsive-layout: различия между версиями

Материал из XIOT Wiki
Английские адреса Wiki: обновление ссылок с сохранением русских подписей
 
(не показано 8 промежуточных версий этого же участника)
Строка 1: Строка 1:
__NOTOC__
{{DISPLAYTITLE:Структура элементов и адаптивный интерфейс}}
Режим Pro в XIOT-EDITOR использует '''вложенную структуру элементов'''. Такой подход помогает проектировать интерфейсы для разных размеров экрана, но результат необходимо проверять на каждом целевом устройстве.


PRO версия XIOT-EDITOR построена на принципе '''вложенной структуры элементов'''.
Редактор поддерживает как адаптивные, так и позиционные интерфейсы, а также их комбинирование в рамках одного проекта.
Это ключевая концепция, которая позволяет создавать гибкие, адаптивные и масштабируемые интерфейсы, одинаково корректно работающие на любых экранах — от телефона до большого настенного планшета.
 
'''Lite и Pro — два режима одного XIOT-EDITOR'''. Сначала ознакомьтесь со статьями [[Editor-lite-and-pro|Lite и Pro версии редактора]] и [[Editor-pro-capabilities|Назначение и возможности Pro версии редактора]]. Обзор меню находится в статье [[Editor-pro-tools-and-menus|Обзор инструментов и меню PRO версии редактора]].


----
----
Строка 8: Строка 10:
== 🧱 Вложенная структура элементов ==
== 🧱 Вложенная структура элементов ==


Каждый элемент — это '''блок'''.   
Базовым элементом интерфейса является '''блок'''.   
Каждый блок может содержать внутри себя другие блоки и элементы, формируя иерархическую структуру.


Блоки могут содержать другие блоки, а те — свои вложенные блоки и так далее.
Типовой пример:


Пример структуры:
* Страница 
** Основной контейнер 
*** Виджет устройства 
**** Иконка 
**** Название 
**** Элементы управления 
*** Другой виджет 
** Панель навигации 
*** Кнопка «Назад»


- Страница 
Такая структура похожа на HTML-разметку, где один контейнер может содержать вложенные элементы.
  - Главный блок 
    - Виджет устройства 
      - Иконка 
      - Название 
      - Кнопки 
    - Следующий виджет 
  - Нижняя панель 
    - Кнопка «Назад»


Это очень похоже на HTML-страницу, где есть блок (div) внутри блока.
Вложенность элементов служит основой адаптивной компоновки.


'''Такая структура автоматически адаптируется под любой размер экрана.'''
----


----
== 📐 Единицы измерения и масштабирование ==


== 📐 Относительные размеры: % и em ==
В режиме Pro используются относительные единицы измерения, подходящие для построения адаптивных интерфейсов.


В XIOT рекомендуется использовать два основных типа единиц:
=== Проценты (%) ===


1. Проценты (%)
Проценты применяются для формирования общей структуры страницы и контейнеров.
Используются для построения каркаса страницы.


Пример:
Пример:
* создаются два блока;
* каждому задаётся высота '''50%'''.


* создаём два блока;
На целевых устройствах, например:
* первому задаём высоту '''50%''';
* смартфон,
* второму — тоже '''50%'''.
* планшет,
* настенная сенсорная панель,


Какой бы ни был экран устройства:
блоки сохраняют заданную долю пространства страницы. Результат следует проверить на каждом используемом размере экрана.


* маленький телефон, 
Это базовый принцип адаптивного макета.
* планшет, 
* сенсорная панель на стене


блоки всегда займут ровно половину высоты страницы.
=== Единицы em ===
[[Файл:Pro1 1.png|без|мини|660x660пкс]]
[[Файл:Pro 1 2.png|без|мини|659x659пкс]]
Это основа адаптивного макета.


2. Единицы '''em'''
Единицы '''em''' применяются для размеров виджетов и элементов управления.


Используются для создания виджетов и управляемых элементов.
Особенности:
* размеры элементов зависят от значения '''font-size''';
* элементы, размеры которых заданы в '''em''', изменяются вместе с базовым размером шрифта;
* этот подход помогает сохранять согласованные пропорции и отступы.


Эти элементы:
Изменение '''font-size''' помогает масштабировать связанные с ним размеры элементов. После изменения проверьте компоновку и читаемость.


* растут и уменьшаются вместе с текстом внутри;
----
* масштабируются пропорционально;
* сохраняют правильный внешний вид при любом разрешении.


'''em''' привязывается к '''font-size'''.
== 🧩 Подходы к построению интерфейса ==


В режиме Pro доступны два основных подхода к компоновке интерфейса.


Если изменить размер шрифта — изменится весь виджет целиком, сохранив пропорции и не ломаясь.
=== 🔄 Адаптивный (резиновый) интерфейс ===


----
Адаптивный интерфейс строится на:
* вложенной структуре блоков;
* использовании % и em;
* отсутствии абсолютного позиционирования.


== 🔄 Масштабируемые интерфейсы ==
Характеристики:
* подстройка пропорций под разные размеры рабочей области;
* возможность подготовить компоновку для разных ориентаций экрана;
* повторное использование одной структуры на нескольких проверенных типах устройств.


Благодаря вложенной структуре:
Данный подход рекомендуется использовать по умолчанию для пользовательских интерфейсов.


* виджеты размещаются внутри главного блока; 
----
* главный блок заполняет страницу; 
* элементы внутри него автоматически распределяются; 
* если элементов слишком много — главный блок '''прокручивается'''.


Это отличается от интерфейсов с фиксированным позиционированием, где:
=== 📌 Позиционный интерфейс ===


* элементы размещаются с привязкой к координатам экрана;
Позиционный интерфейс применяется в случаях, когда заранее известно разрешение экрана.
* интерфейс может нарушаться при изменении разрешения или ориентации устройства;
* приходится отдельно настраивать макеты под разные размеры экранов.


В XIOT достаточно создать виджет один раз — он автоматически адаптируется под любое устройство.
Для этого:
* элементу задаётся CSS-свойство '''position: absolute''';
* после этого элемент можно свободно перемещать мышью в рабочей области;
* положение фиксируется относительно страницы.
 
Такой подход используется для:
* специализированных экранов;
* панелей с фиксированной компоновкой;
* визуальных схем.


----
----


== 🎨 CSS‑стили: стандарт веб‑разработки ==
=== 🔀 Комбинированный подход ===


PRO версия XIOT-EDITOR использует полноценные '''CSS‑стили''', такие же, как в веб‑разработке. 
На практике чаще всего используется комбинирование двух подходов.
Это означает, что для каждого элемента можно задавать десятки параметров оформления — от отступов и шрифтов до теней, анимаций и позиционирования.


Доступны все основные группы CSS‑свойств:
Рекомендуемая схема:
* виджет проектируется адаптивным — 
  размеры в '''em''', 
  вложенные элементы в '''%''' и '''em''', 
  без абсолютного позиционирования;
* сам виджет размещается на странице с помощью '''position: absolute'''.


* размеры: width, height, min/max, auto 
Преимущества:
* отступы и поля: margin, padding 
* виджет сохраняет заданные пропорции на проверенных целевых устройствах;
* шрифт: font-size, font-weight, font-family 
* положение на странице задаётся вручную;
* выравнивание: justify-content, align-items 
* удобно реализовывать планы этажей, участков и схем помещений.
* позиционирование: position, left/right/top/bottom 
* фон: background, background-color, градиенты 
* рамки: border, border-radius 
* тени: box-shadow, text-shadow 
* прозрачность: opacity 
* анимации и переходы: transition, transform 
* отображение: display, flex, grid


Использование CSS делает интерфейс XIOT:
----


* гибким и современным; 
== 🎨 Настройки стилей ==
* предсказуемым в работе; 
* понятным для тех, кто знаком с HTML/CSS.


Поскольку это стандарт веб‑разработки, существуют тысячи обучающих материалов, видео и статей. 
В Pro доступны настройки стилей для элементов интерфейса.
Любой опыт в верстке сайтов напрямую применим в PRO версии XIOT‑EDITOR.


----
Поддерживаются основные группы свойств:
* размеры и ограничения (width, height, min/max);
* отступы и поля (margin, padding);
* шрифты и типографика;
* позиционирование;
* фон и цвета;
* рамки и скругления;
* тени и прозрачность;
* анимации и переходы;
* flex-компоновка.


== 🧩 Виджеты как компоненты интерфейса ==
Доступность конкретного свойства проверяйте в панели настроек выбранного элемента.


Виджет — это тот же элемент, но с вложенными дочерними элементами:
----
 
* иконка; 
* подпись; 
* кнопки; 
* индикаторы; 
* стили; 
* логика; 
* привязки к характеристикам и тэгам.


Благодаря вложенности:
== 🧩 Виджеты как переиспользуемые компоненты ==


* виджет можно '''клонировать''' для любого другого устройства;
Виджет представляет собой самостоятельный компонент, включающий:
* виджеты автоматически становятся частью адаптивного макета;
* структуру элементов;
* виджеты корректно отображаются на любом экране без ручной подгонки.
* стили;
* логику;
* привязки к характеристикам и физическим адресам.


----
Виджеты можно:
* клонировать;
* переносить между страницами;
* сохранять в файл формата '''.xelem''';
* использовать в других проектах.


== 📱 Почему это лучше классических систем ==
Один раз созданный виджет может применяться многократно без изменения структуры.


Преимущества вложенной структуры XIOT:
'''.xelem — файл элемента, а не всего проекта'''.


* 📐 **автоматическая адаптация** — всё строится в процентах и em; 
Во время вёрстки полезно периодически нажимать '''Сохранить проект''', создавая самостоятельные контрольные точки. Это не загружает конфигурацию на XIOT-PLC. Если нужно применить текущую конфигурацию, используйте '''Загрузить конфигурацию на контроллер''': команда сначала сохраняет проект локально и после успешной записи отправляет сохранённую конфигурацию на XIOT-PLC. Облачное сохранение и публикацию приложения проверяют отдельно: успешная загрузка на PLC их не подтверждает.
* 🔁 **масштабирование интерфейса одним параметром** — меняем `font-size`, меняется всё приложение; 
* 🧩 **элементы собираются в виджеты**, виджеты легко копируются; 
* 📌 **нет фиксированной привязки к углам экрана**, как в iRidium/AMX; 
* 🚀 **быстрая сборка интерфейса** за счёт готовых компонент; 
* 📦 **один дизайн — любой экран**.


----
----
Строка 155: Строка 162:
== 🎯 Итог ==
== 🎯 Итог ==


В PRO версии XIOT:
Режим Pro предоставляет инструменты ручного построения интерфейсов:
 
* вложенная иерархия элементов;
* использование % и em для масштабирования;
* поддержка адаптивного и позиционного подходов;
* комбинирование методов в одном проекте;
* настройки стилей элементов;
* переиспользуемые виджеты.


* структура элементов **вложенная**, как в современных веб-интерфейсах;
Это позволяет создавать пользовательские интерфейсы и специализированные инженерные панели для заранее определённых и проверенных размеров экрана.
* используются относительные размеры (% и em), обеспечивающие адаптивность;
* элементы группируются в виджеты, которые можно многократно использовать;
* интерфейс автоматически подстраивается под любые устройства;
* приложение сохраняет внешний вид и масштаб даже при изменении `font-size`.


Это делает PRO версию мощным инструментом разработки кастомных панелей управления, при этом сохраняя простоту масштабирования и повторного использования элементов.
Требования к браузеру и порядок входа: [[Xiot-editor-access|Доступ к XIOT-EDITOR]].

Текущая версия от 22:23, 2 октября 2026

Режим Pro в XIOT-EDITOR использует вложенную структуру элементов. Такой подход помогает проектировать интерфейсы для разных размеров экрана, но результат необходимо проверять на каждом целевом устройстве.

Редактор поддерживает как адаптивные, так и позиционные интерфейсы, а также их комбинирование в рамках одного проекта.

Lite и Pro — два режима одного XIOT-EDITOR. Сначала ознакомьтесь со статьями Lite и Pro версии редактора и Назначение и возможности Pro версии редактора. Обзор меню находится в статье Обзор инструментов и меню PRO версии редактора.


🧱 Вложенная структура элементов

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

Типовой пример:

  • Страница
    • Основной контейнер
      • Виджет устройства
        • Иконка
        • Название
        • Элементы управления
      • Другой виджет
    • Панель навигации
      • Кнопка «Назад»

Такая структура похожа на HTML-разметку, где один контейнер может содержать вложенные элементы.

Вложенность элементов служит основой адаптивной компоновки.


📐 Единицы измерения и масштабирование

В режиме Pro используются относительные единицы измерения, подходящие для построения адаптивных интерфейсов.

Проценты (%)

Проценты применяются для формирования общей структуры страницы и контейнеров.

Пример:

  • создаются два блока;
  • каждому задаётся высота 50%.

На целевых устройствах, например:

  • смартфон,
  • планшет,
  • настенная сенсорная панель,

блоки сохраняют заданную долю пространства страницы. Результат следует проверить на каждом используемом размере экрана.

Это базовый принцип адаптивного макета.

Единицы em

Единицы em применяются для размеров виджетов и элементов управления.

Особенности:

  • размеры элементов зависят от значения font-size;
  • элементы, размеры которых заданы в em, изменяются вместе с базовым размером шрифта;
  • этот подход помогает сохранять согласованные пропорции и отступы.

Изменение font-size помогает масштабировать связанные с ним размеры элементов. После изменения проверьте компоновку и читаемость.


🧩 Подходы к построению интерфейса

В режиме Pro доступны два основных подхода к компоновке интерфейса.

🔄 Адаптивный (резиновый) интерфейс

Адаптивный интерфейс строится на:

  • вложенной структуре блоков;
  • использовании % и em;
  • отсутствии абсолютного позиционирования.

Характеристики:

  • подстройка пропорций под разные размеры рабочей области;
  • возможность подготовить компоновку для разных ориентаций экрана;
  • повторное использование одной структуры на нескольких проверенных типах устройств.

Данный подход рекомендуется использовать по умолчанию для пользовательских интерфейсов.


📌 Позиционный интерфейс

Позиционный интерфейс применяется в случаях, когда заранее известно разрешение экрана.

Для этого:

  • элементу задаётся CSS-свойство position: absolute;
  • после этого элемент можно свободно перемещать мышью в рабочей области;
  • положение фиксируется относительно страницы.

Такой подход используется для:

  • специализированных экранов;
  • панелей с фиксированной компоновкой;
  • визуальных схем.

🔀 Комбинированный подход

На практике чаще всего используется комбинирование двух подходов.

Рекомендуемая схема:

  • виджет проектируется адаптивным —
 размеры в em,  
 вложенные элементы в % и em,  
 без абсолютного позиционирования;
  • сам виджет размещается на странице с помощью position: absolute.

Преимущества:

  • виджет сохраняет заданные пропорции на проверенных целевых устройствах;
  • положение на странице задаётся вручную;
  • удобно реализовывать планы этажей, участков и схем помещений.

🎨 Настройки стилей

В Pro доступны настройки стилей для элементов интерфейса.

Поддерживаются основные группы свойств:

  • размеры и ограничения (width, height, min/max);
  • отступы и поля (margin, padding);
  • шрифты и типографика;
  • позиционирование;
  • фон и цвета;
  • рамки и скругления;
  • тени и прозрачность;
  • анимации и переходы;
  • flex-компоновка.

Доступность конкретного свойства проверяйте в панели настроек выбранного элемента.


🧩 Виджеты как переиспользуемые компоненты

Виджет представляет собой самостоятельный компонент, включающий:

  • структуру элементов;
  • стили;
  • логику;
  • привязки к характеристикам и физическим адресам.

Виджеты можно:

  • клонировать;
  • переносить между страницами;
  • сохранять в файл формата .xelem;
  • использовать в других проектах.

Один раз созданный виджет может применяться многократно без изменения структуры.

.xelem — файл элемента, а не всего проекта.

Во время вёрстки полезно периодически нажимать Сохранить проект, создавая самостоятельные контрольные точки. Это не загружает конфигурацию на XIOT-PLC. Если нужно применить текущую конфигурацию, используйте Загрузить конфигурацию на контроллер: команда сначала сохраняет проект локально и после успешной записи отправляет сохранённую конфигурацию на XIOT-PLC. Облачное сохранение и публикацию приложения проверяют отдельно: успешная загрузка на PLC их не подтверждает.


🎯 Итог

Режим Pro предоставляет инструменты ручного построения интерфейсов:

  • вложенная иерархия элементов;
  • использование % и em для масштабирования;
  • поддержка адаптивного и позиционного подходов;
  • комбинирование методов в одном проекте;
  • настройки стилей элементов;
  • переиспользуемые виджеты.

Это позволяет создавать пользовательские интерфейсы и специализированные инженерные панели для заранее определённых и проверенных размеров экрана.

Требования к браузеру и порядок входа: Доступ к XIOT-EDITOR.