当前位置  首页  /  新闻动态  /  最新动态  /  响应式网站建设需要掌握的基本知识
咨询:028-83267661 13981896306

新闻动态

/ NEWS

MORE COMPETITIVE IN THE VAST OCEAD INFORMATION
响应式网站建设需要掌握的基本知识
发布者:管理员    发布时间:2016-05-11    信息来源:http://www.33chengbao.com/
对于响应式网站建设,我将从以下几方面进行总结,可能会有问题,希望看到的人可以帮我指正。

1.响应式与自适应的区别


     响应式网页设计就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。

    1.自适应是为了解决如何才能在不同大小的设备上呈现同样的网页。
    2.响应式设计可以自动识别屏幕宽度,并作出相应调整的网页设计,布局和展示的内容可能会有所变动。

2.布局的类型以及实现方式


      常见的排版布局类型有如下几种:
     开发响应式网站需掌握的基本知识

     布局实现:

         采用何种方式实现布局设计,也有不同的方式,这里基于页面的实现单位而言,分为四种类型:固定布局、可切换的固定布局、弹性布局、混合布局。

         固定布局:以像素作为页面的基本单位,不管设备屏幕及浏览器宽度,只设计一套尺寸;
        可切换的固定布局:同样以像素作为页面单位,参考主流设备尺寸,设计几套不同宽度的布局。通过设别的屏幕尺寸或浏览器宽度,选择最合适的那套宽度布局;
        弹性布局:以百分比作为页面的基本单位,可以适应一定范围内所有尺寸的设备屏幕及浏览器宽度,并能完美利用有效空间展现最佳效果;
        混合布局:同弹性布局类似,可以适应一定范围内所有尺寸的设备屏幕及浏览器宽度,并能完美利用有效空间展现最佳效果;只是混合像素、和百分比两种单位作为页面单位。

      开发响应式网站需掌握的基本知识
      开发响应式网站需掌握的基本知识
      
      可切换的固定布局、弹性布局、混合布局都是目前可被采用的响应式布局方式:其中可切换的固定布局的实现成本最低,但拓展性比较差;而弹性布局与混合布局效果具响应性,都是比较理想的响应式布局实现方式。只是对于不同类型的页面排版布局实现响应式设计,需要采用不用的实现方式。通栏、等分结构的适合采用弹性布局方式、而对于非等分的多栏结构往往需要采用混合布局的实现方式。

      开发响应式网站需掌握的基本知识

      布局响应
        对页面进行响应式的设计实现,需要对相同内容进行不同宽度的布局设计,有两种方式:桌面优先(从桌面端开始向下设计);移动优先(从移动端向上设计);
       无论基于那种模式的设计,要兼容所有设备,布局响应时不可避免地需要对模块布局做一些变化(发生布局改变的临界点称之为断点),
我们通过JS获取设备的屏幕宽度,来改变网页的布局,这一过程我们可以称之为布局响应屏幕。常见的主要有如下几种方式:

       布局不变,即页面中整体模块布局不发生变化,主要有:
            模块中内容:挤压-拉伸;
           模块中内容:换行-平铺;
           模块中内容:删减-增加;

         
        布局改变,即页面中的整体模块布局发生变化,主要有:
            模块位置变换;
            模块展示方式改变:隐藏-展开;
            模块数量改变:删减-增加;          
      
          很多时候,单一方式的布局响应无法满足理想效果,需要结合多种组合方式,但原则上尽可能时保持简单轻巧,而且同一断点内(发生布局改变的临界点称之为断点)保持统一逻辑。否则页面实现得太过复杂,也会影响整体体验和页面性能。

