Я создаю веб-сайт, и я хочу, чтобы персонализация отдельных пользователей до некоторой степени, как изменение семейства шрифтов, цвета фона и т. Д. Проблема заключается в том, что мой файл css по умолчанию, который я загрузил, по умолчанию классы для всего. Теперь, когда я получаю фоновый цвет из моей базы данных, тогда, если для фона есть нулевое значение, тогда должен быть загружен класс css mystylesheet.css по умолчанию, и если значение не равно null, то я хочу переопределить это с помощью css по умолчанию. Как это возможно? Заранее спасибо :)вопрос начинающего о CSS
ответ
нагрузки stylesheat по умолчанию в стиле тега, и поставить динамику стили в теге стиля после этого.
Какой стиль использовать, когда разные стили нацелены на один и тот же элемент, определяется спецификой, и если селекторы одинаковы, по порядку. Используется стиль, который найден последним.
+1: Я собирался сказать то же самое, но сервер сбросил и потерял мой ответ. – Robusto
Одним из способов является создание файла CSS динамически из PHP-скрипта.
Вы бы включить файл как:
<link rel="stylesheet" type="text/css" href="css.php">
И файл css.php будет выглядеть примерно так:
<?php
header('Content-type: text/css');
// whatever you want to ouput depending on the user
?>
Я не хочу динамически включать файл css. Поскольку необходимо изменить только некоторые классы, а не все. Скажем, предположим, что 100 классов в моих классах по умолчанию и я хочу разрешить пользователю изменять только 3 из них. В этом случае нецелесообразно динамически строить новый файл css. Я хочу знать, что имеет приоритет? Внешний файл css, встроенный css или тот, который вы пишете в , и все ли браузеры придерживаются той же практики? – TCM
ОК, обновленный ответ со ссылкой. – zaf
Подход, упомянутый zaf, потребует перезагрузки страницы, когда вы хотите переключать листы стилей. То, что я нахожу, чтобы быть лучшим подходом является добавлением имени класса к телу , если у вас есть возможность использовать JavaScript
<body class="theme-1">
<div class="main"><div>
</body>
Тогда каждый из ваших таблиц стилей должны содержать название темы в декларациях:
--theme1.css
.theme-1 div.main {
background-color: #eee
}
--theme2.css
.theme-2 div.main {
background-color: #f30
}
Для переключения таблиц стилей вы просто удаляете старое название темы и добавляете тему, которую хотите использовать.
Тогда вы можете даже добавить таблицы стилей динамически, если вы предоставляете интерфейс для пользователя, чтобы настроить внешний вид вашей страницы.
Новый улучшенный Ответ:
Я просто нашел хорошее решение, реализованные люди в ExtJS. Он включает загрузку всех таблиц стилей, которые вы хотите использовать с тегами <. Хитрость заключается в том, что вы можете установить отключенное свойство в элементе ссылки, которое не приведет к его применению.
Для примера, используйте поджигатель и посмотреть на
http://www.extjs.com/deploy/dev/examples/themes/index.html
Посмотрите на styleswitcher.js и посмотреть функцию setActiveStyleSheet
function setActiveStyleSheet(title) {
var i,
a,
links = document.getElementsByTagName("link"),
len = links.length;
for (i = 0; i < len; i++) {
a = links[i];
if (a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
a.disabled = true;
if (a.getAttribute("title") == title) a.disabled = false;
}
}
}
Подход Gufa работает, за исключением того, что, если вы хотите вернуться к другой теме, вам нужно переписать css так, чтобы она была последней в порядке –
Hi Jaun, Я разрешаю пользователю использовать подборщик цветов для выбора цвета фона страницы. Итак, я не думаю, что этот подход тоже сработает. В качестве этого статического подхода мы заранее определяем таблицы стилей с заданными цветами. Можете ли вы сказать мне, у кого есть приоритет? Внешний файл css, встроенный css или один в ? До сих пор я нашел подход Гуффа наиболее подходящим для моего требования. – TCM
Нет, я чувствую, что подход Гуфы будет работать даже при загрузке другой темы. – TCM
- 1. Вопрос начинающего CakePHP о просмотрах
- 2. вопрос начинающего о java (Quartz) scheduling
- 3. CSS: вопрос о переключателе
- 4. Вопрос о переполнении CSS
- 5. CSS: вопрос о списках
- 6. CSS вопрос о em?
- 7. Концептуальный вопрос начинающего пользователя о ООП и постоянстве
- 8. Вопрос о шаблоне начинающего дизайнера (связанные с веб-сервисами)
- 9. Вопрос начинающего пользователя о доступе к mysql с использованием OOP
- 10. Swing/SwingWorker Вопрос для начинающего
- 11. Вопрос о содержимом TinyMCE CSS
- 12. Вопрос о синтаксисе селектора CSS
- 13. CSS - вопрос о размещении div
- 14. Bootstrap CSS вопрос о прошивке
- 15. Вопрос о CSS поплавка: левый
- 16. Вопрос о позиции CSS в CSS
- 17. C# Локальные переменные Инициализация - вопрос для начинающего
- 18. вопрос начинающего: копирование определенных элементов массива
- 19. Простой вопрос MVC для начинающего MVC
- 20. начинающего вопрос веды ява и андроид
- 21. Очень простой запрос на mySQL (вопрос начинающего)
- 22. Вопрос начинающего ASP.NET относительно ссылочного пути
- 23. Обработка форм в django (вопрос начинающего)
- 24. Вопрос начинающего: PUT-обновление в режиме Rails
- 25. Простой вопрос о цветовом коде CSS
- 26. CSS: вопрос о выравнивании и списки
- 27. Drop float - основной вопрос о размещении CSS
- 28. Вопрос css, с просьбой о помощи
- 29. Webkit CSS Анимация Вопрос о прыжке
- 30. Вопрос CSS о проблемах с селектором идентификаторов?
Что вы используете, чтобы сделать выборку? Есть, вероятно, десятки разных серверных языков, которые могут быть использованы для этого, поэтому, пожалуйста, отредактируйте свой вопрос, поскольку PHP, C# и Java - все возможные языки, которые могут быть использованы для этого. Во-вторых, какова ваша база данных, использующая язык для автоматического возврата значений? –
Я отредактировал, как вы сказали – TCM