HTML中背景透明有阴影,透明PNG在网页有阴影的解决方法
做自己的SS站LOGO时,我用的是PNG图片,PS时做的是透明背景,上传到网站后在本机测试也是透明(如图一),不过之后在很多别人的电脑上看时图片出现了水渗般的背景色(如图二),问了很多朋友,以为与电脑分辨率有关,不过调试后不行,自己上网找了很久,发现原来是浏览器问题。
发现遇到同样问题的不仅是我,所以就本人的例子总结了方法在此,希望对有需要的朋友有所帮助。
PNG图片有很好的品质。阴影效果也不会有杂边,很流畅。如果插入网页的话可以给网站内容增色不少!更重要的是在不增加图片容量大小的情况下提高了页面的图片的质量。对于有复杂背景,如:在有颜色过度背景上插入不规则边框的图片带来极大很便利!
但目前IE中对于插入的透明背景的.png的图片是不能正常显示的。IE会自动给".png"格式的图片加个灰色背景。
解决这个的方法是增加javascript。具体方法如下:
把下面的代码放在head区就可以解决问题了。
以下为引用的内容:
function correctPNG()
{
for(var i=0; i
{
var img = document.images[i]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "
+ " style=/"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=/'" + img.src + "/', sizingMethod='scale');/">
"
img.outerHTML = strNewHTML
i = i-1
} //LIEHUO.NET
}
}
window.attachEvent("onload", correctPNG);
也可以把这段代码单独加在一张图片上:
以下为引用的内容:
style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='male.png',sizingMethod='scale');">
HTML中背景透明有阴影,透明PNG在网页有阴影的解决方法相关推荐
- VMware vSphere Client中启动虚拟机提示No boot filename received/Operating System not found解决方法
VMware vSphere Client中启动虚拟机提示No boot filename received/Operating System not found解决方法 参考文章: (1)VMwar ...
- oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死 解决方法
oracle中"ORA-00060: 等待资源时检测到死锁" 或存储过程编译卡死 解决方法 参考文章: (1)oracle中"ORA-00060: 等待资源时检测到死锁& ...
- Proxmox VE中出现TASK ERROR: command ‘apt-get update‘ failed: exit code 100的解决方法
Proxmox VE中出现TASK ERROR: command 'apt-get update' failed: exit code 100的解决方法 参考文章: (1)Proxmox VE中出现T ...
- iOS中 H5的input输入框focus()无法自动拉起键盘(解决方法)
iOS中 H5的input输入框focus()无法自动拉起键盘(解决方法) 参考文章: (1)iOS中 H5的input输入框focus()无法自动拉起键盘(解决方法) (2)https://www. ...
- eclipse 中提示tomcat 的端口被占用了 后的最快捷解决方法
eclipse 中提示tomcat 的端口被占用了 后的最快捷解决方法 参考文章: (1)eclipse 中提示tomcat 的端口被占用了 后的最快捷解决方法 (2)https://www.cnbl ...
- VS2017 启动调试出现 无法启动程序“http://localhost:15613” 操作在当前状态中是非法的。 同时附加进程也是错误的解决方法
VS2017 启动调试出现 无法启动程序"http://localhost:15613" 操作在当前状态中是非法的. 同时附加进程也是错误的解决方法 参考文章: (1)VS2017 ...
- ios系统微信浏览器、safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法
ios系统微信浏览器.safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法 参考文章: (1)ios系统微信浏览器.safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法 (2) ...
- yii2 html form,YII2中ajax通过post提交form表单数据报400错误的解决方法
摘要:YII2中通过ajax post表单数据需要验证CSRF否则post数据是无法提交过去的.虽然有其他人提供过解决方案,但都不够完整,除了把enableCsrfValidation设为false外 ...
- python调用so库输出传入指针_python中使用ctypes调用so传参设置遇到的问题及解决方法...
问题 近日在做一组声纹聚类时,使用了另一团队同学开发的声纹距离算法.该算法对外提供的是一组so包,需要使用方自己去使用.在python中调用纯so包一般使用ctypes类库,用起来看起来简单但也有不少 ...
- Linux中的基本命令无法使用,报Command not found的错误的解决方法
Linux中的基本命令无法使用,报Command not found的错误的解决方法 参考文章: (1)Linux中的基本命令无法使用,报Command not found的错误的解决方法 (2)ht ...
最新文章
- vba调用计算机,如何实现跨工作表自动引用数据? 求:EXCEL公式(函数)或VBA宏程序...
- c#竖直射线法判断点是否再多边形里面
- 淘宝网登陆时密码输不进去??
- 作业一(高见老师收)
- 深耕“工业互联网”,华为云持续开花
- 【英语学习】【WOTD】animadversion 释义/词源/示例
- leetcode题解119-杨辉三角II
- Coolite Toolkit学习笔记一:AjaxEvent、AjaxMethod和Listeners
- 6月全球垃圾邮件上升6.9% 以色列高居榜首
- cuteEditor6.0多语言版(集成lic文件)
- Unity采用Forge Networking Remastered数据的远程传输 Basic RPC Example
- mysql是怎样工作的_MySQL系列:一句SQL,MySQL是怎么工作的?
- 模拟点击框架网页内无id无name的按钮
- overriding managed version警告
- 一年来终于用实际案例把matplotlib的绘图坐标轴说清楚了-太给力了
- 以下哪些不是Linux操作系统特点,Linux系统都有哪些特点?很多人不知道!
- python 期货交易接口_期货数据接口(期货数据接口 python)
- html隐藏visibility,HTML DOM Style visibility 属性 | 菜鸟教程
- 网页代码扒ppt_用“扒片”的方法制作ppt
- 收到服务器发来的配置信息同步命令,Microsoft Exchange ActiveSync 和第三方设备的当前问题...