Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 16.12.2015
Сообщений: 45

Изменение стилей через php

01.06.2018, 18:33. Показов 6359. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
У меня есть отдельный файл css, в котором описан некий класс, у которого есть поле content, которое по умолчанию не заполнено. Мне нужно, чтобы при выполнении определенного условия поле контент заполнялось нужной мне строкой. Собственно, вопрос в том, как это сделать.
Предвидя советы о том, что для этого проще использовать что-либо помимо php- мне нужно реализовать это именно в php-скрипте.
Я нашла примеры реализации подобного через подобный фрагмент в php-скрипте:
PHP
1
2
3
echo'<style type="txt/css">
    .class {content:'primer';}
</style>';
Но, либо я что-то сделала не так, либо я ошиблась, и это не для моей ситуации.
Также пробовала в файл страницы вставлять
PHP
1
2
3
<style type="text/css">
    .class {content: <?=$_SESSION['primer']?>;} <!-- Переменная в которую я записываю значение поля content, которое мне нужно -->
</style>
Что тоже не возымело эффекта.
Надеюсь, здесь смогут мне помочь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.06.2018, 18:33
Ответы с готовыми решениями:

Подключение стилей через php
Доброго времени суток! В .htaccess файле прописал следующее RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond...

Переключение между таблицами стилей на сайте через PHP
Доброго времени суток. Хотелось бы узнать, можно ли как-то переключаться между CSS на странице сайта? Я в php новичок, потому не ругайтесь,...

Изменение текста кнопки через php скрипт
Здравствуйте! Делаю задачу типа: создание базы данных о книгах на php, инфа должна хранится в текстовом файлике. База представляет...

12
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
01.06.2018, 19:10
свойства content применяется в сочетании с псевдоэлементами ::before и ::after
CSS
1
2
3
class:before, class:after {
...
}
Если у Вас с сессией всё нормально (значение есть и оно отображается на странице), то добавьте псевдоэлементы:
CSS
1
.class:before {content: <?=$_SESSION['primer']?>;}
А так, всё должно работать по приведённому коду.
1
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
01.06.2018, 19:19
Цитата Сообщение от Saky Посмотреть сообщение
У меня есть отдельный файл css,
с расширением .css?
если да, то php там не сработает
1
0 / 0 / 0
Регистрация: 16.12.2015
Сообщений: 45
01.06.2018, 19:23  [ТС]
Цитата Сообщение от sasha0012 Посмотреть сообщение
свойства content применяется в сочетании с псевдоэлементами ::before и ::after
CSS
1
2
3
class:before, class:after {
...
}
Если у Вас с сессией всё нормально (значение есть и оно отображается на странице), то добавьте псевдоэлементы:
CSS
1
.class:before {content: <?=$_SESSION['primer']?>;}
А так, всё должно работать по приведённому коду.
да, простите, я в первом посте ошиблась, контент и находится в after, и я описывала это через class:after, а не так, как написала в первом посте.
Я решила проблему через присвоение блоку класса class="<?=$_SESSION['.class']?>", но хотелось бы все же так, как вы написали, через переменную в поле контент. Я уже пыталась сделать сделать так, помещать переменную в это поле, в файле .css, но это не сработало и редактор не воспринимал это как php код. Может есть что-то, о чем я не знаю, что нужно сделать, для того, чтобы переменные php в css работали?

Добавлено через 1 минуту
Цитата Сообщение от fanatikus Посмотреть сообщение
с расширением .css?
если да, то php там не сработает
то есть мне нужно сделать у файла стилей расширение .php?
А могу я вместо этого оставить файл стилей как есть, но в php-файле страницы дописать этот фрагмент с полем контент в <style></style>? Если да, то не приведете пример? Потому что я пыталась это сделать и в файле страницы, но эффекта не возымело.
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
01.06.2018, 19:24
В первом случае - 'primer', кавычки не экранированы. Соответственно php должен выдать синтаксическую ошибку.
PHP
1
2
3
4
<?php
echo "<style type='txt/css'>
    .class {content:'primer';}
</style>";
Во втором случае кавычек нет вообще. Соответственно css должен выдать ошибку(в инспекторе видно некорректное свойство)
1
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
01.06.2018, 19:37
Цитата Сообщение от Saky Посмотреть сообщение
но в php-файле страницы дописать этот фрагмент с полем контент в <style></style>
можно
Цитата Сообщение от Saky Посмотреть сообщение
Если да, то не приведете пример
PHP/HTML
1
2
3
4
5
6
<style>
.class:before {
       content: <?php echo $_SESSION['primer'];?>;
}
 
</style>
это если в html выводить

Добавлено через 7 минут
если в php
PHP
1
2
3
echo "<style>
.class:before {'" .  $_SESSION['primer'] .  "';  }
 </style>";
1
0 / 0 / 0
Регистрация: 16.12.2015
Сообщений: 45
01.06.2018, 19:39  [ТС]
Цитата Сообщение от fanatikus Посмотреть сообщение
можно

PHP/HTML
1
2
3
4
5
6
<style>
.class:before {
       content: <?php echo $_SESSION['primer'];?>;
}
 
</style>
это если в html выводить

