Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Разработка и сопровождение сайтов (http://forum.sape.ru/forumdisplay.php?f=29)
-   -   Оптимизация сайта для планшетов и телефонов - в 2 строчки (http://forum.sape.ru/showthread.php?t=94083)

D.iK.iJ 02.11.2014 21:38

Оптимизация сайта для планшетов и телефонов - в 2 строчки
 
Для тянущегося дизайна поэкспериментировал и использую такое:
Код HTML:

<meta name=viewport content="width=device-width, height=device-height, initial-scale=1">
В стилях вот такое:
PHP код:

@media screen and (max-width650px) { // Если ширина экрана меньше 650
img {max-width96% !important;}
iframetablespandivtextareainputbuttonsubmit {max-width100% !important;}

//Чтобы блоки комментариев не расползались до 500px.
#vk_comments {max-width: 96% !important;}
#fb-comments {max-width: 96% !important;}
#comments {max-width: 96% !important;}


+++
Неплохо отображаются картинки;
В телефоне сайт выглядит намного крупнее;
Текст читать удобно (можно еще настроить отдельно шрифт);
Влазят даже большие блоки Адсенс за счет уменьшнния iframe.

---
Картинки немного корежит по высоте. Понятия не имею как исправить;
Бывает, картинку в таблице сжимает до 0. Применять бы стили только к большим изображениям (больше 360px);
Сделать бы перенос (на новую строку) ячеек из больших таблиц. Из-за этого колонки очень уж узкие.

Очень хочется совет - как бы до ума довести.

Добавлено через 23 часа 39 минут
Покопался еще немного с кодом. Думаю использовать еще псевдоклассы сss :after, :before.

D.iK.iJ 14.11.2014 18:51

Долго тупил, но с картинками справился как-то так:

Код:

@media screen and (max-width: 650px) {
img {max-width: 96% !important; height: auto !important;}
iframe, textarea, input, button, submit, video, object, embed {max-width: 99% !important;}
table, span, div, ins {max-width: 100% !important;}
}


D.iK.iJ 27.01.2015 14:43

Чтоб не потерять ссылку на проверку оптимизации в Гугле: https://developers.google.com/speed/pagespeed/insights/

Cyber-Gateway 28.01.2015 23:50

Cпасибо за идею.

D.iK.iJ 29.01.2015 09:52

Цитата:

Сообщение от Cyber-Gateway (Сообщение 1432983)
Cпасибо за идею.

Гляньте еще на Серче. Там побольше тема: http://searchengines.guru/showthread.php?t=873867

D.iK.iJ 02.02.2015 21:21

Ура! Я получил свои 99 / 100 Удобство для пользователей

Делалось довольно просто, если интересно:
1) Табличку меню сделал align="left" ну или style="float: left;".
2) Табличку контента не трогал, добавил <center>
3) Перед футером: <br clear="all">
4) Всякие счетчики и подписи (которые должны стоять рядом) засунул в блоки со стилями display: inline-block; width: 30%;

5) Допилил немного media:
- Увеличил шрифты при уменьшении экрана (font-size: 110%;)
- Интервал между строк тоже подрос (line-height: 130%;)
- Появились переносы через hyphens: auto;
- Меню где-то на ширине экрана 500px разворачиваю на width: 100%;
- Ну а лишние блоки, виджеты и групп и небоскреб в левой колонке скрываю через display: none !important;

Кажется, все. Только для ширины экрана в 350 добавляю переносы всех слов в любом месте (word-break: break-all;) и еще увеличиваю шрифт и межстрочный интервал :)

Если интересно посмотреть: http://dikij.com/
Или: http://atola.name/

С хрома можно смотреть прямо так (надо только обновлять страницу на нужном размере - чтобы реклама не мешала и подстраивалась).
P.S. Фаерфокс что-то тупит и не переносит таблицу на новую строку.

MonAmur 02.02.2015 21:55

Цитата:

Да мне плевать, как мой сайт видится в мобильных устройствах. Мне, что, остаток жизни потратить, выискивая и устраняя ошибки, чтобы потрафить этим козлам из Америки? Итак урезали выдачу и, соответственно, посещаемость - в поиске гугля всего 14% от общего (более 4200) количества проиндексированных им страниц сайта. Хрена с два я что сделаю! Кому интересно, тот всегда находит способ зайти на сайт, чтобы нормально видеть его. А то в "исправлении ошибок" еще написали, что на сайте шрифт слишком мелкий. Я, что, идиот, на каждой странице шрифт менять? Может, еще зад им поцеловать? Пусть мой целуют. Плевать на их санкции, русские не сдаются, даже когда погибают.
бгггг

D.iK.iJ 02.02.2015 21:58

Да меня за*кол****о, что сам с телефона тыкаю вечно не на те ссылки. Хоть дизайн и резиновый.
А раз стал копать адаптивную рекламу гугла, то и тут перепилил заодно. :)

Делов-то...

DVE 14.03.2015 19:58

D.iK.iJ, спасибо за проделанную работу и за подробный отчет!

D.iK.iJ 14.03.2015 22:03

Цитата:

Сообщение от DVE (Сообщение 1436002)
D.iK.iJ, спасибо за проделанную работу и за подробный отчет!

Не помню, добавлял ли я в тему, но 100% рабочий вариант - как сделать чтобы таблицы смещались друг под друга без проблем в фаерфоксе, это обернуть их в див:
Цитата:

<div style="display: inline-block; min-width: 200px; width: 30%;" align="left">
Конечно, min-width: 200px; width: 30% - это просто для примера.

А один align="left" style="float: left;" примененный к таблице дает неплохие такие глюки. А примененные к 2 таблицам - еще более странное поведение :)

D.iK.iJ 01.05.2015 15:58

На данный момент работаю с заказами с Серча. На данный момент адаптировал уже порядка 18 сайтов.

А вот последние полезные наработки:

PHP код:

<meta name=viewport content="width=device-width, initial-scale=1"


PHP код:

@media screen and (max-width700px) {
img {max-width96% !importantheightauto !important;}
iframetextareainputbuttonsubmitvideoobjectembed {max-width99% !important;}
tablespandivins {max-width100% !important;}
}
@
media screen and (max-width500px) {
bodytbody {
-
moz-hyphensauto;
-
webkit-hyphensauto;
-
ms-hyphensauto;
hyphensauto;}
}
@
media screen and (max-width400px) {
td {word-break: break-all;}



D.iK.iJ 25.08.2015 21:45

Да, если что, принимаю заказы на адаптацию сайтов.

Пишите, всегда можем договориться о скидках :)

D.iK.iJ 23.12.2015 08:46

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


С адаптивной рекламой Гугла все довольно просто. Там есть специальные блоки, я только меняю обычно data-ad-format="auto" на data-ad-format="rectangle". Это позволяет показывать только прямоугольные и квадратные блоки, занимая под статьей больше места.

Еще можно показывать, например, большой блок рекламы для десктопа и адапривный - для меньших экранов:
Цитата:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Дикий 3 -->
<script>
if(document.getElementsByTagName("body")[0].offsetWidth>=900) {
document.write('<ins class="adsbygoogle" style="display:inline-block;width:580px;height:400px" data-ad-client="ca-pub-435345345345345" data-ad-slot="345345345345"></ins>');
}else{
document.write('<ins class="adsbygoogle" style="display:block; width: 90%;" data-ad-client="ca-pub-45645645645234" data-ad-slot="234234234234234" data-ad-format="rectangle"></ins>');
}
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

У Яндекса сейчас тоже появилась адаптивная реклама, но я предпочитаю использовать горизонтальный тизер, просто меняя количество объявлений. Ну и по центру его неплохо бы выравнивать.
Для этого нжно добавить к div: style="margin-left: auto; margin-right: auto; display: inline-block;"

