2015-08-09 5 views
1

Я пытаюсь создать свой первый веб-сайт RWD, но теперь, когда я начал писать мобильный CSS, я думаю, что правильное время, чтобы спросить, является ли то, куда я направляюсь, является правильным способом.JQuery - Отзывчивый дизайн (Показать)

Я написал в html все средства, необходимые для того, чтобы окно загрузило конкретный файл .css (в зависимости от ширины экрана рабочего стола/планшета/мобильного телефона).

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

Так что, хотя я и создаю как навигаторы внутри html, так и внутри JQuery напишу код, который будет проверять window.width. если ширина будет меньше, чем табло window.width (это будет 500 пикселей), то для добавления дисплея: none; на настольный навигатор и удалить дисплей: нет; от мобильного навигатора.

Q1: Правильно ли это делается? код divs в html и использовать JQ window.width для добавления/удаления отображения? Или есть лучший способ? Я попытался ответить на этот вопрос, но я не мог найти прямой ответ.

Q2: вот мой код JQ. Хотя по какой-то причине это не работает, я на правильном пути?

checkWidth(); 

    $(window).resize(checkWidth); 

    var $window = $(window); 


    function checkWidth() { 
     var windowsize = $window.width(); 
     if (windowsize < 500) { 
      alert("works"); 
     // $(".mobHome").removeClass("noShow"); 
     } else { 
$(".mobHome").addClass("noShow"); 
} 
    } 
+0

Это не лучший подход. Вы должны обрабатывать все это внутри запросов '@ media' вашего CSS. Таким образом, вы должны использовать JS для обработки событий или анимации, которые обычно не (или вряд ли) достижимы только с помощью CSS. Все, кроме этого, должно быть определено CSS. Вы не хотите, чтобы браузер показывал элемент, и не раз, когда JS анализирует документ, он исчезает или делает какие-либо другие хардкорные вещи. Вместо этого скрытие - отображение элементов внутри CSS происходит мгновенно - пользователь не будет страдать от странного поведения кода. –

+0

Я вижу. Я не знаю, как это сделать. но я думаю, что-то между этими строками: [code] '@media \t только экран и (-webkit-min-device-pixel-ratio: 2), \t только экран и (min - moz-device-pixel- соотношение: 2), \t только экран и (-о-мин-устройства пиксел соотношение: 2/1), \t только экран и (мин-устройства-пиксельное соотношение: 2), \t только экран и (мин-разрешение: 192dpi), \t только экран и (мин-разрешение: 2dppx) { \t #header { \t \t фоновое изображение: URL (../images/banner_medium_2x.jpg); \t \t \t} \t \t #header a.logo { \t \t \t \t фоновое изображение: URL (../ изображений/logo_medium_2x.png); \t \t \t \t} } [/ код] – Metalbreath

ответ

1

Вам просто нужно это в вашем CSS

@media screen and (max-width:550px) { 
    .mobHome { display:block; } 
} 
@media screen and (min-width:551px) { 
    .mobHome { display:none; } 
} 
+0

ему нужен только один из этих двух - в зависимости от * мобильный первого * подхода. –

+0

Правильно, просто показывая ему, как это можно сделать. –

+0

Да, это имеет смысл. Я знаю, что мне теперь нужно делать. Я просто не знал, как это сделать. к сожалению, я не могу голосовать ваши комментарии. но у каждого из них было что-то, что мне нужно было изучить. Спасибо всем :) – Metalbreath

0

Я рекомендую вам взглянуть на Bootstrap (http://getbootstrap.com/) Это CSS и Javascript рамки с мобильным первым подходом.

Чтобы удалить определенный DIV с экрана в начальной загрузки, вы можете использовать их реагирующие утилиты (http://getbootstrap.com/css/#responsive-utilities-classes) пример:

<div class="hidden-xs"> 
    This is not visible on small screens. 
</div> 
<div class="visible-xs-block"> 
    This is only visible on small screens. 
</div> 

Bootstrap использует это, чтобы определить размеры хз, см, мкр, ...

/* Extra small devices (phones, less than 768px) */ 
/* No media query since this is the default in Bootstrap */ 

/* Small devices (tablets, 768px and up) */ 
@media (min-width: @screen-sm-min) { ... } 

/* Medium devices (desktops, 992px and up) */ 
@media (min-width: @screen-md-min) { ... } 

/* Large devices (large desktops, 1200px and up) */ 
@media (min-width: @screen-lg-min) { ... } 
+0

Я прочитал, что бутстрап хорош для использования, только если вы хотите использовать из него множество функций. в противном случае его только становится более тяжелым. Хотя я хотел бы узнать, как использовать его в какой-то момент из-за многих компаний, требующих его, чтобы нанять вас – Metalbreath

+0

Вы можете настроить загрузку и использовать только те части, которые вам нужны. Посмотрите на эту страницу: http://getbootstrap.com/customize/ Например, вы можете проверить сетку. – yeouuu

+0

Я вернусь к этому через несколько дней. Я хочу создать еще один сайт с бутстрапом. Спасибо, что сообщили мне, что это возможно. До сих пор я только новый о сетках (я использовал 1200px.com) – Metalbreath

Смежные вопросы