Добавлено через 7 минут
если в php
PHP
1
2
3
echo "<style>
.class:before {'" .  $_SESSION['primer'] .  "';  }
 </style>";
Не работает
Код из php-скрипта:
PHP
1
2
//условие
    $_SESSION['the-path-trigger'] = '\27A4';
Код страницы:
PHP
1
2
3
4
5
<style>
    .nav-toggle-2:after {
        content: <?php echo $_SESSION['the-path-trigger'];?>;
    }
</style>
Поле всегда пустое, даже при выполнении условия

Цитата Сообщение от fanatikus Посмотреть сообщение
echo "<style>
.class:before {'" . *$_SESSION['primer'] . *"'; *}
</style>";
Не совсем поняла, что значит выводить в html и в php. Расширение страницы должно ведь быть php, чтобы работали скрипты. В любом случае, попробовала, тоже безрезультатно, поле всегда пустое
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
01.06.2018, 19:48
Цитата Сообщение от Saky Посмотреть сообщение
Поле всегда пустое, даже при выполнении условия
а что на самом деле находится в сессии? Вы проверяли, там действительно то что Вы ожидаете?

Цитата Сообщение от Saky Посмотреть сообщение
что нужно сделать, для того, чтобы переменные php в css работали?
http://ruphp.com/php-css-2.html
1
0 / 0 / 0
Регистрация: 16.12.2015
Сообщений: 45
01.06.2018, 19:54  [ТС]
Цитата Сообщение от sasha0012 Посмотреть сообщение
а что на самом деле находится в сессии? Вы проверяли, там действительно то что Вы ожидаете?
Да, при выполнении условия переменная принимает нужное значение
Цитата Сообщение от sasha0012 Посмотреть сообщение
Спасибо, сейчас попробую
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
01.06.2018, 20:06
Цитата Сообщение от Saky Посмотреть сообщение
Не работает
Код из php-скрипта:
Это:
PHP
1
2
3
echo "<style>
.class:before {'" .  $_SESSION['primer'] .  "';  }
 </style>";
нужно заменить на это:
PHP
1
2
3
echo '<style>
.class:before {content: "'.$_SESSION['primer'].'";}
</style>';
1
0 / 0 / 0
Регистрация: 16.12.2015
Сообщений: 45
01.06.2018, 20:31  [ТС]
Цитата Сообщение от sasha0012 Посмотреть сообщение
Это:
PHP
1
2
3
echo "<style>
.class:before {'" .  $_SESSION['primer'] .  "';  }
 </style>";
нужно заменить на это:
PHP
1
2
3
echo '<style>
.class:before {content: "'.$_SESSION['primer'].'";}
</style>';
Скорее всего я делаю что-то критически неправильное, но я не представляю в чем проблема. В любом случае, я перепробовала все, что предлагали, включая манипуляции с .css и echo, которое вы переписали, безрезультатно.
Тем не менее, спасибо всем за помощь, но, видимо, придется вернуться к рабочей версии- переменной указывать класс блока.
0
1152 / 554 / 320
Регистрация: 21.06.2012
Сообщений: 1,854
01.06.2018, 20:43
Цитата Сообщение от Saky Посмотреть сообщение
Скорее всего я делаю что-то критически неправильное, но я не представляю в чем проблема.
Если Вы откроете страницу в браузере, просмотрите "Исходный код", и там будет нечто подобное:
HTML5
1
2
3
<style>
.class:before {content: "нужное значение";}
</style>
значит ошибка в вёрстке css и html, но если Вы не увидите ожидаемого, то проблема не решена, обращайтесь.
1
0 / 0 / 0
Регистрация: 16.12.2015
Сообщений: 45
01.06.2018, 20:54  [ТС]
Цитата Сообщение от sasha0012 Посмотреть сообщение
Если Вы откроете страницу в браузере, просмотрите "Исходный код", и там будет нечто подобное:
HTML5
1
2
3
<style>
.class:before {content: "нужное значение";}
</style>
значит ошибка в вёрстке css и html, но если Вы не увидите ожидаемого, то проблема не решена, обращайтесь.
Я нашла в чем была проблема. Как и ожидалось, была моя ошибка. Я переменной присваивала код символа, но забыла про дополнительные кавычки, в итоге в поле контент уходило значение \27A4, а не '\27A4', глупо получилось. Спасибо всем большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.06.2018, 20:54
Помогаю со студенческими работами здесь

Изменение свойства width в тегах через PHP
Хочу изменять свойство width в теге &lt;object&gt; в зависимости от класса таким образом не работает. Как правильно нужно? ...

Применение стилей в php
Добрый вечер уважаемые форумчане! Столкнулся со следующей проблемой: Написал php документ, который считывает файл csv построчно и...

Ссылка на таблицу стилей в блоках php
Если я делаю блочную систему файлов. То есть присоединяю какой либо блок к главному файлу index через &lt;? include...

Присваивание стилей при генерации HTML таблицы на основе PHP массива
Доброго времени суток! Помогите начинающему!!! 1. Есть PHP массив: $data=array( ...

Яндекс вырезает некоторые свойства стилей при отправке html письма из php
Отправляю письмо из php на яндекс, яша вырезает некоторые стили, почему и как их решить? К примеру яша удаляет такие стили ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru