zoukankan      html  css  js  c++  java
  • 响应式布局(一)

    1、设置meta标签

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

    user-scalable = no 属性能够解决 iPad 切换横屏之后触摸才能回到具体尺寸的问题

    2、通过媒介查询来设置样式(Media Queries)

    假如一个终端的分辨率小于 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 (min- 320px) and (max- 767px) {}

    4、需要注意的点

    (1)宽度需要使用百分比

    (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-600px) { 
        img[data-src-600px] {
            content: attr(data-src-600px, url); 
        } 
    } 
    
    @media (min-device-800px) {
        img[data-src-800px] {
            content: attr(data-src-800px, url);
        }
    }   

    (3)其他属性

    例如 pre ,iframe,video 等,都需要和img一样控制好宽度。对于table,建议不要增加 padding 属性,低分辨率下使用内容居中:

    table th, table td { padding: 0 ; text-align: center; }
  • 相关阅读:
    开开心心
    HOW HE/SHE'S SEEN
    天池
    sql server deadlock跟踪的四种方法
    reduce 好东西
    object方法
    页面横向滚动 联动 进度条
    浅拷贝、深拷贝
    图片下载
    axios简单封装
  • 原文地址:https://www.cnblogs.com/qiye2016/p/5806054.html
Copyright © 2011-2022 走看看