Я использую следующий html/css, чтобы попытаться импортировать файлы PHP, чтобы действовать как таблицы стилей. Таким образом, я могу динамически редактировать стили в таблицах стилей. Я новичок в @import, но мне нужно изменить таблицу стилей в зависимости от ширины экрана для текущего устройства. Есть ли очевидные ошибки или я не могу использовать @import для импорта источника из файла PHP?
<!DOCTYPE html>
<html>
<head>
<title></title>
<base href="http://www.shadespeed.com/loyalty_points/" target="_blank" />
<meta name="viewport" content="width=device.width"><meta charset="UTF-8">
<style type="text/css">
@import url('../stylesheets/stylesheet_160_low_res.php')(max-width: 319px);
@import url('../stylesheets/stylesheet_320_small_smartphone.php')(min-width: 320px) and (max-width: 479px);
@import url('../stylesheets/stylesheet_480_smartphone.php')(min-width: 480px) and (max-width: 767px);
@import url('../stylesheets/stylesheet_768_tablet.php')(min-width: 768px) and (max-width: 1023px);
@import url('../stylesheets/stylesheet_1024_monitor.php')(min-width: 1024px) and (max-width: 1279px);
@import url('../stylesheets/stylesheet_1280_large_monitor.php')(min-width: 1280px);
</style>
</head>
<body>
</body>
</html>
До этого я использовал сценарий Javascript, который получает ширину и высоту отображения и сохраняет их в COOKIES, которые PHP может читать. Файлы cookie устанавливаются только в том случае, если они не существуют. Проблема в том, что после того, как будут установлены файлы cookie, они не изменятся. Мне нужно, чтобы они могли меняться, если страница обновлена, поэтому макет может измениться, если скажем, пользователь просматривает веб-страницу на планшете или смартфоне, и они поворачивают экран.
EDIT: Я только что заработал, заменив URL-адреса @import полными URL-адресами файлов таблиц стилей PHP.
<style type="text/css">
@import url('http://www.shadespeed.com/loyalty_points/stylesheets/stylesheet_160_low_res.php')(max-width: 319px);
@import url('http://www.shadespeed.com/loyalty_points/stylesheets/stylesheet_320_small_smartphone.php')(min-width: 320px) and (max-width: 479px);
@import url('http://www.shadespeed.com/loyalty_points/stylesheets/stylesheet_480_smartphone.php')(min-width: 480px) and (max-width: 767px);
@import url('http://www.shadespeed.com/loyalty_points/stylesheets/stylesheet_768_tablet.php')(min-width: 768px) and (max-width: 1023px);
@import url('http://www.shadespeed.com/loyalty_points/stylesheets/stylesheet_1024_monitor.php')(min-width: 1024px) and (max-width: 1279px);
@import url('http://www.shadespeed.com/loyalty_points/stylesheets/stylesheet_1280_large_monitor.php')(min-width: 1280px);
</style>
Я уверен, что я пробовал это раньше, поэтому я думаю, что добавление заголовков в файлы PHP было ключевым. Большое спасибо!
Большое спасибо,
-Dan.
Убедитесь, что вы отправляете правильные заголовки типов контента для этих файлов. Поместите эту строку вверху этих файлов CSS:
<?php header("Content-type: text/css"); ?>