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);
}