falost 发表于 2016-3-19 00:30:19

响应式网页设计的9条基本原则


响应式网页设计是针对多屏幕问题的一个很好的解决方案,但从印刷的视角来看有点困难。没有固定的页面尺寸,没有毫米或英寸,没有任何的物理限制,无从下手。为了desktop和mobile单独使用像素设计的方法也成为了过去,因为越来越多的设备都可以打开网站。因此,我们需要弄清楚响应式网页设计的一些基本原则,接受流体网页,而不是与之相抗。为了让它保持简单,我们将着眼于布局(是的,响应式比它更复杂,如果你想了解更多,这是一个很好的开端。)响应式 vs 自适应网页设计它们看起来似乎是相同的,但事实并非如此。这两种方法相辅相成,并没有说哪个是正确的那个是错误的,内容决定一切。http://cdn.w3cplus.com/cdn/farfuture/xPQxwJxU_B8jMJFz5xRhv3FhhhkGWh_hCEBrWpbdf68/mtime:1430623409/sites/default/files/blogs/2015/1505/01_Responsive-vs-Adaptive.gif内容流动随着屏幕尺寸变小,内容将会占据更多的垂直空间,而下方的内容就会被接着往下推,这就是所谓的流动。如果你是使用像素和磅来进行设计的,这可能会有点棘手,但是当你习惯了之后,就会变得很有意义了。http://cdn.w3cplus.com/cdn/farfuture/7bhV9HmoZuOeS9bFgYeKEv6-YyY9fX4kbn2aiN-L2l0/mtime:1430623415/sites/default/files/blogs/2015/1505/04_Flow-vs-Static-2.gif相对单位画布大小可以是desktop、mobile或是它们之间的任何尺寸。像素密度也可以有所不同,所以我们需要灵活的、在各种屏幕上都可以使用的单位。这就是相对单位(如百分比)派上用场的时候了。所以设置50%的宽度也就意味着它会占据屏幕(或视图,即打开的浏览器窗口的尺寸)的一半。http://cdn1.w3cplus.com/cdn/farfuture/z6QvFISsS4BzCUcjR1FYQd8WYn8qt4KEgJkpiP44A_k/mtime:1430623404/sites/default/files/blogs/2015/1505/02_Relative-Units-vs-Static-Units-1.gif断点断点允许布局在预定义的点改变。例如:desktop屏幕上有3列,但是在mobile上只有一列。大多数CSS属性可以根据断点改变。通常你会根据具体的内容来设置断点。如果一个句子超过了屏幕长度,你可能就需要为其添加一个断点。但是使用断点是需要谨慎——当它很难理解什么内容会影响什么内容的时候,它可能会迅速地导致混乱。http://cdn.w3cplus.com/cdn/farfuture/l_-U5yWi-MXqLZ8mNdvRFojyCouYjaz_vRWsd1yuERY/mtime:1430623405/sites/default/files/blogs/2015/1505/03_With-Breakpoints-vs-Without-Breakpoints-1.gif最大值和最小值有时候,如果内容占据了屏幕的整个宽度是很好的,比如在移动设备上。但是如果是在电视屏幕上,相同的内容,占据了你的屏幕整个的宽度,通常就意义不大了。这就是Min/Max值发挥作用的时候了。比如说,设置width为100%,然后max-width是1000px,那么内容会填满屏幕,但是不会超过1000px。http://cdn1.w3cplus.com/cdn/farfuture/0ZCvYQIDUjuAsHss7fg2_vmYtulf_ODfnL8AyErWcHY/mtime:1430623416/sites/default/files/blogs/2015/1505/07_Max-width-vx-No-max-width-1.gif嵌套对象还记得相对位置吗?让很多元素的位置依赖于其它元素来定位是很难控制好的,因此使用容器来包裹元素可以让它更易理解,也更整洁。这就是静态单位(比如像素)发挥作用的时候了。对于你不想要模块化的内容(比如logo或按钮),它们是有用的。http://cdn2.w3cplus.com/cdn/farfuture/NOghuq4Sv2e82II8O3LUzFY9LJ16aFtkq_dWf-5RcqU/mtime:1430623414/sites/default/files/blogs/2015/1505/05_Nested-vs-Not-Nested-1.gifMobile优先 还是Desktop优先从技术上讲,如果一个项目是从一个较小的屏幕开始,变成较大的屏幕(mobile优先),还是反过来(desktop优先),并没有太大的差别。然而它还是增加了额外的限制,可以帮助你决定是否从mobile优先开始。通常大家在一开始的时候都会两端一起写,所以,还是看看哪个运行起来更好。http://cdn2.w3cplus.com/cdn/farfuture/tZc0l_iU6-sGWmYsr7DSpqGhkZ-NXf81LnWG1kMZ0Bw/mtime:1430623419/sites/default/files/blogs/2015/1505/08_Desktop-first-vs-Mobile-first-3.gif网页字体 vs 系统字体希望你的网站上有很酷的Futura或Didot字体吗?可以使用网页字体!虽然它们看起来非常棒,但是记住字体放得越多,你加载页面的时间也会越长。在另一方面,加载系统字体确是快如闪电,但当用户本地没有这套字体时,它就会返回默认的字体。http://cdn1.w3cplus.com/cdn/farfuture/-BLpopBMYaTlqGXn8BWB2omSEw1PMU4Gnl4WzWm3QAU/mtime:1430623406/sites/default/files/blogs/2015/1505/06_System-fonts-vs-Webfonts-1.gif位图 vs 矢量图你是否想过在图标上添加很多的细节和花哨的效果?如果想过的话,使用位图比较合适。如果没有,可以考虑使用矢量图。对于位图,使用的是jpg、png或gif格式的图像,而对于矢量图,最好的选择是SVG或图标字体。每个都有对应的优势和缺点。但是图片的大小也需要重视——网页上的图片必须经过优化。另一个方面,矢量图通常比较小,但是一些旧版的浏览器不支持。此外,如果它有很多曲线的话,它也可能会比位图要重。所以,慎重选择。http://cdn1.w3cplus.com/cdn/farfuture/9DtuE0eNZ9ImsVlmVMqdAm6n96XhRcOs1xtYDkG-Gdg/mtime:1430623412/sites/default/files/blogs/2015/1505/09_Vectors-vs-Images-1.gif觉得我们遗漏了什么重要的内容?在评论里给我们留言吧!如需转载,烦请注明出处:http://www.w3cplus.com/responsive/9-basic-principles-of-responsive-web-design.html



页: [1]
查看完整版本: 响应式网页设计的9条基本原则