Показывать X внутри тега body файла php, если размер экрана меньше Y - PullRequest
1 голос
/ 09 января 2012

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

Итак, вот что я сделал до сих пор:

  • Я работаю с php.

  • Я использовал запросы @media, добавив внутрь <head> this: <link rel="stylesheet" type="text/css" media="only screen and (max-width: 700px)" href="/css/smartphones.css" />, поэтому он будет вызывать файл smartphones.css каждый раз, когда пользователи получают доступ к сайту с небольшого устройства.

  • Все идет довольно гладко, до тех пор, пока я не решил адаптировать выпадающее меню. У меня есть выпадающее меню в чистом CSS, которое активируется при наведении мыши. Я использую: hover, чтобы меню выпало.

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

Для этого мне нужно адаптировать файл php-страницы, чтобы скрыть все раскрывающееся меню, и вместо этого показать выпадающее меню "mini-onclick". И вот что я не знаю, как это сделать.

Мне нужен некоторый -javascript, я думаю, - внутри моего тега body (поскольку меню появляется внутри тела), чтобы сказать что-то вроде:

Если экран меньше 700 пикселей, покажите этот код XXXX. Иначе продолжайте с остальной частью страницы.

Я планирую скрыть обычное выпадающее меню с помощью css внутри файла smartphones.css, но не знаю, как отобразить специальное выпадающее меню.

Любая помощь будет принята с благодарностью! СПАСИБО!

Rosamunda

1 Ответ

1 голос
/ 10 января 2012

Вы можете использовать HTTP-заголовок User-Agent в PHP, чтобы определить, должен ли генерироваться код, относящийся к смартфону, вместо обычного кода.

Вы также можете получить свойства экрана через объект screen, а если это смартфон, присоедините раскрывающееся состояние к событию onclick, а если нет - к событию onmouseover.

Это довольно просто. Вы просто меняете свой CSS с someclass:hover на someclass.hoverstate, и когда необходимо активировать раскрывающийся список, вы добавляете класс hoverstate к целевому элементу.

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