Как же изменить количество объявлений в блоке для подстройки под адаптивный дизайна?
Для асинхронного кода после (function(w, d, n, s, t) { нужно вставить скрипт определения ширины экрана: var limmw=document.getElementsByTagName("body")[0].offsetWidth; if (limmw>=1020) {var limm="3";} else {var limm="2";} if (limmw<=820) {limm="1";} Ну и заменить limit на limit: limm,

D.iK.iJ 21.01.2016 20:38

Я просто обязан оставить это тут:

https://media.giphy.com/media/3oFyD3...b8li/giphy.gif

D.iK.iJ 18.02.2016 19:23

Сегодня переделывал сайт pleervox.ru и получил у Гугла 100 / 100 Удобство для пользователей. :)
Даже слайдер и просмотрщик фотографий переделан под мобильные устройства.



Единственное, я не понял, что за просмотрщик фото такой в карточке товара, но адаптируется он для мобильных и планшетов вот так:
Цитата:

#cboxTopLeft {display: none !important;}
#cboxTopCenter {display: none !important;
#cboxTopRight {display: none !important;}
#cboxMiddleLeft {display: none !important;}
#cboxMiddleRight {display: none !important;}
#cboxBottomLeft {display: none !important;}
#cboxBottomCenter {display: none !important;}
#cboxBottomRight {display: none !important;}
#colorbox {width: 100% !important; min-width: 100% !important; left: 0px !important;}
#cboxWrapper {width: 100% !important; min-width: 100% !important;}
#cboxLoadedContent {width: 100% !important; min-width: 100% !important;}
#cboxContent {width: 100% !important; min-width: 100% !important;}
.cboxIframe {width: 100% !important; min-width: 100% !important;}
Код ставится, например, в @media screen and (max-width: 700px) { Тут код }

Dohlaja_Sova 19.02.2016 12:21

интересно, если в медию сразу *{display: none} воткнуть, удобство будет 146%?-)

D.iK.iJ 19.02.2016 13:17

Цитата:

Сообщение от Dohlaja_Sova (Сообщение 1465524)
интересно, если в медию сразу *{display: none} воткнуть, удобство будет 146%?-)

Кстати, будет. Гугл у страницы с ошибкой 500 тоже показывает 100 из 100 удобства для пользователя :)

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

Ну а потом все блоки и фрейм просмотрщика версии для печати растянул на 100% по ширине экрана. Удобно вполне. Да и лучше, чем убирать функционал.

D.iK.iJ 23.02.2016 23:39

Довольно интересная статья: https://habrahabr.ru/post/277753/

"Начиная с 39 версии хрома для Android Lollipop была внедрена возможность менять цвет интерфейса браузера веб-разработчиками.
Сделать это просто, нужно в <head> добавить новый мета-тег:"
Цитата:

<meta name="theme-color" content="#9CC2CE">
Ну и "Google также рекомендует использовать иконку высокого качества, чтобы это выглядело еще лучше:"
Цитата:

<link rel="icon" sizes="192x192" href="nice-highres.png">

Кстати, для добавления иконок в Айфонах я когда-то сделал у себя на сайтах файл browserconfig.xml:
Цитата:

<?xml version="1.0" encoding="utf-8"?>
<browserconfig><msapplication><tile>
<square70x70logo src="apple-touch-icon.png"/>
<square150x150logo src="apple-touch-icon.png"/>
<wide310x150logo src="apple-touch-icon.png"/>
<square310x310logo src="apple-touch-icon.png"/>
<TileColor>#666666</TileColor>
</tile>
</msapplication>
</browserconfig>
И две картинки: apple-touch-icon.png
и apple-touch-icon-precomposed.png (со скруглениями).

Две - так как я очень ленивый, а проверять просто негде.

D.iK.iJ 01.03.2016 00:35

Сделал тут простую кнопку переключения на полную версию сайта для адаптивного дизайна:

В Хедер, вместо meta name=viewport:
Цитата:

<? if (isset($_COOKIE['mobile'])) { ?><meta name=viewport content="width=device-width, initial-scale=1"><? } else { ?><meta name=viewport content="width=1024, initial-scale=0.1"><? } ?>

