css background-size htc无效的几种情况_普通网友的博客-程序员秘密

技术标签: ViewUI  javascript  

使用了兼容ie8的background-size htc,如果是display:block的元素,它的背景显示是没问题的,但是如果这个元素display:none,则背景不显示,或者,这个元素是个伪元素,也不显示,迫于赶工期,不使用背景了,直接增加一个图片元素,一切都ok了

 

 

<!-- background-size-polyfill v0.2.0 | (c) 2012-2013 Louis-Rémi Babé | MIT License -->
<PUBLIC:COMPONENT lightWeight="true">
<PUBLIC:ATTACH EVENT="oncontentready" ONEVENT="o.init()" />
<PUBLIC:ATTACH EVENT="ondocumentready" ONEVENT="o.init()" />
<PUBLIC:ATTACH EVENT="onpropertychange" ONEVENT="o.handlePropertychange()" />
<PUBLIC:ATTACH EVENT="ondetach" ONEVENT="o.restore()" />
<PUBLIC:ATTACH EVENT="onresize" FOR="window" ONEVENT="o.handleResize()" />
<PUBLIC:EVENT NAME="onbackgroundupdate" ID="updateEvent" />
<script type="text/javascript">
var o;!function(a,b){
    var c=/url\(["']?(.*?)["']?\)/,d=/^\s\s*/,e=/\s\s*$/,f=/\s\s*/g,g=/%$/,h={top:0,left:0,bottom:1,right:1,center:.5},i=a.document,j="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",k="background-size-polyfill",l=function(){},m=100,n,p,q,r;function s(){
    var b=i.createElement("div"),c=i.createElement("img"),d=b.style,e=a.style,f=a.currentStyle,g=a.bgsExpando,h=a.firstChild;g&&(g.restore&&(e.backgroundImage=g.restore.backgroundImage,e.position=g.restore.position,e.zIndex=g.restore.zIndex),h&&"DIV"===(h.nodeName||"").toUpperCase()&&h.className===k&&a.removeChild(h)),t(b),b.className=k,d.top=d.right=d.bottom=d.left=0,d.position="fixed",t(c),c.alt="",b.appendChild(c),a.insertBefore(b,a.firstChild),a.bgsExpando=g={wrapper:b,img:c,restore:{backgroundImage:e.backgroundImage,position:e.position,zIndex:e.zIndex},current:{},next:null,processing:!1,loadImg:null,display:!1,changed:!1,ignore:!1,canFixed:"BODY"===a.nodeName.toUpperCase()&&b.offsetHeight>0},d.position="absolute","auto"===f.zIndex&&(e.zIndex=0),"static"===f.position&&(e.position="relative"),o={
    init:l,handlePropertychange:D,restore:F,handleResize:E},D()}function t(a){
    var b=a.style;b.position="absolute",b.display="block",b.zIndex=-1,b.overflow="hidden",b.visibility="inherit",b.width=b.height=b.top=b.right=b.bottom=b.left=b.cursor="auto",b.margin=b.padding=b.border=b.outline=b.minWidth=b.minHeight=0,b.background=b.maxWidth=b.maxHeight="none",b.fontSize=b.lineHeight="1em"}function u(a,c,d){
    var e;c?(e=i.createElement("img"),e.οnlοad=e.οnerrοr=function(){var c=this.width,e=this.height;"error"===b.event.type&&(c=e=0),a.loadImg=this.οnlοad=this.οnerrοr=null,d(c,e)},e.src=c):e={
    callbackId:b.setTimeout(function(){a.loadImg=null,d(0,0)},0)},a.loadImg=e,e=null}function v(a){
    var b=o.handlePropertychange;o.handlePropertychange=l,a(),o.handlePropertychange=b}function w(a,b){
    var c=a.currentStyle.display;return c!==b.display&&(b.display=c,b.changed=!0),"none"!==c}function x(a,b){
    var d=a.style,e=a.currentStyle,f=b.restore,i=y(e["background-size"]),k=i.split(" "),l={innerWidth:a.offsetWidth-(parseFloat(e.borderLeftWidth)||0)-(parseFloat(e.borderRightWidth)||0),innerHeight:a.offsetHeight-(parseFloat(e.borderTopWidth)||0)-(parseFloat(e.borderBottomWidth)||0),size:i,sizeIsKeyword:"contain"===i||"cover"===i,sizeX:k[0],sizeY:k.length>1?k[1]:"auto",posX:e.backgroundPositionX,posY:e.backgroundPositionY,attachment:e.backgroundAttachment,src:"",imgWidth:0,imgHeight:0};return l.sizeIsKeyword||((parseFloat(l.sizeX)>=0||"auto"===l.sizeX)&&(parseFloat(l.sizeY)>=0||"auto"===l.sizeY)||(l.sizeX=l.sizeY="auto"),g.test(l.sizeX)&&(l.sizeX=(l.innerWidth*parseFloat(l.sizeX)/100||0)+"px"),g.test(l.sizeY)&&(l.sizeY=(l.innerHeight*parseFloat(l.sizeY)/100||0)+"px")),(l.posX in h||g.test(l.posX))&&(l.posX=h[l.posX]||parseFloat(l.posX)/100||0),(l.posY in h||g.test(l.posY))&&(l.posY=h[l.posY]||parseFloat(l.posY)/100||0),(c.exec(d.backgroundImage)||[])[1]===j?v(function(){
    d.backgroundImage=f.backgroundImage}):f.backgroundImage=d.backgroundImage,l.src=(c.exec(e.backgroundImage)||[])[1],v(function(){
    d.backgroundImage="url("+j+")"}),l}function y(a){
    return String(a).replace(d,"").replace(e,"").replace(f," ")}function z(a,c){
    var d=c.next;function e(){p=b.setTimeout(function(){c.processing=!1,z(a,c)},0)}!c.processing&&d&&(c.next=null,c.processing=!0,u(c,d.src,function(b,f){
    d.imgWidth=b,d.imgHeight=f,A(c,d)?B(a,c,d,e):e()}))}function A(a,b){
    var c=a.current,d=!1,e;if(a.changed)a.changed=!1,d=!0;else for(e in b)if(b[e]!==c[e]){d=!0;break}return d}function B(a,c,d,e){
    var f=c.img,g=f.style,h=d.size,i=d.innerWidth,j=d.innerHeight,k=d.imgWidth,l=d.imgHeight,m=d.posX,n=d.posY,o="number"==typeof m,p="number"==typeof n,s="none",t=0,u=0,v="auto",w="auto",x="px",y="100%",z,A;i&&j&&k&&l&&(c.wrapper.style.position="fixed"===d.attachment&&c.canFixed?"fixed":"absolute",f.src=d.src,d.sizeIsKeyword?(z=i/j,A=k/l,"contain"===h&&A>z||"cover"===h&&z>A?(u=C((j-i/A)*n)+x,v=y):(t=C((i-j*A)*m)+x,w=y),g.left=o?t:m,g.top=p?u:n,g.width=v,g.height=w,s="block"):(g.display="block",g.width=d.sizeX,g.height=d.sizeY,k=f.width,l=f.height,k&&l&&(g.left=o?C((i-k)*m)+x:m,g.top=p?C((j-l)*n)+x:n,s="block"))),g.display=s,c.current=d,q=b.setTimeout(function(){r=b.setTimeout(e,0),updateEvent.fire()},0)}function C(a){
    var b=0>a;return a=Math.floor(Math.abs(a)),b?-a:a}function D(){
    var c=a.bgsExpando,d=(b.event||{
     }).propertyName,e="style.backgroundImage";c.ignore&&(c.ignore=!1,d===e)||(d===e&&a.style.backgroundImage&&(c.ignore=!0),w(a,c)&&(c.next=x(a,c),z(a,c)))}function E(){
    b.clearTimeout(n),n=b.setTimeout(D,m)}function F(){
    var c=a.bgsExpando,d,e,f;o={init:l,handlePropertychange:l,restore:l,handleResize:l},b.clearTimeout(n),b.clearTimeout(p),b.clearTimeout(q),b.clearTimeout(r);try{
    c&&(d=c.loadImg,d&&(d.οnlοad=d.οnerrοr=null,b.clearTimeout(d.callbackId)),e=a.style,f=c.restore,e&&(e.backgroundImage=f.backgroundImage,e.position=f.position,e.zIndex=f.zIndex),a.removeChild(c.wrapper)),a.bgsExpando=null}catch(g){}a=b=i=l=null}o={
    init:"print"!==i.media?s:l,handlePropertychange:l,restore:l,handleResize:l},"complete"===a.readyState&&o.init()}(element,window);</script>
<script type="text/vbscript"></script>
</PUBLIC:COMPONENT>

 

转载于:https://www.cnblogs.com/ch459742906/p/6322027.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dengou2260404339/article/details/102402481

智能推荐

MbedOS I2C_mbed i2c_ChinaSanDuo的博客-程序员秘密

I2C接口提供I2C主控功能。I2C是一种双线串行协议,允许I2C主设备与I2C从设备交换数据。您可以使用它与I2C设备通信,例如串行存储器,传感器和其他模块或集成电路。I2C协议每条总线最多支持127个设备,其默认时钟频率为100KHz。注意:请记住,在sda 和 scl 上需要一个上拉电阻。I2C总线上的所有驱动器都需要是开路集电极,因此必须在两个信号上使用上拉电阻。上拉电阻...

Linux下使用Vi是方向键变乱码 退格键不能使用的解决方法_linux 编辑文件回退键变成问号_daxian521的博客-程序员秘密

在Linux下编辑一些文件,这就涉及到了vi这个编辑器了。在Linux下,初始使用vi的时候有点问题,就是在编辑模式下使用方向键的时候,并不会使光标移动,而是在命令行中出现[A [B [C [D之类的字母,而且编辑错误的话,就连平时关于的退格键(Backspace键)都使用不了,只能用Delete来删除。针对这个问题,网上的答案有很多,例如是安装完整版的vim啊,编辑/etc/vim/vimrc.

svn——“验证位置时发生错误”的解决办法_Jane-wang的博客-程序员秘密

验证位置时发生错误:“org.tigris.subversion.javahl.ClientException......验证位置时发生错误:“org.tigris.subversion.javahl.ClientException: RA layer request failed svn: Server sent unexpected return value (403 Forbidde

C#AE练习 (6)创建与编辑数据_菜鸟学飞ing去看世界的博客-程序员秘密

创建与编辑数据//在CreateFields函数里创建字段集public IFieldsEdit CreateFields(){ //使用编辑接口IFieldEdit(IFieldsEdit)创建新的Field对象或新的Fields集 //创建字段集合. 使用IFieldsEdit接口,要将Field对象加入到Fields集中 //IFields pFields = new Field...

sqlserver 字符串拆分和取某分隔符之前的字符串_weixin_33770878的博客-程序员秘密

ALTER FUNCTION [dbo].[f_splitSTR]( @s varchar(8000), --待分拆的字符串 @split varchar(10) --数据分隔符 )RETURNS @re TABLE( col varchar(max)) AS BEGIN DECLARE ...

MATLAB 条形图或饼状图 图案填充_aizhao3648的博客-程序员秘密

function [im_hatch,colorlist] = applyhatch_pluscolor(h,patterns,CvBW,Hinvert,colorlist, ... dpi,hatchsc,lw)%APPLYHATCH_PLUSCOLOR Apply hatched...

随便推点

《快速阅读术》--如何养成阅读的习惯_weixin_30603633的博客-程序员秘密

1. 从可以快速阅读的书开始哪些是可以快速阅读的书?贯穿全书的线索很少,相对独立的章节较多,无论从哪里开始阅读都可以有所收获。和不能快速阅读的书搭配阅读可以快速阅读的书和不能快速阅读的书,比例应该是9:1,每天的阅读时间比例是1:1阅读一本书的时间不能过长阅读一本书的时间不应该超过10天,最好是每天阅读的书都不同。创造一种接连不断阅读各类书籍的氛围,让自己感受到切...

【指纹识别】基于matlab GUI指纹打卡系统【含Matlab源码 867期】_指纹识别源码_海神之光的博客-程序员秘密

21世纪是信息化时代,在这个特殊的时代,我们的生活中电子设备越来越多,比如,笔记本电脑, ATM取款机,考勤系统,门禁系统和各种智能卡,网络中的网上银行,人人网账号等,都需要验证身份。对个人身份识别技术的要求不断提高,如果没有安全可靠和快捷的身份识别技术,电子商务、网上购物等就存在重大隐患。目前许多身份验证系统都采用“用户名+密码”的方式来进行用户访问控制,但此方法存在诸多隐患,比如密码被窃取、破解或遗忘。因此我们在与机器交互时急需一种准确、安全快捷的识别技术来取代现有的身份验证。

我常用的 .zshrc 文件 - oh-my-zsh 自动补齐加 zsh-syntax-highlighting 高亮 加 窗体透明_[oh-my-zsh] plugin 'zsh-syntax-highlighting' not f_zyykkk的博客-程序员秘密

# Filename: /etc/zsh/zshrc# Purpose: config file for zsh (z shell)# Authors: grml-team (grml.org), (c) Michael Prokop &lt;[email protected]&gt;# Bug-Reports: see http://grml.org/bugs...

servlet学习笔记_两头蛇三脚猫的博客-程序员秘密

教程中的笔记,整理放到博客上。

tf.train.Saver()和tf.train.ExponentialMovingAverage()的理解_不死谷神的博客-程序员秘密

tf.train.Saver()和 tf.train.ExponentialMovingAverage()是tensorflow的两个类,第一个是用来保存模型和参数的,第二个是使用的滑动平均模型,

ROS的安装、卸载以及Turtlebot包的安装_ros-hydro-turtlebot-simulator下载安装_张京林要加油的博客-程序员秘密

一、前言我的运行环境: 操作系统:Ubuntu Kylin 14.04 ROS版本:Indigo 背景说明:本文记录了ROS的安装和卸载过程与Turtlebot包的安装过程以及其间遇到的问题二、ROS的安装1、ROS与Ubuntu版本的考虑ROS作为机器人操作系统并不是一个像Windows、Linux那样可以独立运行的操作系统,他需要运行在Linux环境下。所以运行ROS的前提是电脑要装有Li