Как я могу изменить файл CSS программно? - PullRequest
0 голосов
/ 07 октября 2008

У меня есть устаревшее приложение, для которого мне нужно было реализовать страницу конфигурации, чтобы изменить цвета текста, шрифты и т. Д.

Вывод этого приложения также реплицируется с веб-приложением PHP, где шрифты, цвета и т. Д. Настраиваются в таблице стилей.

Я раньше не работал с CSS.

Есть ли программный способ изменить CSS и сохранить его, не прибегая к разбору строк или регулярному выражению?

Приложение VB6, но я мог бы написать инструмент .net, который бы выполнял манипуляции css, если бы это был единственный способ.

Ответы [ 8 ]

3 голосов
/ 07 октября 2008

Вам не нужно редактировать существующий. У вас может быть новый, который переопределяет другой - вы включаете один за другим в свой HTML. Вот что означает «Каскадирование».

2 голосов
/ 07 октября 2008

Похоже, что кто-то уже сделал парсер VB.NET CSS, который является F / OSS, так что вы, вероятно, могли бы адаптировать его к вашим потребностям, если вам удобна лицензия.

http://vbcssparser.sourceforge.net/

0 голосов
/ 16 октября 2008

Может быть, решение проблемы, которое является наиболее простым для программиста и пользователя, может быть, отредактировать CSS через HTML-форму. Я полагаю, создать css-файл, который будет «по умолчанию» или «стандарт» для этого приложения, и просто прочитать его, например, с помощью сценария perl, отредактировать в html и записать его. Вот только простой пример.

В css-файле у нас есть строка вроде:

border-color: #008a77;

мы должны прочитать эту строку, разделить ее и отправить в файл, который запишет ее. Получите что-то подобное в Perl:

tr/ / /s;
($vari, $value) = split(/:/, _$);
# # While you read file, you can just at the time to put this into html form
echo($vari.":<input type = text name = ".$vari." value = ".$value.">");

И вот, у вас есть просто простые html-формы-данные, вы просто должны перезаписать свой css-файл новыми данными, такими как:

...
print $vari[i].": ".$value.";\n";
...

и вуаля - у вас есть программный способ изменения CSS. Конечно, вы должны сделать его более универсальным и более близким к вашей конкретной проблеме.

0 голосов
/ 16 октября 2008

В моей работе с элементом управления IE (shadocvw.dll) у него есть интересная возможность, позволяющая вам легко управлять CSS страницы и показывать эффекты модифицированного CSS на странице в реальном времени. Я никогда не имел дело с деталями таких реализаций сам, но я рекомендую это как возможное решение, на которое стоит обратить внимание. Учитывая, что в настоящее время почти все используют IE 6 или более позднюю версию, вы можете пропустить объяснения о том, как обращаться с теми, у кого установлен IE 5,4,3 или 2.

0 голосов
/ 07 октября 2008

Проверьте это , он использует ASP.NET и C #.

0 голосов
/ 07 октября 2008

лучший способ решить эту проблему - создать приложение, которое получит некоторые значения (через URL-запрос) и сгенерирует соответствующий вывод css на основе шаблонов css

0 голосов
/ 07 октября 2008

Один из способов - создать PHP-скрипт, через который передаются все выходные данные, который затем заменяет определенные части CSS настраиваемыми альтернативами. Если вы используете .htaccess, вы можете заставить весь вывод проходить через скрипт.

0 голосов
/ 07 октября 2008

В зависимости от того, насколько технически ориентированными будут ваши CSS-редакторы, вы можете сделать это очень просто, загрузив все это в поле TextEdit, чтобы они могли отредактировать его, а затем записать обратно в файл.

Разбор и создание интерфейса для всех возможностей CSS было бы астрономической болью. : -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...