2013-09-09 4 views
1

Я пытаюсь реализовать опцию CSS @media, но у меня возникают некоторые проблемы. У меня есть три варианта, пейзаж, портрет и мобильный. Мобильный телефон активируется только по вертикали, но по горизонтали он не активируется (в основном, используется опция ландшафта).Опция CSS @media не работает правильно

Вот CSS:

@media (orientation:landscape) { 
/* some css */ 
} 

@media (orientation:portrait) { 
/* some more css */ 
} 

@media mobile { 
/* more css */ 
/* basically the same as vertical */ 
} 

Как сделать это правильно? Я хочу, чтобы мой мобильный вариант был таким же, как мой вариант с портретом.

+0

Это значит трудно сказать, не видя некоторые свойства стиля и конечный результат вы видите (один или два будет штраф) –

ответ

3

Вы можете попробовать следующее:

/* Portrait */ 
@media screen and (orientation:portrait) { 
    /* Portrait styles */ 
} 
/* Landscape */ 
@media screen and (orientation:landscape) { 
    /* Landscape styles */ 
} 

для мобильных экранов, я думаю, вам нужно определить минимальное разрешение, как это:

/* Smartphones (portrait and landscape) ----------- */ 
@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 480px) { 
/* Styles */ 
} 

/* Smartphones (landscape) ----------- */ 
@media only screen 
and (min-width : 321px) { 
/* Styles */ 
} 

/* Smartphones (portrait) ----------- */ 
@media only screen 
and (max-width : 320px) { 
/* Styles */ 
} 
+0

Вот что я сейчас: СМИ экрана и (ориентация: альбомная) { \t } СМИ экран и (ориентация: портрет), ручной { } По какой-то причине на портативных или мобильных устройствах ориентация и ориентация портрета по-прежнему отображаются как горизонтальные. – user2041555

+0

Если у вас нет причин, почему бы не использовать «все»? – probablyup

1

Вы недостающую screen and ...

/* Portrait */ 
@media screen and (orientation:portrait) { 
    /* Portrait styles */ 
} 

/* Landscape */ 
@media screen and (orientation:landscape) { 
    /* Landscape styles */ 
} 

iPhones обычно масштабируют сайт, поэтому вам также нужен этот метатег:

<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0"> 

Для айфонов, работающих под управлением версии, прежде чем 4.0, вы можете использовать следующие

/* Portrait */ 
@media screen and (max-width: 320px) { 
    /* Portrait styles */ 
} 

/* Landscape */ 
@media screen and (min-width: 321px) and (max-width: 480px) { 
    /* Landscape styles */ 
}