Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Коллективная работа » Мобильная версия форума


Мобильная версия форума

Сообщений 1 страница 4 из 4

1

http://forumstatic.ru/files/000a/8e/4e/91578.png

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

Как это работает?
По умолчанию стиль ужимает ширину форума под размер окна (экрана) если ширина окна (экрана) менее 480px (можно заменить на больший/меньший размер или использовать handheld, сразу определяющий портативное устройство). Проверялось всё на чистом форуме с использованием стандартных стилей оформления и стандартном своём стиле.


Содержание
1. Скриншоты
2. Установка
3. Результаты


Два года назад я предлагал использовать такие настройки в админке: Мобильный стиль. Недавно администратор сервиса сообщил, что мобильная версия форума от сервиса предположительно появится в июне-июле. Пока не известно, будет мобильная версия от сервиса поддерживать основной стиль оформления форума или же мобильная версия будет в виде отдельного стиля.


Тема для обсуждений находится здесь: Тема для обсуждений: Мобильная версия форума

+1

2

Скриншоты

На скриншотах представлен стандартный стиль "MyBB Bluefox".

Главная страница форума

http://sg.uploads.ru/t/AzRoU.png

Одна из тем форума
Используется горизонтальное отображение профиля

http://sg.uploads.ru/t/Y3XAB.png

Быстрые ссылки в виде выпадающего списка
На компьютере отображаются при наведении курсора

http://sg.uploads.ru/t/WGK1M.png

Профиль пользователя
Размер аватарки автоматически подстраивается под ширину блока

http://sg.uploads.ru/t/XGvuO.png


Где можно посмотреть?

Посмотреть работоспособность можно здесь: http://demo.webtalk.ru ← там же осуществляется и разработка.
Зайдите с любого мобильного устройства (смартфона) или мышкой потяните за край окна браузера.

+1

3

Установка

1. Копируете код и, в зависимости от того, каким образом у Вас оформлен форум (1 или 2 пункт ниже), вставляете по месту.

1.1. Если используете свой стиль оформления
Администрирование - Свой стиль, в самом начале первого поля найдите строчку

Код:
/* A1.1 */
  @import url(style_cs.css);

После неё вставьте предложенный ниже код. Обязательно проверьте, чтобы в конце кода были две закрывающие скобки:

  }
}

После этих двух скобок должен идти Ваш основной стиль форума!

1.2. Если используете один из стандартных стилей
Вставлять в Администрирование - Настройки - Основное - поле HTML-верх. Перед вставкой код обязательно обернуть в теги <style> и </style>, пример:

<style>
  здесь код
</style>

Код Текущая версия: 0.5
Код:
@media screen and (max-width: 480px) {
html, body,
#pun, .punbb {
  width: 100% !important;
  min-height: 100%;
  margin: 0;
  padding: 0;
  background-size: contain;
  -webkit-text-size-adjust: none;
}
html {
  height: 100%; }
body {
  position: relative;
  background-position: center 0;
}
td, th {
  overflow: hidden;
}
input[type=text], input[type=password] {
  max-width: 100%;
}
input{
  padding: 10px;
}
select {
  padding: 5px;
}
textarea {
  font-size: 14px !important;
  padding: 1.5% !important;
  max-width: 95% !important;
}
#pun-index table, #pun-viewforum table {
  table-layout: auto !important;
}
#pun-title {
  margin: 0 auto !important;
}
#pun-title table {
  height: auto !important;
}
#pun-title h1 {
  max-height: 100px !important;
}
#pun-ulinks .container {
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  border: none !important;
  text-align: left !important;
}
#pun-ulinks li {
  display: block !important;
  padding: 0 !important;
}
#pun-ulinks a {
  display: block !important;
  border: none !important;
  font-size: 16px !important;
  padding: 3px 6px !important;
}
#profilenav {
  float: none !important;
}
#profile .container {
  padding: 1em !important;
}
#pun-ulinks {
  position: absolute !important;
  border: 0 !important;
  top: 10px !important;
  line-height: 32px !important;
}
#pun-navlinks .container {
  height: auto !important;
  padding: 1em 0 !important;
  text-align: center !important;
}
#pun-navlinks li {
  padding: 0 !important;
  margin: 0 !important;
  line-height: 52px !important;
  background-image: none !important;
}
#pun-navlinks a {
  display: inline-block !important;
  border: 0 !important;
  padding: 0 !important;
}
#pun-ulinks, #pun-navlinks a {
   width: 48px !important;
  height: 48px !important;
  -webkit-border-radius: 4px;
  color: #fff;
  background-image: url(http://forumstatic.ru/files/0015/65/c4/31664.png) !important;
  background-color: rgba(0, 0, 0, 0.4);
  background-repeat: no-repeat;
  -webkit-box-shadow: 0 0 4px rgba(0,0,0,0.4) inset;
}

