вам нужно использовать $or
$or: [{x: 10, y: 20},{x: 20, y: 70}]
Я был там несколько месяцев назад. При использовании динамического CSS, сгенерированного выделенным обработчиком/, сервлет был первым решением, для улучшения производительности, специализированный CSS теперь производится на файле, сверхсдирающем кору основные элементы стандартного CSS:
<link rel="stylesheet" href="standard.css" />
<link rel="stylesheet" href="<%= customer_code %>/custom_style.css" />
...
<img scr="<%= customer_code %>/logo.png" />
Каждый пользовательский CSS будет иметь свой собственный URL, таким образом, можно будет сделать браузер, кэширующий их.
Это сделает Вас сохраняющий для каждого запроса, который выполнят пользователи:
Я буду второй идея, пользователю придется заполнить детализацию веб-формы, какие настройки они хотят сделать.
Во-первых, определите, какие ресурсы могут быть заменены, и могут ли ресурсы быть добавлены. Необходимо будет сохранить их где-нибудь; для маленьких ресурсов, таких как логотипы дб прекрасен, вероятно, иначе необходимо волноваться о размере в дб.
Затем можно определить, сколько функциональности Вы хотите, чтобы пользователь настроил: просто цвета или все стили? Если это - просто цвета, можно определить некоторые переменные в файле CSS и служить файлу динамично с данными, загруженными из дб. Файл CSS можно было бы назвать styles.asp и содержать код, такой как это:
.header_area {
border: 1px solid <%=headerBorderColor%>;
background-color: <%=headerBGColor%>;
foreground-color: <%=headerFGColor%>;
}
(Синтаксис, который я использовал, является синтаксисом JSP, я не знаю ASP, но идея является тем же.)
С другой стороны, позвольте пользователю указывать всю таблицу стилей, или замена по умолчанию или добавление его. Затем сохраните весь лист в DB и служите, он с помощью его собственного URL (не встраивайте его в страницу).
<link rel="stylesheet" href="default_styles.css">
<link rel="stylesheet" href="white_label_css.asp">
Удостоверьтесь, что Вы устанавливаете заголовки кэша и тип контента соответственно на файле CSS при обслуживании его с помощью страницы ASP.
Если Вы обеспокоены тем, какой удовлетворяют пользователя, может вставить white_label_css файл, можно ограничить его путем создания инструмента пользователя, который генерирует CSS и хранит ее в дб. Например, вместо того, чтобы позволить пользователю загружать любой файл и хранить его в дб, пользователь должен был бы заполнить детализацию веб-формы, какие настройки они хотят сделать. Таким образом, можно удостовериться, что только определенные правила/изменения CSS позволяются (но это не может быть достаточно гибко).
Мне нравится идея использовать динамический CSS с помощью Обработчика ASP.NET...
<link rel="stylesheet" href="style.ashx" />
style.ashx
<!--WebHandler Language="C#" Class="StyleSheetHandler"-->
StyleSheetHandler.cs
public class StyleSheetHandler : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
context.Response.ContentType = "text/css";
context.Response.ContentEncoding = System.Text.Encoding.UTF8;
string css = BuildCSSString(); //not showing this function
context.Response.Cache.SetExpires(DateTime.Now.AddSeconds(600));
context.Response.Cache.SetCacheability(HttpCacheability.Public);
context.Response.Write( css );
}
public bool IsReusable
{
get { return true; }
}
}
BuildCSSString () Функция создаст CSS на основе значений, сохраненных в базе данных, и возвратит ее для переопределения основного стиля на основной странице.
Ваш предложенный метод - то, как я пошел бы о решении этой проблемы: загрузите управляемые пользователем значения (возможно, просто цвета и размеры шрифта) в таблицу, связанную с пользователем.
Логотип/аватар, который Вы хотите, чтобы пользователь имел, может быть сохранен в дб или как файл на фс.
Я думаю, что это зависит от того, насколько опытный Ваши пользователи о CSS. Если они - веб-разработчики или имеют тот наклон, имение их пишет, что CSS прекрасен, вероятно. В противном случае необходимо будет или генерировать его статически на основе их входа и сохранить его в базе данных, ИЛИ можно просто сохранить вводимые значения и динамично генерировать CSS с помощью пользовательского обработчика.
Пользовательский подход обработчика означал бы, что Вы могли заменить значениями прямо в середине CSS, не имея необходимость волноваться о! важный или порядок, в котором объекты, как объявляют, гарантируют надлежащие переопределения, происходят.
С php, например, можно создать динамическую CSS, таким образом, это вместе с информацией пользователя, хранившей в дб, было бы, конечно, достаточно.
Я избегал бы использования! важный пункт и вместо этого просто гарантирует, чтобы их значения появились в a <style>
тег после импорта обычных таблиц стилей.
Иначе я сделал бы это тот же путь.
Если я понял правильно, Вы хотите упростить цвет и связанные с типографией изменения. Что относительно расположения? Если мы безопасно предполагаем, что только окрашивают, и типография собираются измениться, мы можем снова использовать те же классы стиля в конце существующего основного файла CSS и таким образом переопределить стили (использующий! важный, хотя хорошая идея, препятствует тому, чтобы пользователи переопределили с их пользовательскими стилями).
Эти недавно созданные классы могут быть сжаты до однострочной строки и сохранены как varchar, который затем связывался бы/копировался бы встроенный при создании страницы. Я могу думать о следующих опциях
Если бы расположение собирается измениться, мы находимся в более толстом супе, я избежал бы этого, как сложности, связанные со сценариями/обработкой событий, слишком очень.