Сама кнопка:
Цитата:

<? if (isset($_COOKIE['mobile']) and $_COOKIE['mobile']=="no") { ?><a href="" onclick="SetCookie('mobile=yes', 0);">На обычную версию</a><? }else{ ?> <a href="" onclick="SetCookie('mobile=no', 30);">На мобильную версию</a><? } ?>
<script>
//Ставим Куки
function SetCookie(id, days){
var ws=new Date();
ws.setDate((days-0+ws.getDate()));
document.cookie=id+"; path=/; expires="+ws.toGMTString();
}
</script>
Куки на 30 дней, страница перегружается по скрипту. Работает, проверил.
На здоровье :)

Если кому-то интересны технические моменты, то мы меняем width=device-width на width=1024, делая сайт "шире" для мобильного устройства. Также, я изменил начальный масштаб загрузки страницы с initial-scale=1 на initial-scale=0.1 - так работа очевиднее.

D.iK.iJ 06.03.2016 18:26

Сегодня у нас интересная тема!
Как сделать таблицу адаптивной и не сойти с ума

В общем, адаптация под "резиновую верстку" табличного сайта часто выглядит примерно вот так. Особенно, если нет легкого доступа к самой таблице.

https://pp.vk.me/c543103/v543103411/...wmxXGiGNGY.jpg

У меня есть полная статья на эту тему, но давайте тут просто приведу список полезностей по пунктам:

1) td {hyphens: auto;} - корректный перенос слов в таблице. Жаль, не во всех браузерах.

2) word-break: break-all; - принудительно разбиваем строки и слова в таблице. Не очень красиво, но работает.

3) <WBR> сами расставляем места переносов.

4) Заключаем таблицу в DIV c фиксированной шириной и overflow: auto. Это включит прокрутку по горизонтали.

5) Иногда достаточно уменьшить отступы в ячейках.

6) td {display: inline-block !important; width: 100% !important;} - а этот способ дошел до меня совсем недавно. Можно сделать столбцы таблицы блоками или инлайн-блоками. Это настолько легко и круто, что даже слов нет!

Любые карточки товаров легко складываются друг под друга, а ячейки переносятся. И все это - без физической разбивки таблицы на 2 части (у таблиц вообще много глюков с float: left в разных браузерах).

Да, подход применим и к строкам (tr). В принципе, стилями таблицу можно даже пересобрать заново.

poplop 06.03.2016 20:30

Дикий, ты лучший, не останавливайся

D.iK.iJ 17.03.2016 19:41

max-width не работает в Firefox и IE 11 для изображений. И буду рад, если кто-то знает другое решение :)

Большинство современных браузеров вполне корректно понимают max-width: 100% и уменьшают изображение, если оно не помещается в контейнер. С IE 11 и Firefox такого не происходит. По какой-то причине эти браузеры считают, что max-width: 100% относится к истинной ширине изображения, а не к ширине в контейнере.

Решение довольно простое: Мы дополнительно задаем изображению width: 100% (не забываем про height: auto).
Картинка растягивается на весь контейнер и уменьшается вместе с ним. Как минус - нужно очень точно указывать стили, чтобы не растягивать маленькие изображения.

Если у разных картинок нет разных классов, иногда можно воспользоваться медиа запросами и CSS селекторами.
Например: img[src$="-560.jpg"] {width: 100% !important; height: auto !important;}


Есть еще одно нудное и долгое решение.
Указывать каждому изображению width: 100%; height: auto; max-width: 800px; max-height: 600px;
Где 800 и 600 я указал просто для примера. Тут max-height больше всего нужен для IE 11. Там все будет работать корректно только в том случае, если на сайте указан доктайп.

poster 17.03.2016 20:32

Цитата:

Сообщение от D.iK.iJ (Сообщение 1467015)
буду рад, если кто-то знает другое решение :)

А если для изображения задать такой класс <img class="klass".....

.klass {
display: block;
width: 100% \9;
max-width: 100%;
height: auto;
}

