2016-05-21 2 views
0

Для создания отзывчивый мой сайт, я использую медиазапросы как этотАдаптивный CSS @media запросов

@media screen and (max-width: 320px){code} 
 
@media screen and (max-width: 480px){code} 
 
@media screen and (max-width: 640px){code}

, но когда я пытаюсь проверить мой сайт есть какой-то вопрос, я перед , Одна из проблем - @media 320px в порядке, но когда я меняю размер моей веб-страницы 320px на 480px или 640px по умолчанию, 320px подходит, а другие два запроса не работают. Даже я стараюсь с минимальной шириной: 320 пикселей, но результат такой же. Теперь что мне делать? Мой новый вопрос: в чем разница между шириной max-width и min? и какой из них я должен использовать, когда?

Также попробовал это. Код:

@media screen and (min-width: 320px){code} 
 
    @media screen and (min-width: 480px){code} 
 
    @media screen and (min-width: 640px){code}

Полный отзывчивым код,

Код:

/*640px*/ 
 
@media screen and (min-width : 640px) { 
 
    .colum { 
 
     max-width: 960px; 
 
     margin: 0 auto; 
 
    } 
 
    .navbar-header h1 { 
 
     margin-left: 20px; 
 
    } 
 
    .welcome_text h4 { 
 
     font-size: 25px; 
 
    } 
 
    .welcome_text h1 { 
 
     font-size: 50px; 
 
     letter-spacing: 20px; 
 
    } 
 
    
 
    
 
    .promo_title h1, .work_title h1 { 
 
     max-width: 640px; 
 
    } 
 
    .promo_title p, .work_title p{font-size: 18px; 
 
    color: #7e8287; 
 
    width: 620px; 
 
    padding: 0; 
 
    } 
 
    .promo_list{ 
 
     margin-bottom: 390px; 
 
    } 
 
    
 
    .fix1{ 
 
     overflow: hidden; 
 
    } 
 
    .clear1 { 
 
     clear: both; 
 
     margin-top: 20px; 
 
    } 
 
    .extramarg { 
 
     margin-top: 30px; 
 
    } 
 
    .rightborder { 
 
    position: absolute; 
 
    height: 175px; 
 
    border-right: 1px solid #d9dbdb; 
 
    right: 313px; 
 
    } 
 
    .single_list { 
 
     border-right: none; 
 
     width: 315px; 
 
    } 
 
    .rightimg { 
 
     background: none; 
 
     right: 0; 
 
     top: 0; 
 
     width: 0; 
 
     height: 0; 
 
     opacity:0; 
 
    } 
 
    .service_list { 
 
     padding: 60px 25px 20px; 
 
     text-align: center; 
 
    } 
 
    .leftarea { 
 
     width: 640px; 
 
     padding: 0 25px; 
 
    } 
 
    .service_list h1:before { 
 
     left: 36%; 
 
    } 
 
    .service_item .ss_list { 
 
     width: 295px; 
 
     padding-left: 0; 
 
     padding-bottom: 30px; 
 
     text-align: center; 
 
    } 
 
    .work_title p { 
 
     margin: 0; 
 
    } 
 
    .work_slider { 
 
     width: 50%; 
 
    } 
 
    .slider_detail h3 { 
 
     padding-top: 60px; 
 
    } 
 
    .promo_title h1, .work_title h1 { 
 
     font-size: 40px; 
 
    } 
 
    .msg_area .colum { 
 
     width: 640px; 
 
    } 
 
    .msg_area textarea { 
 
     width: 570px; 
 
    } 
 
    .contact input[type="text"], .contact input[type="email"] { 
 
     width: 540px; 
 
    } 
 
    .submit a { 
 
     padding: 10px; 
 
    } 
 
    .promo_title, .work_title { 
 
     padding-top: 60px; 
 
    } 
 
} 
 

 
/*480 */ 
 