#pun-ulinks ul {
  display: none;
  -webkit-box-shadow: 0px 4px 10px rgba(0,0,0,0.7);
  z-index: 5;
  position: absolute;
  top: 44px;
  right: 0;
}
#pun-navlinks a span {
  font-size: 0 !important;
}
#pun-ulinks {
  right: 10px;
  background-image: url(http://forumstatic.ru/files/0015/65/c4/31664.png);
  background-position: center -576px;
}
#pun-ulinks:hover ul, #pun-ulinks:focus ul {
  display: block;
}
#pun-stats ul.container {
  padding: 5px !important;
  background: none !important;
}
.category .tcl, .forum .tcl {
  width: 60% !important;
}
.category .tcr, .forum .tcr {
  position: relative;
  width: 30% !important;
  overflow: initial !important;
  right: 40px;
  text-align: right !important;
  font-size: 11px;
}
.category .tcr a, .forum .tcr a {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0;
  background: url(http://forumstatic.ru/files/0015/65/c4/31664.png) no-repeat center -618px;
  border: 0 !important;
  width: 30%;
  height: 100%;
  position: absolute;
  top: 0;
  right: -30%;
  text-decoration: none !important;
}
.hasicon tr {
  padding: 10px 10px;
  border-top: 1px solid #e9edf1;
  overflow: hidden;
}
#pun-title h1 {
  padding: 0 !important;
}
.tclcon {
  margin-left: 32px !important;
}
div.icon {
  background-size: contain;
  max-width: 24px;
  max-height: 24px;
}
.byuser {
  display: block;
}
#pun-viewforum .tcl .byuser:before {
  content: "Автор темы:";
}
#pun-viewforum .tcr .byuser:before {
  content: "Последнее сообщение от:";
}
#pun-status, #pun-break1, #pun-index #pun-crumbs1, #pun-crumbs2, #pun-break3, .category th, .category .tc2, .category .tc3, .forum th, .forum .tc2, .forum .tc3, #post-form legend {
  display: none;
}
.post h3 span {
  margin: 0 !important;
  background: none !important;
  text-align: left !important;
}
.post h3 span, .post-author {
  background-color: rgba(128, 128, 128, 0.15) !important;
}
.post-body, legend, legend span {
    margin: 0 !important;
}
.post-author {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding-top: 10px;
  border-bottom: 1px solid rgba(128, 128, 128, 0.20) !important;
  overflow: initial !important;
}
.post-author ul {
  padding: 0 1em !important;
}
.online .pa-author {
  background: rgba(56, 155, 34, 0.5);
  padding: 1px 3px !important;
}
.pa-reg,.pa-from,.pa-invites,.pa-respect,.pa-positive,.pa-time-visit,.pa-online,.pa-icq,.pa-sex,.pa-age,.pa-last-visit {
    display: none !important;
}
.post-author li {
  display: inline-block;
  margin-right: 5px;
}
.pa-avatar {
  float: left;
  margin-top: -18px;
}
.pa-avatar img {
  max-width: 40px;
  max-height: 40px;
}

.formal .container, .formal fieldset, .usertable .container {
  margin: 0 !important;
  padding: 0 !important;
}
.fs-box .container {
  width: 96% !important;
}
.formsubmit {
  margin: 1em 0 !important;
}