D.iK.iJ 17.03.2016 21:15

Вот что нашел по этому:
Цитата:

width: 100% \9; // Force IE10 and below to size SVG images correctly
Сейчас проверю, но ИЕ 11 и Фаерфокс что-то там не указан.
(Проверил, не работает).

Кстати, тест проблемы: http://dikij.com/test.php

Код
Цитата:

<table border="1" width="100%"><tr><td>
<img style="max-width: 100%;" src="http://dikij.com/foto/661.jpg">
</td></tr></table>

poster 17.03.2016 21:49

Цитата:

Сообщение от D.iK.iJ (Сообщение 1467022)
(Проверил, не работает)

Вроде работает. Проверьте и напишите я удалю тест файл.

D.iK.iJ 17.03.2016 23:41

Цитата:

Сообщение от poster (Сообщение 1467023)
Вроде работает. Проверьте и напишите я удалю тест файл.

Для начала, там нет таблицы у вас. А это важно :)
Думаю, нужно было подробнее написать, что дело именно в дочернем элементе (или как это называется?)

Но любопытно, да, что картинка в Боди с max-width: 100% действительно уменьшается.

D.iK.iJ 24.03.2016 16:14

Адаптивные таблицы при помощи только CSS стилей 2

Развивая идею адаптивных таблиц, сделал такое вот интересное решение с прокруткой:

Цитата:

table {border: 1px solid #333333;
width: 100% !important;
overflow: auto !important;
display: block !important;
}
table tbody {display: table !important;
width: 99.9% !important;}
Здесь я обвожу таблицу рамкой, чтобы было понятнее, что она не обрезана.

Потом назначаю тегу table ширину 100% и делаю его контейнером с прокруткой для самой таблицы, роль которой теперь будет играть tbody.
У последнего я еще чуть уменьшил ширину, так как часть ее уходит на рамку.

Все это позволило сделать адаптивные таблицы с большим количеством колонок красивыми. :)


Почему не обернуть table, например, элементом div и не применить стили и прокрутку уже к нему?
Дело в том, что на сайтах бывает очень много таблиц. А у меня обычно доступ только к стилям. И для каждой правки требовалось бы отдельно просить администратора внести изменения.

D.iK.iJ 04.04.2016 20:30

Спасибо за отзывы!

Сегодня хочу добавить интересное. Адаптивные таблицы при помощи CSS стилей 3. Справляемся с thead и tbody одновременно.

Я уже писал про адаптацию таблиц для мобильных устройств. И писал про адаптивные таблицы при помощи стилей.

А в этот раз у таблиц на сайте клиента был не только tbody, но и thead. И если делать прокрутку по старому варианту, они сжимаются не одинаково, а в зависимости от содержимого. Поэтому CSS был мной немного переделан:

Цитата:

table {border: 1px solid #333333; display: block !important; width: 99% !important; overflow: auto !important;}
table:before {content: ""; display: table-cell !important; overflow: auto !important; width: 1% !important;}
Если использовать только первую строку стилей, таблица будет сжиматься нормально. Но вот растягиваться на 100% она не хочет. Только по ширине содержимого.
А вот добавление table:before c display: table-cell растягивает содержимое на 100%.
Магия :)

Ну и важный момент про шрифты!
Все что меньше 12px - не пройдет проверку в новом Яндекс Вебмастере! Кажется, там есть определенный порог по количеству слов (или символов) на странице - со шрифтом такого размера. Но я обычно не рискую.
Да и 12 пикселей - это уже совсем мелко для телефона.

D.iK.iJ 22.04.2016 21:41

Встретил тут на одном форуме код "как уменьшить весь сайт при уменьшении ширины экрана".
Написал свою версию для примера. Так делать не нужно! :D:D:D

Цитата:

<style>
@media screen and (max-width: 768px) {
html{
width: 100%;
height: 150%;
}
body{
transform:scale(0.5);
transform-origin: center top;
}
}
@media screen and (max-width: 384px) {
html{
width: 100%;
height: 175%;
}
body{
transform:scale(0.25);
transform-origin: center top;
}
}
</style>
Без использования зума, так как он не кроссбраузерный вообще.

