#css #media-queries
#css #медиа-запросы
Вопрос:
Это немного странный вопрос, и я знаю, что он полностью противоречит цели медиазапросов, но возможно ли отобразить CSS для рабочего стола на мобильном устройстве, не касаясь файлов CSS?
Наш веб-сайт полностью адаптивный. Однако у меня был запрос на добавление кнопки на страницу только на мобильных устройствах, при нажатии на которую страница отображается в режиме рабочего стола. Я объяснил, почему это плохая идея, и дал альтернативные решения, но это то, чего хочет клиент.
Я попробовал следующий код (изменение начального масштаба), и это отлично работает в браузере на рабочем столе, но не работает на физическом мобильном устройстве.
<div id="desktop-view-btn">
<a class="btn">Desktop</a>
</div>
<style type="text/css">
#desktop-view-btn {
display:none;
}
@media screen and (max-width: 576px) {
#desktop-view-btn {
display:block;
}
}
</style>
<script>
$(document).ready(function() {
$('#desktop-view-btn')
.insertBefore('h1')
.on('click', 'a', function(e) {
e.preventDefault();
$("meta[name='viewport']").attr('content',"width=device-width, initial-scale=0");
$(this).parent().remove();
});
});
</script>
Кто-нибудь может помочь?
Комментарии:
1.
width=device-width
мета-тег в области просмотра — это основа для того, чтобы сделать вещи отзывчивыми, но здесь вам не нужен отзывчивый … Вы должны установить фиксированную ширину, не так ли?2. @CBroe К сожалению, установка ширины устройства не имеет никакого эффекта даже в настольном браузере
3. Я протестировал его в режиме мобильной эмуляции Chrome, и настройка
width=1200
при эмуляции iPhone показала, что вид рабочего стола там в порядке. Однако для реальных мобильных устройств это может отличаться. И не уверен, что все браузеры / устройства позволят вам динамически управлять этим после загрузки страницы, вы можете попытаться выполнить повторный переход на сервер и перезагрузить страницу с такой шириной, установленной изначально.4. Спасибо. Вы правы, что это работает в эмуляторе Chrome, но если вы просто измените размер окна браузера, это не сработает. Аналогично, это не работает на реальном мобильном устройстве, даже после обхода. Может быть, это невозможно?