Answers:
用于检测屏幕方向的CSS:
@media screen and (orientation:portrait) { … }
@media screen and (orientation:landscape) { … }
媒体查询的CSS定义位于http://www.w3.org/TR/css3-mediaqueries/#orientation
@media all and (orientation:portrait) {
/* Style adjustments for portrait mode goes here */
}
@media all and (orientation:landscape) {
/* Style adjustments for landscape mode goes here */
}
但看起来还是要尝试
我认为我们需要编写更具体的媒体查询。确保如果您编写一个媒体查询,则该查询不应对其他视图(Mob,Tab,Desk)有效,否则可能会造成麻烦。我想建议为各个设备编写一个基本的媒体查询,其中涵盖视图和一个方向媒体查询,为了更好的实践,您可以针对方向视图对其进行更多具体的编码。我们不需要同时编写两个媒体定向查询。您可以参考以下示例。如果我的英语写作不太好,我很抱歉。例如:
对于手机
@media screen and (max-width:767px) {
..This is basic media query for respective device.In to this media query CSS code cover the both view landscape and portrait view.
}
@media screen and (min-width:320px) and (max-width:767px) and (orientation:landscape) {
..This orientation media query. In to this orientation media query you can specify more about CSS code for landscape view.
}
对于平板电脑
@media screen and (max-width:1024px){
..This is basic media query for respective device.In to this media query CSS code cover the both view landscape and portrait view.
}
@media screen and (min-width:768px) and (max-width:1024px) and (orientation:landscape){
..This orientation media query. In to this orientation media query you can specify more about CSS code for landscape view.
}
桌面
根据您的设计要求享受...(:
谢谢智图
我会选择纵横比,它提供了更多的可能性。
/* Exact aspect ratio */
@media (aspect-ratio: 2/1) {
...
}
/* Minimum aspect ratio */
@media (min-aspect-ratio: 16/9) {
...
}
/* Maximum aspect ratio */
@media (max-aspect-ratio: 8/5) {
...
}
方向和纵横比均取决于视口的实际大小,与设备方向本身无关。
了解更多:https://dev.to/ananyaneogi/useful-css-media-query-features-o7f
在Javascript中,最好使用screen.width
和screen.height
。这两个值在所有现代浏览器中均可用。它们提供了屏幕的真实尺寸,即使应用启动时浏览器已缩小。window.innerWidth
缩小浏览器时会发生变化,这不会在移动设备上发生,但会在PC和笔记本电脑上发生。
当移动设备在纵向和横向模式之间切换时,screen.width
和的值会screen.height
更改,因此可以通过比较这些值来确定模式。如果screen.width
大于1280像素,则说明您正在使用PC或笔记本电脑。
您可以用Javascript构造一个事件侦听器,以检测两个值何时被翻转。纵向要集中的screen.width值为320px(主要是iPhone),360px(大多数其他手机),768px(小型平板电脑)和800px(常规平板电脑)。
screen.width
screen.height
旋转iPhone时和值。它始终报告相同的值。您必须使用该window.orientation
属性来确定设备是否已旋转...(对于横向模式,该值为90或-90。)