D.iK.iJ 28.04.2016 16:37

Я тут уже писал, что max-width не работает в Firefox и IE 11 для изображений в таблицах.

Вот все решения, которые удалось найти:

1) Прописываем width: 100% изображению. Только я советую добавить height: auto. В идеале, можно прописать max-width с max-height. И в них указать размер картинки. max-height тут нужен для старых браузеров, в основном.

2) Добавить таблице table-layout: fixed. Это просто магия. Картинки начинают корректно ужиматься сами.

3) Можно вообще полностью избавиться от таблицы, прописав ячейкам display: block. Бывает очень удобно, если таблица с 1 ячейкой (td) или они друг под другом.

4) В интернете прочитал, что можно поместить картинку в контейнер и прописать ему максимальные значения картинки. Но вот зачем - я не понимаю. Проще уж как в 1 пункте.

Сразу добавлю, что по спецификации max-width не работает и для самой таблицы. Но тут уж совсем просто. Достаточно обернуть таблицу в DIV и ему прописать максимальную ширину.

poster 28.04.2016 21:55

Цитата:

Сообщение от D.iK.iJ (Сообщение 1468910)
Вот все решения, которые удалось найти:

Еще вот так работает.

Код HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Таблица</title>
</head>

<style>
.img-responsive {
display: block;
width: 100%;
max-width: 100%;
height: auto;
}
</style>

<body>
<table>
  <tr>
      <td><img class="img-responsive" src="https://upload.wikimedia.org/wikipedia/commons/c/c4/PM5544_with_non-PAL_signals.png" alt="" /></td>
  </tr>
</table>
</body>
</html>


D.iK.iJ 28.04.2016 22:16

Спасибо :) Но я там в 1 пункте писал про width: 100%.
Разве от display: block; что-то сильно изменится?

D.iK.iJ 03.05.2016 20:23

Кто-то может покидать статистику. Что вообще в ней происходит после подключения адаптива или мобильной версии?

Сегодня просто увидел красоту:
http://dikij.com/foto/667.jpg

Но вдруг на выборке 10 - 20 сайтов все не так красиво.

D.iK.iJ 14.09.2016 17:24

Если кто-то еще использует Крутилку в партнерке Озона, могут быть полезны такие вот стили:

Цитата:

/* Адаптируем Озон */
.OzonRev_tbMax {margin-bottom: 15px;}
img.OzonRev_border0 {height: 15px !important;}
div.OzonRev_logo > a {background: none !important; padding-right: 0px !important; border-bottom: 0px !important;}
.OzonRev_skin_12 .PartnHead .PartnHeadLogo > a {background: none !important;}
.OzonRev_skin_0 .PartnHead .PartnHeadLogo > a {background: none !important;}
.OzonRev_pad5_1 a {border-bottom: 0px !important; background: none !important; padding-right: 0px !important;}
.OzonRev_skin_12 a.OzonRev_detailName {background: none !important; padding-right: 0px !important;}
.OzonRev_skin_0 a.OzonRev_detailName {background: none !important; padding-right: 0px !important;}
a.OzonRev_podrLink {background: none !important; padding-right: 0px !important;}
td.OzonRev_tdPic {width: 90px !important; max-width: 90px !important; padding-right: 10px; padding-bottom: 10px;}
td.OzonRev_tdPic a img {width: auto !important; max-width: 100% !important; height: auto !important; max-height: 120px !important;}
td.OzonRev_tdDetail {width: auto !important;}
td.OzonRev_tdSale {width: 112px !important;}

