Разное - Joomla Show - Joomla Show http://joomla-show.ru Thu, 19 Mar 2015 02:36:57 +0300 Joomla! - Open Source Content Management ru-ru Решение проблемы с несоответствием отображения шрифтов в разных операционках http://joomla-show.ru/item/53-reshenie-problemyi-s-nesootvetstviem-otobrazheniya-shriftov-v-raznyih-operatsionkah http://joomla-show.ru/item/53-reshenie-problemyi-s-nesootvetstviem-otobrazheniya-shriftov-v-raznyih-operatsionkah

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

Это происходит из-за того, что Мак таким образом сглаживает шрифты, чтобы они казались более насыщенными. Как видите, Arial, если его заключить в <strong></strong> или font-weight:bold, становится слишком жирным, а следовательно, и слишком широким. По-секрету скажу, Линукс ведет себя подобно Маку.  А поскольку наша задача сделать верстку не только кроссбраузерной, но еще и адаптивной ко всем осям, нужно учитывать и этот момент. Решение под катом.

Если вы столкнулись с подобной проблемой, не стоит бить тревогу. Вам нужно сделать четыре дополнительных css-файла под каждую операционку, основного выпилить проблемный участок. Давайте так и сделаем. Предположим, у нас не помещается меню в <div id="mainmenu"> из-за ширины шрифта. Под Виндой все красиво, но стоит только открыть сайт в Маке или Убунте, начинается беспредел. 

Чтобы избавиться, удаляем из основного файла

{code lang:css title:"styles.css" lines:false hidden:false}#mainmenu {width:580px}{/code}

Создаем дополнительные os-fix_win.css, os-fix_mac.cssos-fix_lin.css — для Винды, Макоси и Линухи, соответственно. В них пишем:

{code lang:css title:"os-fix_win.css" lines:false hidden:false}#mainmenu {width:580px}{/code}

{code lang:css title:"os-fix_mac.css" lines:false hidden:false}#mainmenu {width:605px}{/code}

{code lang:css title:"os-fix_lin.css" lines:false hidden:false}#mainmenu {width:600px}{/code}

Закидывайте эти файлы на сервер вместе с основным, в между <head> и </head> втыкайте вот такой код:

{code lang:php lines:true hidden:false}<link rel="stylesheet" href="http://joomla-show.ru/путь_к_файлу/ 
<?
function opsys_info($agent) {
if ( strstr ($agent, 'Win') ) :
$opsys = "os-fix_win.css";
elseif ( strstr($agent, 'Linux') ) :
$opsys = "os-fix_lin.css";
elseif ( strstr ($agent, 'Unix') ) :
$opsys = "os-fix_lin.css";
elseif ( strstr ($agent, 'Mac') ) :
$opsys = "os-fix_mac.css";
else :
$opsys = "os-fix_win.css";
endif;
return $opsys;
}
$agent = $_SERVER['HTTP_USER_AGENT'];
print_r (opsys_info($agent));
?>
" type="text/css" media="screen"/>{/code}

Смотрите результат. Теперь, в Маке (во всех браузерах) ширина дива с айди mainmenu будет равна 605 пикселям, в любом браузере Винды — 580 пикселей, а в Линуксе, соответственно, 600.

Плюс такого способа в том, что он не зависит от того, установлена у посетителя JAVA или нет. Скрипт исполняется сервером, вам нужно только чтобы ваш сервак умел исполнять php-скрипты :)

Минус в дополнительной нагрузке на сервер, но красота требует жертв, что тут скажешь. Либо меняйте верстку.

И еще один нюанс. Если юзер зашел на сайт ни из-под Винды, ни из Мака, Линукса или Юникса, а, например, из-под Symbian, то сервер покажет ему стили для Винды. Определяется это здесь: else : $opsys = "os-fix_win.css"; 

На этом все. Спасибо за внимание.

 

]]>
artyom-vikt@yandex.ru (Артем) Разное Wed, 12 Sep 2012 18:14:21 +0400
Устанавливаем Zend Optimizer в MAMP http://joomla-show.ru/item/34-ustanavlivaem-zend-optimizer-v-mamp-mac-osx-lion-1072 http://joomla-show.ru/item/34-ustanavlivaem-zend-optimizer-v-mamp-mac-osx-lion-1072

Zend Optimizer

К большому сожалению, разработчики МАМПы, (яблочный Денвер) больше не хотят дружить с таким замечательным ПО, как Zend Optimizer. Устанавливать платные CMS при этом становится невозможно (таки закрытый код еще никто не отменял). Но это для нас уже не проблема. Под катом — инструкции о том, как установить Zend Optimizer в MAMP. Поехали!

Итак, устанавливать Зенд я буду на Mac OS X Lion 10.7.2 (x64). Проблему составили как раз эти выделенные жирным шрифтом слова. И еще большую проблему — злосчастные 64 бита. Дело в том, что на сайте разработчика вроде бы и есть «Zend Optimizer for Mac OS X», да только он не пашет. Как ни крути. Погуляв по страницам ненавистного Яндекса, нашел-таки причину. Оказывается там лажа... то есть, хорошая вещь, но 32-х разрядная. 

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

Теперь к делу. Распаковав скачанный архив, находим в нем файл ZendOptimizer.so и копируем его в /Applications/MAMP/bin/php/php5.2.17/lib/php/extensions, после чего открываем файл php.ini (лежит в /Applications/MAMP/bin/php/php5.2.17/conf), вписываем в него строку [Zend] zend_extension="/Applications/MAMP/bin/php/php5.2.17/lib/php/extensions/ZendOptimizer.so"

Не забудьте проверить версию пхп. Должна стоять 5.2.17.

Ну, вот и все. Ставьте спокойно платные движки. Да, и не забудьте установить какой-нибудь файл-менеджер. Или настроить отображение файлов. Потому что всеми маководами любимые файлы, которые начинаются с точки (например, в дистрибутиве Джумлы изначально лежит файл htaccess.txt, в Битриксовском он называется сразу .htaccess), пользуются большой популярностью у платных CMS и не видны без предварительной настройки в Макоси. Удачи!

]]>
artyom-vikt@yandex.ru (Артем) Разное Thu, 19 Jan 2012 02:47:25 +0400