zoukankan      html  css  js  c++  java
  • 静态响应式布局

    大家都知道响应式布局的要素有几点:

    1.用百分比来定位,好处是不需要用js就可以根据浏览器的缩放拉伸和缩小元素。

    2.用em来作为度量单位。由于是相对单位,比像素更灵活一点。虽然在我目前还没发现经过viewport转换后em和px用起来有什么区别 t.t

    3.在HTML中为media query准备好<meta name=“viewport” content=“width=device-width; initial-scale=1.0”>

    4.对移动设备使用media query,常用的有:

    /*pad*/
    @media screen and (min- 769px){}
    /*horizontal iphone5 568x320*/
    @media screen and (max- 768px) and (min- 481px){}
    /*horizontal iphone4 480x320,large android*/
    @media screen and (max- 480px) and (min- 380px){}
    /*=====vertical iphone5 320x568,vertical iphone4 320x480 ,Android=====*/
    @media screen and (max- 379px) and (min- 320px){}
    /*-----small Android-----*/
    @media screen and (max- 319px) and (min- 240px){}
    /*further small*/
    @media screen and (max- 239px){}

    5.对retina屏幕需要使用2倍尺寸的图片来增加像素密度,用CSS3判断设备为retina

    /* ------------- Retina ------------- */
    @media only screen and (-o-min-device-pixel-ratio: 2/1), /* Opera */
           only screen and (min--moz-device-pixel-ratio: 2), /* Firefox 16 之前 */
           only screen and (-webkit-min-device-pixel-ratio: 2), /* Webkit */
           only screen and (min-resolution: 240dpi), /* 标准 */
           only screen and (min-resolution: 2dppx) /* 标准 */
    {
    .mod .hd h3{
        background-image:url();
        background-size: 50% 50%;
    }
    }

    利用background-size属性。使用100% 100%来让图片撑满,50%来缩小一倍。

    有2个可选值,第1个值用于指定背景图的width,第2个值用于指定背景图的height,如果只指定1个值得,则第2个值默认为auto。

      background-size:cover; 等比扩展图片来填满元素

      background-size:contain; 等比缩小图片来适应元素的尺寸

    另外提到一个比较神奇的属性: background-position:center;

    它有使得背景图片自然的根据元素宽度渐渐显示并保持居中的能力,效果媲美js。

    真正的响应式网站必定有pc乃至pad和smartphone两套设计。这样所以缩放的范围并不大,比如980到1920之间为一套。那么真正用到js缩放元素的地方也不多,多数靠css可以完成。

    布局的时候往往采用一个100%宽的inline-block属性wrapper,撑满背景。然后固定宽度,比如980的block属性inner来margin:0 auto。

    其他需要等比例缩放的地方可借助js完成,见我的另一篇博客 自适应全屏与居中算法

    参考文章:

    响应式图片

    图片液态化

    CSS为Retina屏幕替换图片 

  • 相关阅读:
    【bzoj1408】 Noi2002—Robot
    【bzoj3884】 上帝与集合的正确用法
    【bzoj2190】 SDOI2008—仪仗队
    【uoj264】 NOIP2016—蚯蚓
    【uoj262】 NOIP2016—换教室
    【uoj261】 NOIP2016—天天爱跑步
    python sort 和sorted排序
    mkdir: cannot create directory ‘/soft/hadoop-2.7.3/logs’: Permission denied问题
    RuntimeError: implement_array_function method already has a docstring
    flask 的orm
  • 原文地址:https://www.cnblogs.com/haimingpro/p/3553959.html
Copyright © 2011-2022 走看看