@media screen and (min-width : 480px) { 
 
    .colum { 
 
     max-width: 320px; 
 
     margin: 0 auto; 
 
    } 
 
    .navbar-header h1 { 
 
     margin-left: 20px; 
 
    } 
 
    .welcome_text h1 { 
 
    font-size: 25px; 
 
    margin: 12px 0; 
 
    letter-spacing: 12px; 
 
    } 
 
    .welcome_text h4 { 
 
     font-size: 15px; 
 
    } 
 
    .promo_title h1, .work_title h1 { 
 
     max-width: 320px; 
 
    } 
 
    .promo_title p, .work_title p{ 
 
    font-size: 12px; 
 
    color: #7e8287; 
 
    width: 340px; 
 
    padding:0; 
 
    } 
 
    .single_list { 
 
     border-bottom: 1px solid #d9dbdb; 
 
     border-right: 0; 
 
     padding: 20px 0; 
 
     width: 320px; 
 
    } 
 
    .promo_list div:last-child { 
 
     border-bottom: 0; 
 
    } 
 
    .promo_area { 
 
     margin-bottom: -230px; 
 
    } 
 
    .floatleft { 
 
     float: none; 
 
    } 
 
    .leftarea { 
 
     width: 320px; 
 
    } 
 
    .leftarea h1 { 
 
     text-align: center 
 
    } 
 
    .service_list p { 
 
      padding: 35px 0; 
 
    text-align: center; 
 
    } 
 
    .service_list h1:before { 
 
     left:75px; 
 
    } 
 
    .service_list h1 { 
 
     font-size: 38px; 
 
    } 
 
    .service_list { 
 
     padding: 60px 0; 
 
    } 
 
    .service_item .ss_list { 
 
     width: 320px; 
 
     padding-left: 0; 
 
     padding-bottom: 30px; 
 
     text-align: center; 
 
     } 
 
    .work_slider { 
 
     width: 80%; 
 
     margin: 0 auto; 
 
    } 
 
    .slider_detail h3 { 
 
     padding-top: 80px; 
 
    } 
 
    .promo_title h1, .work_title h1 { 
 
     font-size: 30px; 
 
    } 
 
    .rightimg { 
 
     background:none; 
 
     right: 0; 
 
     top: 0; 
 
     width:0; 
 
     height: 0; 
 
     opacity: 0; 
 
    } 
 
    .contact input[type="text"], .contact input[type="email"], .contact textarea{ 
 
     width:320px; 
 
    } 
 
    .submit a { 
 
     padding: 10px; 
 
    } 
 
    .promo_title, .work_title { 
 
     padding: 40px 0; 
 
    } 
 
} 
 

 

 
/* Smartphones (portrait and landscape) ----------- */ 
 
@media screen and (min-width : 320px) { 
 
    .colum { 
 
     max-width: 320px; 
 
     margin: 0 auto; 
 
    } 
 
    .navbar-header h1 { 
 
     margin-left: 20px; 
 
    } 
 
    .welcome_text h1 { 
 
    font-size: 25px; 
 
    margin: 12px 0; 
 
    letter-spacing: 12px; 
 
    } 
 
    .welcome_text h4 { 
 
     font-size: 15px; 
 
    } 
 
    .promo_title h1, .work_title h1 { 
 
     max-width: 320px; 
 
    } 
 
    .promo_title p, .work_title p{ 
 
    font-size: 12px; 
 
    color: #7e8287; 
 
    width: 300px; 
 
    padding:0; 
 
    } 
 
    .single_list { 
 
     border-bottom: 1px solid #d9dbdb; 
 
     border-right: 0; 
 
     padding: 20px 0; 
 
     width: 320px; 
 
    } 
 
    .promo_list div:last-child { 
 
     border-bottom: 0; 
 
    } 
 
    .promo_area { 
 
     margin-bottom: -230px; 
 
    } 
 
    .floatleft { 
 
     float: none; 
 
    } 
 
    .leftarea { 
 
     width: 320px; 
 
    } 
 
    .leftarea h1 { 
 
     text-align: center 
 
    } 
 
    .service_list p { 
 
      padding: 35px 0; 
 
    text-align: center; 
 
    } 
 
    .service_list h1:before { 
 
     left:75px; 
 
    } 
 
    .service_list h1 { 
 
     font-size: 38px; 
 
    } 
 
    .service_list { 
 
     padding: 60px 0; 
 
    } 
 
    .service_item .ss_list { 
 
     width: 320px; 
 
     padding-left: 0; 
 
     padding-bottom: 30px; 
 
     text-align: center; 
 
     } 
 
     .work_slider { 
 
     width: 100%; 
 
     } 
 
    .slider_detail h3 { 
 
     padding-top: 60px; 
 
    } 
 
    .promo_title h1, .work_title h1 { 
 
     font-size: 30px; 
 
    } 
 
    .rightimg { 
 
     background:none; 
 
     right: 0; 
 
     top: 0; 
 
     width:0; 
 
     height: 0; 
 
     opacity: 0; 
 
    } 
 
    .contact input[type="text"], .contact input[type="email"], .contact textarea{ 
 
     width:320px; 
 
    } 
 
    .submit a { 
 
     padding: 10px; 
 
    } 
 
    .promo_title, .work_title { 
 
     padding: 40px 0; 
 
    } 
 
}

