Hi,
поскольку вы можете получить доступ к HTML-заголовку вашего веб-приложения, вы можете добавить свои собственные таблицы стилей в свое веб-приложение Xojo. Я хочу дать вам несколько советов, как вы можете использовать CSS, чтобы сделать ваши веб-приложения более красивыми.
Я использую CSS в каждом веб-приложении, потому что меня не устраивают возможности стилей и анимации в XojoWE.
1.1 Как включить пользовательский CSS с помощью собственного файла
Если вы хотите поместить свой CSS в отдельный файл, что упрощает его обслуживание, вы можете выполнить следующие шаги:
- Создайте файл с расширением «.css», например «stylesheet.css». вам нужно знать некоторые вещи о CSS.
- Поместите файл на свой веб-сервер. Для локального тестирования также можно скопировать stylesheet.css на шаге сборки в папку отладки.
- Перейдите в свойство App.HTMLHeader и добавьте следующее:
<link href="[your link to the stylesheet.css file]" type="text/css" rel="stylesheet">
4. вставьте ссылку на ваш файл стилей.css
- теперь у вас есть доступ к стилям веб-приложения
- например, добавьте контейнерный элемент управления в свое веб-приложение и добавьте этот код в Stylesheet.css:
<style> div{border: 10px solid;} </style>
(загрузите новую версию CSS на свой сервер)
-> Теперь ваш контейнер имеет большую черную рамку.
1.2 Как включить пользовательский CSS в ваше приложение с помощью Xojo IDE
Если вы хотите доставить свой CSS прямо в приложение без внешних файлов, выполните следующие действия:
- Перейдите в свойство App.HTMLHeader и добавьте следующие строки:
<style> div{border: 10px solid;} </style>
2. Теперь между тегом ‹style› можно разместить свой CSS.
2. Как настроить стили элементов управления
Xojo-Webstyle-control — отличный способ стилизовать ваши элементы управления простым способом. Если вы добавите некоторые свойства в xojo-webstyle-control, они будут переведены в CSS в работающем веб-приложении. Когда вы применяете стиль к элементу управления в инспекторе, это похоже на добавление пользовательского класса CSS к элементу веб-страницы, например:
<div class="your_xojo_webstyle_name"></div>
Это дает вам возможность перезаписать класс your_xojo_webstyle_name, который вы создали в Xojo во время разработки.
Если вы добавите следующий код в свой Stylesheet.css, все элементы с примененным стилем «your_xojo_webstyle_name» будут изменены:
.your_xojo_webstyle_name{ border: 12px solid; background: #f3f3f3; [other CSS properties]; }
Попробуй это!
3. для чего это нужно?
CSS — мощный инструмент в веб-разработке. С новыми стандартами CSS вы можете заменить множество функций JavaScript-Styling всего несколькими строками CSS, например анимацией.
Также Xojo-Webstyle-control не поддерживает некоторые CSS-правила, такие как встроенные тени или анимацию. Конечно, есть управление аниматором, но обработка в коде иногда очень плохая. Например, если вам нужен эффект затухания ваших элементов управления, добавленных во время выполнения.
Я также использую CSS, чтобы скрыть полосы прокрутки в элементах управления контейнерами (=”‹div›”), когда мышь не находится над контейнером.
Также вы можете стилизовать элементы управления Xojo, такие как WebListboxes, WebDialogs, WebUploader. Или вы можете изменить внешний вид ImageWell-Control (изменение размера изображения, оттенки серого, эффекты затухания).
Возможности потрясающие. С Xojo вы можете создавать потрясающие функциональные возможности веб-приложений, а с помощью CSS вы можете сделать их более красивыми. Вы можете улучшить пользовательский опыт, добавив эффекты, затухание, тени. Вы можете улучшить Xojo-Controls и так далее.
С помощью ExecuteJavascript вы можете добавлять свои собственные CSS-классы ко всем элементам или удалять их во время выполнения. Вы можете стать еще большим веб-дизайнером.
Вот и все!
вот несколько моих примеров CSS:
1. Исчезновение эффектов ваших элементов управления:
.[your_Style_Name]]{ -webkit-animation: move_eye 0.1s linear 0s alternate; -moz-animation: move_eye 0.1s linear 0s alternate; -o-animation: move_eye 0.1s linear 0s alternate; animation: move_eye 0.1s linear 0s alternate; } @-webkit-keyframes move_eye { from { margin-left:-20px; opacity: 0; } to { margin-left:0%; opacity: 1;} } @-moz-keyframes move_eye { from { margin-left:-20px; opacity: 0; } to { margin-left:0%; opacity: 1;} } @-o-keyframes move_eye { from { margin-left:-20px; opacity: 0; } to { margin-left:0%; opacity: 1;} } @keyframes move_eye { from { margin-left:-20px; opacity: 0; } to { margin-left:0%; opacity: 1;} }
2. Стиль полос прокрутки ваших элементов управления контейнерами: (работает только в хроме)
div::-webkit-scrollbar { width: 7px; height: 7px; } div::-webkit-scrollbar-track { /* -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);*/ background-color: rgba(255,255,255,0); } div::-webkit-scrollbar-thumb { background-color: rgba(183, 183, 183, 0.2); border-radius: 5px; border: 0px solid; } div::-webkit-scrollbar-thumb:hover { background-color: #d1d1d1; }
3. Показывать полосы прокрутки контейнеров только при наведении указателя мыши:
.noscroll:hover{ overflow: auto !important; } .noscroll{ overflow: hidden !important; }
4. более приятные горизонтальные линии:
hr{ background-color: #DAE0E7; /* Farbe für Opera und Firefox */ color: #DAE0E7; /* Farbe für Internet Explorer (IE) */ border: 0; height: 1px; background-image: none; }
5. Более приятные диалоги:
div.palette{ -webkit-box-shadow: 0 4px 16px rgba(0,0,0,.2); -moz-box-shadow: 0 4px 16px rgba(0,0,0,.2); box-shadow: 0 4px 16px rgba(0,0,0,.2); background: #fff; background-clip: padding-box; outline: 0; position: absolute; } div.palette table.title{ z-index: 1; background: #FFFFFF; border-bottom: 1px solid #DADADA; box-shadow: 0px 0px 10px #DBDBDB; } div.sheet, div.modal{ position: fixed; top: 0px; left: 0px; right: 0px; bottom: 0px; background-image:none; overflow: hidden; background-color: rgba(186, 186, 186, 0.2); } div.sheet > div.body, div.modal > div.body { background-color: rgb(255,255,255); position: absolute; -webkit-box-shadow: 0px 4px 16px rgba(0,0,0,0.20); -moz-box-shadow: 0px 4px 16px rgba(0,0,0,0.20); box-shadow: 0px 4px 16px rgba(0,0,0,0.20); } body{ box-shadow: 0px 0px 0px rgba(0,0,0,0); }