• 响应式布局基础


    1.布局及设置meta标签

      当创建一个响应式网站,或者非响应式网站变成响应式的时候,首先要关注元素的布局。我在创建响应式布局的时候习惯先写非响应式布局,页面固定宽度大小,我觉得这个对在座的各位没有任何难度。如果完成了非响应式那么我在去添加媒体查询(Media Query)和响应式代码。这种操作更容易实现响应式特性。

      当你完成当你已经完成了无响应的网站,做的第一件事是在你的 HTML 页面,粘贴下面的代码到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">
      用最高版版的IE浏览或使用谷歌内核浏览(还是IE的界面,谷歌的外挂); <meta name="HandheldFriendly" content="true">   user-scalable属性能够解决ipad切换横屏之后触摸才能回到具体尺寸的问题。

    2.通过媒体查询来设置样式 media query

      media query 是响应式设计的核心,它能够和浏览器进行沟通,告诉浏览器页面如何呈现,假如一个终端的分辨率小于980px,那么可以这样写

     @media screen and (max-980px){
         #head { … }
         #content { … }
         #footer { … }
    }
    这里面的样式会覆盖掉之前所定义的样式。

    3.设置多种视图宽度

      假如我们要兼容ipad和iphone视图,我们可以这样设置:

    /**ipad**/
    @media only screen and (min-768px)and(max-1024px){}
    /**iphone**/
     @media only screen and (320px)and (768px){}

    4.字体设置

      到目前为止,开发人员用到的字体单位大部分都是像素,虽然像素在普通网站上是ok的,但是我们仍然需要响应式字体。一个响应式的字体应关联它的父容器的宽度,这样才能适应客户端屏幕。css3引入了新的单位叫做rem,和em类似但对于Html元素,em是相对父元素,rem更方便使用。

    rem是相对于根元素的,不要忘记重置根元素字体大小:

    html{font-size:100%;}
    完成后,你可以定义响应式字体:
    @media (min-640px){body{font-size:1rem;}}
    @media (min-960px){body{font-size:1.2rem;}}
    @media (min-1200px){body{font-size:1.5rem;}}

    5.页面不缓存
      head里面添加以下代码:
      <meta http-equiv="pragma" content="no-cache">
      <meta http-equiv="cache-control" content="no-cache">
      <meta http-equiv="expires" content="0">

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

    1.宽度不固定,可以使用百分比

      #head{100%;}
      #content{50%;}

    2.图片处理

      就是图片液态化,以实现图片自适应问题

      在html页面中的图片,比如文章里插入的图片我们都可以通过css样式max-width来进行控制图片的最大宽度,如:

        #wrap img{
            max-100%;
            height:auto;
        }
        如此设置后ID为wrap内的图片会根据wrap的宽度改变已达到等宽扩充,height为auto的设置是为了保证图片原始的高宽比例,以至于图片不会失真。

      除了img标签的图片外我们经常会遇到背景图片,比如logo为背景图片:

        #log a{
        display:block; 100%; height:40px; text-indent:55rem; background-img:url(logo.png); background-repeat:no-repeat; background-size:100% 100%; } background-size是css3的新属性,用于设置背景图片的大小,有两个可选值,第一个值用于指定背景图的width,第2个值用于指定背景图的height,如果只指定一个值,那么另一个值默认为auto。 background-size:cover; 等比扩展图片来填满元素 background-size:contain; 等比缩小图片来适应元素的尺寸
  • 相关阅读:
    从客户端(Content="<p>666</p>")中检测到有潜在危险的 Request.Form 值。
    VS插件集
    Carmack在QUAKE3中使用的计算平方根的函数
    自动匹配HTTP请求中对应实体参数名的数据(性能不是最优)
    webapi单元测试时出现的ConfigurationManager.ConnectionStrings为空错误
    @@IDENTITY在加触发器时返回错误的ID值
    Protobuf完整实例
    Apache配置多个监听端口和不同的网站目录的简单方法[转]
    ThinkPHP 小技巧
    复选框 ajax取得后台页面
  • 原文地址:https://www.cnblogs.com/wangyihong/p/6742403.html
Copyright © 2020-2023  润新知