@media screen and (max-width: 500px) {
td.OzonRev_tdPic {display: block !important; float: left !important;}
td.OzonRev_tdDetail {display: inline !important;}
td.OzonRev_tdDetail a {word-break: break-word !important;}
td.OzonRev_tdSale {width: 100% !important; display: block !important; padding-left: 0px !important; padding-right: 0px !important; padding-bottom: 15px !important; clear: left !important; margin-top: -10px !important;}
.OzonRev_skin_12 div.OzonRev_priceTitle {display: inline-block !important; width: auto !important;}
.OzonRev_skin_12 div.OzonRev_priceValue {display: inline-block !important;}
.OzonRev_skin_0 div.OzonRev_priceTitle {display: inline-block !important; width: auto !important;}
.OzonRev_skin_0 div.OzonRev_priceValue {display: inline-block !important;}
.OzonRev_pad5_1 {display: inline-block !important; padding-top: 0px !important; height: 23px !important; vertical-align: middle !important; padding-bottom: 7px !important;}
img.OzonRev_imgBay {width: 24px !important;}
}
Пример.
Подойду к прозрачным Крутилкам и Крутилкам с белым фоном, когда товары идут друг под другом.
Хотя, они немного избыточны, так как у меня внешние ссылки дополнительно помечаются картинкой. И еще подключены стили из этой темы. :) Потому пришлось местами "обнулить".

qkowlew 15.09.2016 04:39

Покувыркавшись на нескольких сайтах с адаптацией под мобильники и узкие экраны, скажу так:

1. ДА, это ИМЕЕТ смысл! Рост посещаемости ~вдвое, положительная реакция поисковиков да, приносит результат.

2. Я лично при этом соблюдаю вот такие принципы и применяю вот такие решения:

2.1. Если у сайта изначально нет "постоянно висящей менюшки в определённом углу", а навигация вся сверху - вешаем ему стандартную кнопку "Наверх" яваскриптовую, причём достаточно широкую чтобы в неё легко было попадать, и чтобы она закрывала наименее значимую часть контента справа внизу. И чтобы появлялась только тогда, когда актуальна. я брал скрипт отсюда и редактировал под себя

2.2. На экране шириной менее 400 пикселей ВСЕ картинки и ВСЕ ссылки с текстом длиннее 10 символов СЛЕДУЕТ делать width:100% display: block и clearfix! Альтернативное решение - короткие тексты ссылок. См., например, у меня на http://arda.su/ (ссылки на альбомы, годы, синглы) - конструктивная ругань принимается, кстати. :) Ещё там есть изврат - старый вариант сайта с радикальным изменением дизайна страниц на малой ширине экрана

2.3. На малой ширине экрана надо или очень сильно уменьшать, или вообще гасить display: none логотип сайта и большую часть шапки. Иначе оно бессмысленно тратит место на экране.

2.4. на ширинах менее 400 пикселей тизеры новостей и статей сайта проще, лучше и юзабельнее сделать БЕЗ КАРТИНОК и БЕЗ ДАТ вообще, а вот шрифт этих ссылок увеличить до читабельного состояния.

D.iK.iJ 17.09.2016 17:46

qkowlew, спасибо за статистику! Редко присылают.

Я бы по 2.1 добавил, что можно сделать плавающей кнопку "бутерброда" и уже при клике по ней прокручивать вверх. У меня такая кнопка слева на http://dikij.com/ есть и на остальных сайтах - тоже сделал. Только там стрелка, так как "бутерброда" в шапке нет и впихнуть его некуда.

2.2 на arda.su неплохо бы добавить отступы от края в 1 - 2%. А вот про ссылки display: block - не совсем понял - зачем. Максимум делал ссылки display: inline-block с отступами.

2.3. Можно, но не очень люблю, когда ленятся и уже пикселях на 800 врубают "мобильную" версию без шапки. :)

2.4 Зависит от сайта. Можно убрать обтекание картинок, сделать width: 100% и display: block с margin: 5px auto например.

qkowlew 17.09.2016 18:17

Цитата:

