2016-11-10 177 views
2

如果我检查在不同的系统上使用不同分辨率的html,那么视图会失真。不同的屏幕分辨率的CSS?

在运行时有没有计算屏幕宽度和高度的方法?

我没有用CSS经验,但做了一些研究,发现约:

https://css-tricks.com/css-media-queries/

但他们所提出的建议不同的类(如果我没看错)

我的问题是有可能。在运行时获取高度和宽度,并只使用一个css?

类似:

.view { 
min-width :"some how gets computed:which device we are using ?" 
min-height :"some how gets computed:which device we are using ?" 
} 
+1

“他们在那里建议不同的课程” - 他们不是。 – Quentin

+0

请解释否定的投票? – Roxy

回答

5

媒体查询是您的问题的不错选择。

您不必为这些使用不同的类,只需要根据分辨率定义不同的行为即可。

你可以通过Javascript知道屏幕高度和宽度,但用CSS,我不认为这是可能的。用CSS可以做的最好的事情就是定义设备的范围,如移动设备,平板电脑,笔记本电脑,真正大屏幕设备以及基于媒体查询,您可以定义某个类在特定类型的设备上所做的工作。

有下面的例子来看看一个:

/* For Mobile */ 
@media screen and (max-width: 540px) { 
    .view { 
     width: 400px; 
    } 
} 

/* For Tablets */ 
@media screen and (min-width: 540px) and (max-width: 780px) { 
    .view { 
     width: 600px; 
    } 
} 

实际尺寸可以根据您的情况有所不同。

这是许多框架用于实现响应的相同方法。

1

可以在单一媒体查询组合不同的属性。此示例将在宽度至少为500px且高度至少为400px的所有屏幕上应用这些样式:

@media all and (max-width: 500px) and (min-height: 400px) { 
    body { 
    background: #ccc; 
    } 
    .someclass { 
    padding: 10px; 
    } 
} 
1

不是。他们并不是建议不同的班级。 通过媒体查询,您可以根据屏幕(或媒体)分辨率(宽度,高度,纵横比...)在单个文件中设置不同的css规则,也可以根据查询包含不同的样式表。

我建议你按照教程开始使用媒体查询。