Jump to content
  • 0

На css3 всё страшнее смотреть. Может php поможет?


gurylyov
 Share

Question

Долго думал, в какой раздел отпостить свой вопрос, решил в php, ибо конечный вопрос относится к этому разделу. Переместите, пожалуйста, если неправильно.

Сейчас на css3 становится всё страшнее смотреть. Браузерные префиксы занимают много места. Меня это не устраивает. Я не хочу, чтобы пользователь с Лисы видел в css строки, начинающиеся с -webkit, это излишне. Не хочу, чтобы пользователь с мобильного браузера загружал все части Адаптивного css (media queries), включая стили для разрешений, отличных от его разрешения, которые ему не нужны.

Вопрос 1: При подключении css файлов для разных разрешений через html, загружаются ли браузером все эти css файлы или только подходящие под условие? Понятно, что работают только подходящие под условие, но загружаются ли они полноценно? Меня интересуют больше различные мобильники, ну и прочие браузеры, отличные от стандартных типа последних версий хрома, оперы или лисы.

Вопрос 2: Как перенаправить методами php (без .htacess) пользователя с сайта site.com, заходящего с определённой платформы (iPad, к примеру, или любой телефон с шириной экрана до 400px) на адрес, к примеру, i.site.com для iPad или m.site.com для мелкого мобильника?

Вопрос 3: Существуют ли php фреймворки, определяющие браузер (вплоть до версии) и дающие на выходе настроенные мной заранее по определённым правилам стили?

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0
Браузерные префиксы занимают много места.

решение: http://leaverou.github.com/prefixfree/

обзор: http://habrahabr.ru/post/131578/

Я не хочу, чтобы пользователь с Лисы видел в css строки, начинающиеся с -webkit, это излишне.

никто по этому счету не заморачивается, кроме единиц веб разработчиков, которые хотят, чтобы все было излишне идеально.

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

  • Like 1
Link to comment
Share on other sites

  • 0
1. Да

2. header("Location: http://i.site.com");

3. Нет

1. Печально(

3. Очень жаль.

Да, я слышал об этом, но сий костыль на js, а я ищу всё-таки на php. Ну, это всё же проще, чем писать их самому, спасибо.

никто по этому счету не заморачивается, кроме единиц веб разработчиков, которые хотят, чтобы все было излишне идеально.

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

Как говорил мой учитель: перфекционизм нужно выжигать калёным железом. Особенно из программистов.

И, знаете, он оказался прав.

Может и надо, а может и нет. Я считаю, нет предела совершенству. И именно так появляются новые технологии(может быть громкое слово). Людям приходит понимание, что то, чего они хотят, ещё не реализовано.

Всем спасибо.

Link to comment
Share on other sites

  • 0

По большому счету, свойства с браузерными префиксами — еще никакой не CSS3, а только браузерная экспериментальщина на тему CSS3, сроду не предназначавшаяся для использования на "боевых" сайтах. У этой экспериментальщины даже синтаксис не раз менялся, в т.ч. для одного и того же семейства браузеров. Так что задача "выдавать каждому юзерагенту только его личную экспериментальщину" выглядит не очень логичной: зачем сначала создавать себе проблемы в лице экспериментальщины, а потом "героически" преодолевать их на серверной стороне? К счастью, нормальные CSS3-свойства (типа border-radius и box-shadow) в приличных браузерах давно префиксов не требуют.

Возможно, такой подход может быть оправдан для айфонов с айпадами (напр., для тех же нестандартных -webkit-text-size-adjust и -webkit-pixel-ratio). Но вообще выдача разного контента разным юзерагентам — очень скользкий и рискованный путь (объясняйся потом с поисковиками, что это было не для клоакинга... :)).

Link to comment
Share on other sites

  • 0

задачу можно решить вот таким вот способом (это касательно разрешения и перенаправления):


<?php
if (!isset($_POST['screen'])) {
?>
<form action="" method="post">
<script language="javascript">
document.write ('<input name="screen" type="hidden" value="'+ screen.width +'_'+screen.height + '"></form>');
document.forms[0].submit();
</script>
<?php
}
$a = '1280_1024';
$b = '1024_768';
$c = '800_600';
$d = '600_400';
$e = '400_200';
if(isset($_POST['screen']) || $_POST['screen'] == $a || $_POST['screen'] == $b || $_POST['screen'] == $c) {
header('Location: http://site.com/');
} elseif(isset($_POST['screen']) || $_POST['screen'] == $d || $_POST['screen'] == $e) {
header('Location: http://m.site.com/');
}
?>

Link to comment
Share on other sites

  • 0

Никогда не парился по этому вопросу, особенно по поводу нагрузки на сайт.. Просто любой CSS и даже все которые будут использоваться на сайте меньше по размеру, например, фонового изображения :) Да и сколько реально этих префиксов используется??? С десяток, ну пусть с два десятка.. да и то в основной массе тень и округлые рамки

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy