• 背景色透明度兼容IE8的写法


    本文为Echoyya、所创,转载请带上原文链接,感谢 https://www.cnblogs.com/echoyya/p/14236242.html

    通常的做法

    • 目前大多数浏览器都支持 CSS3,只需将背景色设为类似于rgba(0, 0, 0, 0.5) 这样的rgba 颜色即可:前三个值分别表示红绿蓝(0 - 255)。
    • 第四个值是透明值,取值 0 完全透明取值 1 完全不透明

    Demo 在整个页面上方覆盖一个半透明的黑色蒙版层。

    <style>
      #mask {
        position: fixed;
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
        background: rgba(0, 0, 0, .5);
      }
    </style>
    <body>
      <h1>Hello World!!</h1>
      <div id="mask" />
    </body>
    

    兼容IE8及以下版本浏览器

    • 对于低版本的浏览器,上面的写法完全没有效果。想要兼容 可以借助 IE 滤镜来实现。
    • 可以在上面的样式里增加 filter 相关代码,#88000000 说明
      • 前两位是十六进制透明值,00 是完全透明FF 是完全不透明。88对应差不多0.53左右
      • 后六位是十六进制颜色值。
    • 对应关系表
    rgba 透明值 IEfilter 值
    0.1 19
    0.2 33
    0.3 4C
    0.4 66
    0.5 7F
    0.6 99
    0.7 B2
    0.8 C8
    0.9 E5
    #mask {
      position: fixed;
      top: 0px;
      left: 0px;
      right: 0px;
      bottom: 0px;
      background: rgba(0, 0, 0, .5);
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000,endColorstr=#88000000);
    }
    

    再次使用 IE8 打开页面,可以发现透明图层正常显示了

    注:IE8以下显示正常 ( filter 生效 ),IE10-IE11 显示正常 ( rgba 生效 ),当IE9时,二者同时生效,那么此时,元素的不透明度值会变高,当兼容性要求较高时,还需要单独处理一下。效果对比图如下:

  • 相关阅读:
    SpringCloud简介及使用
    容器云技术选择之kubernetes和swarm对比
    LXC简单介绍与使用
    go recover让崩溃的程序继续执行
    dbeaver可视化工具-连接clickhouse
    JavaScript异步与Promise基本用法(resolve与reject)
    通过mysql操作clickhouse
    clickhouse客户端使用
    clickhouse安装数据导入及查询测试
    spring boot druid数据源
  • 原文地址:https://www.cnblogs.com/echoyya/p/14236242.html
Copyright © 2020-2023  润新知