`
liudong19870227
  • 浏览: 31843 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何创建mobile-first(移动设备优先)的响应式的网站

阅读更多

今天读了这篇文章http://bradfrostweb.com/demo/mobile-first/article.html ,把学到的记录一下,方便以后使用~

1.适配的问题

目前的设备尺寸大小不一,各种尺寸都有,我们不可能编写那么多套页面去适配,但是又不可能回避这个问题,因此我们得有一套解决方案。CSS中的media queries(媒体查询)API可以做到。

2.mobile-first原则

我们可能会如下使用media queries:

 

/*Large screen styles first - Avoid*/
.product-img {
      width: 50%;
      float: left;
}
@media screen and (max-width: 40.5em) {
    .product-img {
              width: auto;
             float: none;
        }
}

 

 这样写的思路是:先设置图片的全局样式为width:50%;float:left,当屏幕尺寸小于40.5em时使用width:auto;float:none样式。

而如果应用mobile-first原则,就应该这么写:

 

@media screen and (min-width: 40.5em) {
    .product-img {
              width: 50%;
             float: left;
        }
}

 

 这样写的思路是:屏幕尺寸大于40.5em时应用该样式。我们不应该先定义大屏幕的样式,然后针对其它小屏幕再重写这些样式,而是直接从小屏幕入手。这样写还有另外一个好处就是对于不支持media queries的手机来说,它会使用第一个query的样式。

3.使用media queries

使用media queries标记要遵守mobile-first原则,这样代码比较简洁,还有利于维护,例如:

 

/*Default styles*/
.related-products li {
	float: left;
	width: 50%;
}

/*Display 3 per row for mobile phones in landscape or smaller tablets*/
@media screen and (min-width: 28.75em) {
	.related-products li {
		width: 33.3333333%;
	}
}
/*Display 6 to a row for medium tablets and up */
@media screen and min-width: 40.5em) {
	.related-products li {
		width: 16.6666667%;
	}
}

 

 该样式实现了当屏幕尺寸改变时,会动态改变每行显示图片的个数,如果有额外的需求,只需要插入对应的屏幕分界点就可以了。

4.使用css来减少请求

有些图片可以通过CSS3的background来代替,或者是data-uris。每张图片都会去请求服务器,而通过css就会减少这次请求,从而加快响应速度。可以参看http://tech.groups.yahoo.com/group/mobile-web/message/609

5.延迟加载

可以通过javascript来实现延迟加载,参见http://labjs.com/

6.离线访问

参见http://www.html5rocks.com/en/features/offline

参考demo:http://bradfrostweb.com/demo/mobile-first/

 

文中相关资源:

https://speakerdeck.com/u/tkadlec/p/optimizing-for-mobile-performance (优化mobile)

http://www.html5rocks.com/en/tutorials/appcache/beginner/ (缓存)

http://www.html5rocks.com/en/features/offline (离线)

http://www.alistapart.com/articles/fluidgrids/ (Fluid grid)

http://adactio.com/journal/4494/  (window phone media queries)

https://github.com/scottjehl/Respond (respond.js 不支持media queries的实现方案)

http://www.alistapart.com/articles/responsive-web-design/ (responsive web design)

http://www.slideshare.net/bryanrieger/rethinking-the-mobile-web-by-yiibu (rethinking the mobile web)

http://mediaqueri.es/

 

 

1
4
分享到:
评论

相关推荐

    mobile-first-prototypes:移动优先模板,用于使用Axure RP 7创建响应式原型

    它是使用Axure RP 7构建的,旨在使响应式网站的原型制作变得更加快捷,便捷。用法要开始使用模板,请单击“下载Zip”并在mobile-first-rwd-template.rp打开mobile-first-rwd-template.rp文件,然后按照以下指南使用...

    mobile-first:移动优先 scss 和 js

    "Mobile-First: 移动优先 SCSS 和 JS" 是一种现代Web开发策略,强调首先为移动设备设计网站,然后再扩展到桌面等大屏幕设备。这种方法考虑到越来越多的用户通过手机和平板电脑访问互联网,因此在设计之初就考虑了...

    mobile-first:实时响应式设计

    总之,"mobile-first:实时响应式设计"课程将引导学习者掌握创建跨平台、适应性强的网站所需的技能,通过CSS的巧妙运用,实现真正的用户体验优化,无论用户是在手机、平板还是桌面设备上访问。在不断发展的数字世界中...

    Responsive-Mobile-First-Website---HTML5-CSS3

    响应式移动优先网站设计是一种现代网页开发方法,它利用HTML5和CSS3的强大功能来创建适应不同设备屏幕尺寸和分辨率的网站。这种设计策略首先关注移动端用户体验,然后扩展到桌面和其他大屏幕设备,确保在任何设备上...

    mobile-first-batatabit:首先移动项目

    本项目“mobile-first-batatabit”是基于这一理念创建的一个实例,旨在教会开发者如何从移动设备的角度出发,设计并构建一个响应式的Web应用。 首先,我们要理解移动优先的核心思想。移动优先意味着在设计和开发...

    se7en-基于Bootstrap3的响应式后台框架

    Bootstrap3是Twitter开发的一个开源前端框架,它提供了一系列预定义的CSS、JavaScript组件以及HTML结构,帮助开发者快速地创建具有移动优先(mobile-first)理念的网页。 【描述】"基于Bootstrap3的响应式后台框架...

    Unify – Multipurpose Responsive Template v3.2.2 最新多用途响应式网站模板零售版

    Unify - 多用途响应式模板,用于使用 Bootstrap 框架构建响应式、移动优先的网站。 由于Unify是一个静态的HTML/CSS和JS模板,那么它应该兼容任何后端技术和框架。 Unify - Multipurpose Responsive Template for ...

    head first之mobile web

    《Head First之Mobile Web》是一本专为初学者设计的移动网页...通过《Head First Mobile Web》的学习,你将能够构建出针对移动设备优化的网页,并掌握现代移动开发的核心技术,为进入移动互联网领域打下坚实的基础。

    Daniel-Proyecto-2-Maquetacion-Mobile-First

    在现代网页设计领域,"Daniel-Proyecto-2-Maquetacion-Mobile-First"是一个典型的项目名称,它强调了移动设备上的用户体验优先的设计策略。在这个项目中,我们将深入探讨移动优先布局(Mobile-First)这一核心概念,...

    18-饮料茶公司响应式网站模板.zip

    7. **移动优先(Mobile First)**:设计时先考虑最小的屏幕尺寸,然后逐渐增加复杂性和功能,确保基础功能在任何设备上都能正常工作。 8. **导航设计**:简化导航菜单,可能采用汉堡菜单或折叠式菜单,以适应小屏幕...

    Mobile-Design-for-iPhone-and-iPad.pdf

    首先,书籍提到了移动网页设计的趋势,这些趋势反映了移动设备用户的行为和偏好,比如移动优先(Mobile-First)设计策略、响应式设计(Responsive Design)和用户体验(User Experience, UX)的重要性。移动网页设计...

    learn-mobile-first:了解如何构建首先针对移动设备的Web应用程序(但在其他地方看起来仍然很棒!)

    1. **响应式设计**: 移动优先的核心是响应式设计,这意味着网站或应用的布局、图片和功能会根据用户设备的屏幕尺寸和方向自动调整。通过使用媒体查询(Media Queries)和灵活的网格系统,我们可以确保内容在不同设备...

    响应式网站

    6. **移动优先(Mobile-First)**:这是一种设计策略,先为最小的屏幕尺寸设计,然后逐步添加样式以适应更大的设备。这样能确保基础功能在任何设备上都能正常工作,同时避免了大屏幕设备不必要的复杂性。 7. **...

    mobile-first-res

    1. **响应式设计(Responsive Design)**:响应式设计是移动优先的核心,它允许网页根据用户使用的设备类型和屏幕尺寸自动调整布局。通过使用媒体查询(Media Queries),我们可以定义不同断点,在不同设备上应用...

    Proyecto-curso-Responsive-Desing-Mobile-First-de-Platzi

    "Mobile First"是响应式设计的一个重要理念,即在设计时首先考虑移动设备的需求,然后再扩展到桌面和其他大屏幕设备。这个普拉茨(Platzi)课程项目,"Proyecto-curso-Responsive-Desing-Mobile-First-de-Platzi",...

    go-mobile-first:[已弃用] 移动优先的 WordPress 样板

    [已弃用] 移动优先Go Mobile First 是 WordPress 的移动优先样板。 这个轻量级主题开箱即可使用,但我还在整个代码中添加了大量注释,以便您可以轻松修改以满足您的需要。 版本:1.5什么是移动优先? 移动优先是一种...

    响应式布局大全代码

    6. **Mobile-First策略**:这是一种优先考虑移动设备的设计方法,先为小屏幕设备编写样式,然后通过媒体查询添加针对大屏幕设备的样式。这种策略有助于确保基本功能在任何设备上都能正常工作。 7. **适配不同设备**...

    003-mobile-first-2020-:HTML,CSS和JavaScript

    "Mobile First"是一种设计方法论,强调在设计初期就考虑移动设备的限制和特性,而不是将桌面端设计作为基础然后进行适配。这种策略可以提供更好的用户体验,尤其对于日益增长的移动互联网用户群体来说。 【标签】...

Global site tag (gtag.js) - Google Analytics