zoukankan      html  css  js  c++  java
  • 从苹果的appstore谈谈web前端那丝毫的追求

    献上链接:点击进入itunes


    打开页面,我们先找到App 的logo图

    比如这个图
    很简单的一个图标,估计多数人选择的是上传一张处理好圆角,border的图片作为app logo,但问题是苹果觉得,你们每个人都自己去上传logo,那统一性何在!

    打开源代码,我们看到源代码里有个mask标签,很纳闷:

    然后看mask标签的css里面有图片,mask是绝对定位到一个整体的logo图上的,遮住了正方形的logo从而形成了一种圆角的东西。

    苹果这样做,难道只是为了兼容ie低版本,兼容不支持圆角的浏览器?乍一看是这样的,但是这是苹果啊,苹果怎么会做那种东西;
    我们接着往下看:

    #main #content div.lockup.application div.artwork>span.mask, .software #main #content div.lockup div.artwork>span.mask {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
     177px;
    height: 177px;
    background: url(web-storefront/images/mask175.png) 0 0 no-repeat;
    background-size: 175px 175px;
    }

    大家看到红色这一句,这是css3属性的东西,这东西ie低版本是不能兼容,这就引出了一个矛盾:

                      如果苹果是为了兼容而不用css3写圆角,那么为何又用css3的background-size这属性?

      这是一个奇怪的矛盾,那我们就不管,继续找原因。
         我们用css3模拟一个出来,对比一下到底问题出现在哪?
       如图:

    细心的同学会发现,无论我们怎么调试,也达不到原图的效果,这是为什么呢?

    我们把原图截图下来,放到photoshop里面放大了看看,效果如下

    答案一目了然了,mask的背景图,除了白色的四角,里面还有一个内边框,而这个内边框是半透明的,当遮罩遮住图片后,半透明的地方会让图片有透出的效果,这点css3是不能做到的。

    谜底揭晓,瞬间轻松了许多。

    苹果不愧是个为了追求完美而在任何一个细节上都去注意的公司

    作为web开发者,我们也该本着一种追求极致的心态去完善自己的作品。

    本文为原创,转载请注明。

  • 相关阅读:
    量化投资_期货日内交易几个问题的考证
    量化投资_上一个交易时间段对今日收盘价涨跌的影响
    RunJS
    sublime3快捷 输入html
    NLP学习资源
    Invert Binary Tree
    定时任务 Crontab命令 详解
    根据职位名,自动生成jd
    使用python + tornado 做项目demo演示模板
    Awk 实例
  • 原文地址:https://www.cnblogs.com/runningpaul/p/3765808.html
Copyright © 2011-2022 走看看