响应式网站建设方案

01

什么是响应式网站?

响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互联网浏览而诞生的。                        响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,而且随着大屏幕移动设备的普及,用“大势所趋”来形容也不为过。随着越来越多的设计师采用这个技术,我们不仅看到很多的创新,还看到了一些成形的模式。

个人电脑、平板电脑、智能手机等这些电子设备品种繁复,假如一个网站在个人电脑上显现无缺,但是在手机屏幕上打开时会呈现溢出、页面呈现横向翻滚或许页面在手机上被极度减小等疑问,就会无法辨识。一个网站怎样在数十种屏幕上显现,成为我们所关注的疑问。假如要对于每一种终端各做一套页面,太耗费人力,维护起来也很艰难。而响应式页面规划是一种新的规划思想,解决了一个网站在各种屏幕上到达知名显现作用的疑问。


02

响应式布局方法一:媒体查询

使用@media媒体查询可以针对不同的媒体类型定义不同的样式,特别是响应式页面,可以针对不同屏幕的大小,编写多套样式,从而达到自适应的效果。通过max-width设置样式生效时的最大分辨率,分别对分辨率在0~320px,320px~550px,550px~768px以及768px~960px的屏幕设置了不同的背景颜色。
        通过媒体查询,可以通过给不同分辨率的设备编写不同的样式来实现响应式的布局,比如我们为不同分辨率的屏幕,设置不同的背景图片。比如给小屏幕手机设置@2x图,为大屏幕手机设置@3x图,通过媒体查询就能很方便的实现。                        
        但是媒体查询的缺点也很明显,如果在浏览器大小改变时,需要改变的样式太多,那么多套样式代码会很繁琐。


03

响应式布局方法三:vw/vh

css3中引入了一个新的单位vw/vh,与视图窗口有关,vw表示相对于视图窗口的宽度,vh表示相对于视图窗口高度。 任意层级元素,在使用vw单位的情况下,1vw都等于视图宽度的百分之一。
        与百分比布局很相似,但更好用。


04

响应式布局方法四:rem

rem单位是相对于字体大小的html元素,也称为根元素。 默认情况下,html元素的font-size为16px。所以此时1rem = 16px。

@media screen and (max-width: 414px) {
        html {
            font-size: 18px
        }
    }
    @media screen and (max-width: 375px) {
        html {
            font-size: 16px
        }
    }
    @media screen and (max-width: 320px) {
        html {
            font-size: 12px
        }
    }
 

利用rem和媒体查询,在分辨率发生变换时,给它不同的font-size。

//动态为根元素设置字体大小
    function init () {
        // 获取屏幕宽度
        var width = document.documentElement.clientWidth
        // 设置根元素字体大小。此时为宽的10等分
        document.documentElement.style.fontSize = width / 10 + 'px'
    }
    //首次加载应用,设置一次
    init()
    // 监听手机旋转的事件的时机,重新设置
    window.addEventListener('orientationchange', init)
    // 监听手机窗口变化,重新设置
    window.addEventListener('resize', init)

理解:上面代码实现了,无论设备可视窗口如何变化,始终设置rem为width的1/10.即实现了百分比布局。就没有第一版的媒体查询那样僵硬。


05

响应式布局方法五:flex弹性布局

弹性布局是一种十分方便的,只需要依赖于CSS样式的实现响应式布局的方式,也是最多用到的一种实现响应式的方法。
        尤其是现在类似于某宝、某东一类的电商web站或者手机app的页面,利用弹性布局是都可以很轻松的实现的,下面就是用弹性布局copy的某动的手机应用的部分页面。 2.png1.png
        大家可以看到,特别是在小图标排列或是频繁划区的时候,弹性布局就显得十分的便利。下面,就带大家来回顾一下关于弹性布局(display:flex)。
        弹性布局 flex 是CSS中 display 的一个属性值,通过在父容器上添加 display:flex; 属性,便可以实现其子元素在父元素中的弹性布局,但要注意的是 display:flex; 这一条样式只会作用在添加这一属性的父容器和非隔代子容器上,换句话说,父容器上的 diaplay:flex; 属性并不会使其直系子元素中的子元素产生弹性布局。通俗来讲,爹只能管得到自己的儿子、而管不到自己的孙子。如果想要在下一层中继续使用弹性布局,我们可以在相应的子元素上再次添加 display:flex; 属性来实现。


06

美好未来响应式网站设计制作

相对于普通PC端的展示方式,响应式网站建设需要遵循一定的设计原则,需要设计师更精细的布局规划,因此响应式网站建设报价也会相应高一些,如果有需要可以随时联系我们,相信美好未来的响应式网站设计制作为用户提供更多的策划咨询服务。