+1

поставить запросы @media в обратном порядке, так как запросы верны для всех 3 случаев –

+0

Вы имеете в виду 320 пикселей, а затем 480 пикселей, а затем 640 пикселей? –

+0

да .. это запустит запросы, как было запланировано. –

ответ

1

Это неправильный код .. @media экран и (мин-ширина: 320px) { этот код будет работать на экране 320px и выше если поместить код здесь, конечно, этот код будет работать на 480px и 680px }

сверху предотвратить этот код из 480px и 680px Сделать это, как этот экран @media и (мин-ширина: 320px) и (макс-ширина: 479px) { здесь код }

0

Try удар Код:

@media screen and (max-width: 320px){code} @media (min-width: 320px) and (max-width: 480px) {code} @media (min-width: 480px) and (max-width: 640px) {code} Я надеюсь, что ваша проблема будет решена

0

Попробуйте это.

<!DOCTYPE html> 
<html> 
<head> 
<style> 
body { 
    background-color: lightblue; 
} 

@media screen and (max-width: 850px) { 
    body { 
     background-color: lightcoral; 
    } 
} 
@media screen and (max-width: 480px) { 
    body { 
     background-color: lightgreen; 
    } 
} 
</style> 
</head> 
<body> 

<h1>Resize the browser window to see the effect!</h1> 
<p>The media query will only apply if the media type is screen and the viewport is 480px wide or wider.</p> 

</body> 
</html> 
0

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

Вы должны учитывать, что CSS «каскадирует» (= падает), а это означает: если у вас есть два разных правила для одного и того же элемента, последний (= ниже) переопределит предыдущий. Таким образом, в первом примере кода:

@media screen and (max-width: 320px){code} 
@media screen and (max-width: 480px){code} 
@media screen and (max-width: 640px){code} 

все, что написано в третьем запросе медиа (макс-ширина: 640) переопределяет то, что написано в первом, так как все, что это ниже 320px в ширину, является также под шириной 640 пикселей.

У вас есть два варианта:

1.) Повернись заказа:

@media screen and (max-width: 640px){code} 
@media screen and (max-width: 480px){code} 
@media screen and (max-width: 320px){code} 

Таким образом, если экран 300px в ширину, он будет первым следовать правилам из первых двух запросов, но затем и те, в третьем запросе, который будет перекрывать другие , Это называется настольным подходом, поскольку в нем перечислены правила для более крупных (настольных) экранов (над медиа-запросами), которые затем переопределяются правилами для небольших устройств в три этапа (сначала максимум 640, затем 480, затем 320 пикселей). Таким образом, phidt шириной 450px будет читать правила в первом и втором запросах (со вторым переопределением первого), а затем останавливать и игнорировать правила в третьем медиа-запросе, так как это не ниже 320 пикселей шириной.

В качестве альтернативы:

2.) Используйте запросы средств массовой информации в порядке возрастания, но с мин-ширина:

@media screen and (min-width: 320px){code} 
@media screen and (min-width: 480px){code} 
@media screen and (min-width: 640px){code} 

Это мобильный-первый подход: Это первый список правил для мобильных (то есть все, что не менее 320 пикселей шириной), а затем идет дальше. Таким образом, устройство 360px перестанет читать правила после второго медиа-запроса, настольный компьютер будет читать все три, и снова правила в третьем правиле будут отменять те, что были в первом запросе.

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