PHP версия CSS Media Queries - PullRequest
       5

PHP версия CSS Media Queries

8 голосов
/ 06 апреля 2011

Не могу найти что-либо в Интернете для этого, хотел бы выкинуть вопрос там.

Является ли PHP-версия CSS Media Queries?

Ответы [ 5 ]

2 голосов
/ 25 мая 2012

Я использовал метод (найденный на http://php.net/manual/en/faq.html.php Пример # 4), который комбинирует javascript и php для достижения альтернативы для медиа-запросов.Я достигаю этого, используя JavaScript, встроенный в мой php, для публикации переменной (screen.width), которая затем используется php для определения точек останова для загрузки таблиц стилей.Включите в свой заголовок следующий фрагмент:

<?php
  if (isset($_GET['width'])) {
    $width = $_GET['width'];
    if ($width <= 480) { //mobile devices
      $style = '<link rel="stylesheet" href="mobile.css" type="text/css">';
    } elseif ($width <= 720){ //tablets
      $style = '<link rel="stylesheet" href="tablet.css" type="text/css">';
    } else { //desktops
      $style = '<link rel="stylesheet" href="desktop.css" type="text/css">';
    }
    echo $style;
  } else {
      echo "<script language='javascript'>\n";
      echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}" . "&width=\" + screen.width; \n";
      echo "</script>\n";
      exit();
  }
?>

Я обнаружил, что использование этого метода также более эффективно для загрузки содержимого страницы, в отличие от медиазапросов (которые будут загружать стили CSS для всех устройств, даже когдав этом нет необходимости, т. е. на мобильные устройства по-прежнему загружаются стили рабочего стола).Этот метод обеспечивает загрузку таблиц стилей только для конкретного устройства, при условии, что у вас есть таблица стилей, которая имеет общие стили для всех мультимедийных устройств.

2 голосов
/ 06 апреля 2011

Нет, нет.

Браузер не отправляет информацию о любых своих медиа-функциях на сервер, поэтому в PHP нет информации, необходимой для реализации.это.

2 голосов
/ 06 апреля 2011

Я предполагаю, что вы захотите сделать это с целью обнаружения мобильных браузеров - если нет, то этот ответ немного не имеет значения.

Вы можете проверить Mobile ESP для библиотеки обнаружения агента пользователя мобильного устройства. Он очень прост в использовании и хорошо работает в моем опыте.

1 голос
/ 06 апреля 2011

Существует функция get_browser php, которую можно использовать для определения некоторых возможностей браузера. Но это не то же самое, что медиа-запросы. Медиа-запросы css являются условными для отображения измерений на устройствах. Функция php не возвращает такую ​​информацию.

1 голос
/ 06 апреля 2011

Вы можете проверить $_SERVER['HTTP_USER_AGENT'] и принять решение на основании того, что вы там найдете.Может быть, где-то есть библиотека, которая уже позаботилась об этом, но я не знаю ни одной, которая была бы у меня в голове.

...