【问题标题】:HTML - "CSS Media Query" behavior for HTML?HTML - HTML 的“CSS 媒体查询”行为?
【发布时间】:2012-07-09 20:32:26
【问题描述】:

我一直在处理一个页面,该页面具有两种布局,具体取决于用于查看页面的设备的宽度:

/*Above is Mobile*/
@media screen and (min-device-width: 600px){
/*Below is Web*/

}

这种方法本质上是在整个页面中使用各种“web”和“mobile”div,并根据任一布局的需要显示、隐藏或更改它们;但是,虽然“web”div 被隐藏,但它们仍由移动设备加载,可能会减慢页面加载速度。

我的第一个想法是,如果我只能定义“移动”div 而不是“web”div,那么我可以避免加载所有这些额外的元素。因此,HTML 是否存在类似于 CSS 媒体查询的方法?或者,有没有办法根据显示页面的设备宽度定义两种不同的 HTML 布局?


编辑:至少就图像和图形而言,更好的方法可能是使用 CSS 来定义图像而不是 HTML。因此,不要这样做:

<div id="img"><img src="URL"></div>

...并试图隐藏 div,您将改为采用这种方法:

<div id="img"></div>

还有……

div#img {
background: none;
}

/*Above is Mobile*/
@media screen and (min-device-width: 600px){
/*Below is Web*/

div#img {
background: url(URL);
    height: 400px;
    width: 600px;
}
}

因此,移动版本不加载图像,我们仍然只使用 CSS。

【问题讨论】:

  • 如果您使用 PHP、Python、Java、.NET 等来提供页面,那么您可以使用检测函数来确定用户访问网站的形式。然后,您可以将用户重定向到网站的移动版本或移动模板。
  • 目前,它是在 HTML 中严格定义的,最终应该在 PHP 中定义(我可以看到它有效)。然而,在我走到这一步之前,我想在“纯 HTML”中安排一些东西。
  • 别以为你可以用纯html的方式来做。您可以使用 javascript 来检测浏览器并仅插入 html。

标签: html css mobile media-queries


【解决方案1】:

或者,有没有办法定义两个不同的 HTML 基于页面显示设备宽度的布局?

这是采取恕我直言的路线。 HTML 没有类似的机制来为视口定义不同的规则集。

【讨论】:

    【解决方案2】:

    我认为有一些js 选项。这次谈话有帮助吗?

    What is the best way to detect a mobile device in jQuery?

    【讨论】:

      猜你喜欢
      • 2019-12-09
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 2023-03-15
      • 2022-10-20
      • 1970-01-01
      • 2020-03-09
      • 2012-09-24
      相关资源
      最近更新 更多