zoukankan      html  css  js  c++  java
  • 移动端 CSS sprites 的 background-size 如何计算的。


    最近践行 移动端实例,第一遇到的问题就是这个。如何找到自己需要的图片位置。

    另外我看到说 CSS sprites 比 DataURL 要快很多,不过我看的是13年的一个分析,这好多年过去,不知道最新的如何。

    我其实还不知道写图片元素的话 是用 img标签呢 还是用 background 呢?

    以下是查阅到的如何计算background-size 的资料。感谢分享。

    正常PC设置时:

    1 .s1{
    2     width:22px;height:38px;background-position:-118px -0px;
    3     background-image:url(images/icon2b.png);
    4     display:inline-block;
    5 }

    但在ios上,因为iphone 上是双倍显示的,so:

    @media screen and (-webkit-min-device-pixel-ratio: 2), screen and (max-moz-device-pixel-ratio: 2) {
        .s1{
            width
    :11px;height:19px;/*目标 之前的一半*/
            background-position
    :-59px -0px;/*改变 之前一半*/
            background-image
    :url(images/icon2b.png);
            display
    :inline-block;
            background-size
    :180px 180px;/*大小 是css sprites 图片的一半大小*/
        
    }

    } 


    background-size计算方式为:

    高分辨率图像宽度(电脑) / 目标图像宽度(手机) = X 

    原始Sprites图像宽度 / x = background-size的宽度值

    这里我设置的电脑图片宽度为(电脑):22

    这里我设置的手机目标宽度为:11

    原始sprites图片大小为:360*360

    x=22/11=2

    background-size宽度:360/x=180px
    background-position:-59px 0(计算方式:原来的(-118)除以x)

    感谢:源头:http://www.luchanan.com/archives/322

  • 相关阅读:
    转载:C#中的属性、和字段的区别
    在idea中创建一个maven web工程及解决工程创建过慢问题
    注解&动态代理
    Listener&Filter
    Ajax&jQuery
    JSP&EL&JSTL
    Cookie&Session
    HttpServletRequest&HttpServletResponse
    Http协议&Servlet
    XML
  • 原文地址:https://www.cnblogs.com/hanyuxinting/p/4511140.html
Copyright © 2011-2022 走看看