2.2 на arda.su неплохо бы добавить отступы от края в 1 - 2%. А вот про ссылки display: block - не совсем понял - зачем. Максимум делал ссылки display: inline-block с отступами.
инлайн блок поверх уже имеющегося непрямого дизайна может давать спецэффекты, с которыми я столкнулся на промежуточном этапе возни с например http://beta-press.ru (там ещё стояла задача сохранить совместимость имеющегося PHP движка с его обновлениями автором, хехе. Что решительно уменьшало пространство для манёвра). Потому я как-то перестал его активно применять. :(

Цитата:

2.3. Можно, но не очень люблю, когда ленятся и уже пикселях на 800 врубают "мобильную" версию без шапки. :)
Согласен, тоже не очень люблю. Но при исходной таблице фикс ширины 960px с фиксированными размерами картинок в ячейках и (тадам!) точно подогнанных однопиксельных рамочках это бывает такой адЪ, что проще погасить это всё ( см. тот же бета-пресс ) и (если движок позволяет) нарисовать вместо этого более резиновую шапочку.

Прикол отдельный тут в том, что проверка Яндекс-Вебмастером "сайт оптимизирован для мобильных устройств" подразумевает, в частности, отсутствие горизонтальной прокрутки. И, фактически, для более позитивного отношения яндекса, ЛУЧШЕ погасить ссовсем такую фиксированную-табличную шапку, если с ней не удалось справиться.

Цитата:

2.4 Зависит от сайта. Можно убрать обтекание картинок, сделать width: 100% и display: block с margin: 5px auto например.
Ага. Зависит. И при вертикальной картинке тизерная картинка сжирает весь экран, а квадратная - больше половины, хехе. Так что это только при тизерных картинках исключительно горизонтальной ориентации.

D.iK.iJ 18.09.2016 00:17

Я бы не выдержал, разнес бы таблицу на блоки с обтеканием, сделал ширину контента 98 с margin 1% по краям.
Ну и логотип поставил бы по центру. Так он почти всегда выглядит лучше. Плюс, инлайн-блоки для верхнего меню с выравниванием по центру.


qkowlew 18.09.2016 14:59

Цитата:

Сообщение от D.iK.iJ (Сообщение 1475620)
Я бы не выдержал, разнес бы таблицу на блоки с обтеканием

Так как раз тизерные элементы я устал утрясать - они в этом движке для группы сайтов генерятся одинаково и очень ракообразно, и если я чуть сильнее исправлю этот кусок говнокода "в основной ветке" - поедет дизайн намного более посещаемых и сложных по структуре сайтов, за что клиенты полезут в бутылку. :(

Цитата:

Ну и логотип поставил бы по центру. Так он почти всегда выглядит лучше.
Это уже я "так и не решил, как лучше" и "оставил как клиент сказал ДА!!!" на получившейся картинке. Согласен, дошлифовать было можно. В данном случае логотип квадратненький и задуман изначально как "верхний левый угол страницы". :)

Цитата:

Плюс, инлайн-блоки для верхнего меню с выравниванием по центру.
Вот это, пожалуй, верно.

Добавлено через 4 минуты
Цитата:

Сообщение от D.iK.iJ (Сообщение 1475620)
Я бы не выдержал, разнес бы таблицу на блоки с обтеканием, сделал ширину контента 98 с margin 1% по краям.

Надо будет более обстоятельно перепроверить работу процентов в маргинах и паддингах. А то было дело, 98%+1%+1% не во всех браусерах образовывало div без горизонтальной прокрутки, и это бесило.

D.iK.iJ 18.09.2016 19:57

Цитата:

Сообщение от qkowlew (Сообщение 1475668)
Надо будет более обстоятельно перепроверить работу процентов в маргинах и паддингах. А то было дело, 98%+1%+1% не во всех браусерах образовывало div без горизонтальной прокрутки, и это бесило.

Дело обычно в рамке в 1px.
Если это не таблица, лучше прописать width: auto и margin-left: 1%; margin-right: 1%;
Тогда ни padding вутри, ни рамка - не повлияют никак.

Там еще есть варианты (с max-width, например) но все перечислять не буду.

Еще гляньте
http://htmlbook.ru/css/box-sizing


Часовой пояс GMT +3, время: 13:17.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.