#navindex a,
#navindex a:hover {
  background-position: center 0 !important;
}
#navuserlist a,
#navuserlist a:hover {
  background-position: center -48px !important;
}
#navrules a,
#navrules a:hover {
  background-position: center -96px !important;
}
#navprofile a,
#navprofile a:hover {
  background-position: center -144px !important;
}
#navsearch a,
#navsearch a:hover {
  background-position: center -192px !important;
}
#navpm a,
#navpm a:hover {
  background-position: center -240px !important;
}
#navadmin a,
#navadmin a:hover {
  background-position: center -288px !important;
}
#navlogout a,
#navlogout a:hover {
  background-position: center -432px !important;
}
#navregister a,
#navregister a:hover {
  background-position: center -382px !important;
}
#navlogin a,
#navlogin a:hover {
  background-position: center -336px !important;
}

#profile-left {
  width: 35% !important;
}
#profile-left li {
  text-align: center;
  margin: 0 !important;
}
#viewprofile li strong, #profile-left li div {
  background: transparent !important;
}
#profile-left #profile-name {
  background-color: rgba(128, 128, 128, 0.15);
  border-top: 4px solid rgba(128, 128, 128, 0.20) !important;
}
#viewprofile li strong {
  display: block;
  font-weight: 400 !important;
  padding: 6px 1em;
}
#profile-left #profile-title {
  background-color: rgba(128, 128, 128, 0.15);
}
#profile-left li img {
  max-width: 100% !important;
  height: 100% !important;
  background-color: rgba(200, 200, 200, 0.2);
  margin-top: 10px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
#profile-left li:nth-child(3) {
  background-color: rgba(128, 128, 128, 0.15);
}
#profile-left li:last-child {
  background-color: rgba(128, 128, 128, 0.15);
  border-bottom: 4px solid rgba(128, 128, 128, 0.20);
}
#profile-right {
  position: relative;
  right: -4px;
}
#profile-right li {
  display: inline-block !important;
  background-color: rgba(128, 128, 128, 0.30) !important;
  border-left: 4px solid rgba(128, 128, 128, 0.50) !important;
  margin-bottom: 4px !important;
  padding: 0 !important;
  width: 100% !important;
}
#viewprofile li span {
  float: none !important;
  display: inline-block;
  font-weight: 700;
  padding: 10px 10px 5px;
  margin: 0 0 10px;
}
#profile-right li strong {
  font-size: 16px;
  line-height: 1.1;
  padding: 0 10px 10px !important;
}
#profile-right li strong a {
  text-decoration: none;
  border-bottom: 1px solid;
  font-size: 11px;
}
  }

2. Чтобы форум корректно отображался на мобильных устройствах, для этого в Администрирование - Раскрутка - Метатеги

В первое поле (имя) вставьте: viewport
Во второе поле (содержимое): width=device-width, initial-scale=1.0

http://s8.uploads.ru/t/AmufL.png
Подробности об этом мета-теге можно почитать на странице Google Developers.


Changelog
% Поправлен вид профиля в сообщениях;
% Размер иконок меню немного уменьшен в пропорциях;
% Заменены иконки "Регистрация" и "Вход" на новые;
+ Добавлен стиль оформления профиля пользователя;


Тестируйте и отписывайтесь в теме: Тема для обсуждений: Мобильная версия форумов. Спасибо всем, кто тестирует и помогает в универсализации кода :cool:

+3

4

Результаты

При помощи полезнейшего инструмента от Google Devlopers — PageSpeed Insights, был проанализирован форум с установленным стилем из этой темы. По результатам анализа скорость загрузки страницы составляет 67 баллов из 100 (чистый форум без скриптов). К сожалению, своими силами прибавить скорость не удастся (необходимо вносить поправки в форумы на уровне сервиса).

http://sg.uploads.ru/t/tvPnw.png

Зато удобство для пользователей, сидящих с мобильных устройств, составляет 96 баллов из 100! 4 балла присуждаются подключенным на странице форума плагинам флеша, которые гугл рекомендует заменить на альтернативный вариант (опять же, сделать это можно только на уровне сервиса).

http://sh.uploads.ru/t/ePdKj.png

В то время как на форуме без установленного стиля (в нашем случае был взят этот форум технической поддержки) удобство для пользователей сидящих с мобильных устройств составляет 61 балл из 100.

http://sg.uploads.ru/t/ZXKlC.png

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

+1


Вы здесь » Единый форум поддержки » Коллективная работа » Мобильная версия форума