3.响应式设计的步骤

          1.布局并设置Meta标签

                     当创建一个响应式网站,或让现有的网站变成响应式的,首先要关注的元素的布局。我在建立响应式的网站,总是先创建一个非响应的布局,页面宽度固定大小。如果非响应版本完成得非常不错,我再添加媒体查询(Media Queries)和响应式代码。这种操作方式更容易实现响应式特性,在同一时间专注于一个任务。
              当你已经完成了无响应的网站,做的第一件事是在你的 HTML 页面,粘贴下面的代码到<head>和</head>标签之间。这将设置屏幕按1:1的尺寸显示,在 iPhone 和其他智能手机的浏览器提供网站全视图浏览,并禁止用户缩放页面。
                   <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
                   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
                   <meta name="HandheldFriendly" content="true">
                         user-scalable = no 属性能够解决 iPad 切换横屏之后触摸才能回到具体尺寸的问题。

             2.通过媒介查询来设置样式 Media Queries

                    Media Queries 是响应式设计的核心。
                   它根据条件告诉浏览器如何为指定视图宽度渲染页面。假如一个终端的分辨率小于 980px,那么可以这样写:
                    @media screen and (max-width: 980px) {
                              #head { … }
                             #content { … }
                            #footer { … }
                     }
                   这里的样式就会覆盖上面已经定义好的样式。

        3.设置多种试图宽度

                  假如我们要设定兼容 iPad 和 iphone 的视图,那么可以这样设置:
                  /** iPad **/
                  @media only screen and (min-width: 768px) and (max-width: 1024px) {}
                   /** iPhone **/
                @media only screen and (min-width: 320px) and (max-width: 767px) {}

        4.字体设置

            到现在为止,大多数开发人员(包括我自己)使用像素来定义字体的大小。虽然像素在普通网站使用是OK的,但是对于响应式网站来说应该有响应式的字体。事实上,一个响应式的字体大小应关联它的父容器的宽度,这样它才可以适应客户端的屏幕。
            CSS3 规范引入了一个新的单位叫 rem,和 em 类相似,但相对于 HTML 元素来说, rem 更易于使用。
     rem 是相对于 HTML 元素的,不要忘了重置 HTML 的字体大小:
              html { font-size:100%; }
        完成后,您可以定义响应式的字体大小,如下所示:
             @media (min-width: 640px) { body {font-size:1rem;} } 
            @media (min-width:960px) { body {font-size:1.2rem;} } 
           @media (min-width:1100px) { body {font-size:1.5rem;} }

  
4.响应式设计需要注意的问题   

          1.宽度不固定,可以使用百分比
                #head { width: 100% }
                #content { width: 50%; }

          2.处理图片缩放的方法
                简单的解决方法可以使用百分比,但这样不友好,会放大或者缩小图片。那么可以尝试给图片指定的最大宽度为百分比。假如图片超过了,就缩小。假如图片小了,就原尺寸输出。
                         img { width: auto; max-width: 100%; }
                用::before和::after伪元素 +content 属性来动态显示一些内容或者做其它很酷的事情,在 css3 中,任何元素都可以使用 content 属性了,这个方法就是结合 css3 的 attr 属性和 HTML 自定义属性的功能: HTML 结构:
                       <img src="image.jpg" alt="折腾响应式布局设计"
                                       data-src-600px="image-600px.jpg"
                                        data-src-800px="image-800px.jpg"
                            alt="">

            Css控制:
                @media (min-device-width:600px) {
                            img[data-src-600px] {
                                        content: attr(data-src-600px, url);
                            }
                }

                @media (min-device-width:800px) {
                            img[data-src-800px] {
                                        content: attr(data-src-800px, url);
                            }
                }  

5.响应式网页布局的实现方法原理
                首先我们应该遵循移动优先原则,交互和设计应以移动端为主,PC则作为移动端的一个扩展;一个页面需要兼容不同终端,那么有两个关键点是我们需要去做到响应式的:响应式布局和响应式内容(图片、多媒体)。
                           1.响应式布局
                                  1.Meta标签定义
                                   2.使用Media Queries适配对应样式
                           2.响应式内容
                                    1.响应式图片  


        6.响应式页面的简单例子

         1.  构造基本的HTML页面
         2.动态加载样式 
                 @media screen and (max-width: 420px) {
                         .grid .item {
                                     width: 100%;
                                       margin-bottom: 5px;
                            }
                 }
         3.Viewport
                 <meta name="viewport" content="width=device-width, initial-scale=1">
         4.字体缩放
                em与rem的运用

         5.侧边栏 


三三诚宝,专注企业官网定制响应式网站建设品牌型网站定制html5网站建设行业门户网站建设


微信二维码
网站定制,我们是靠谱
网站维护,我们是认真