惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
Webroot Blog
Webroot Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threat Research - Cisco Blogs
V2EX - 技术
V2EX - 技术
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
S
Schneier on Security
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The GitHub Blog
The GitHub Blog
S
Security @ Cisco Blogs
O
OpenAI News
W
WeLiveSecurity
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
Cloudbric
Cloudbric
The Last Watchdog
The Last Watchdog
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
NISL@THU
NISL@THU
T
Tailwind CSS Blog
V
Visual Studio Blog
PCI Perspectives
PCI Perspectives
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
D
DataBreaches.Net
B
Blog RSS Feed
N
News and Events Feed by Topic
N
News and Events Feed by Topic
H
Heimdal Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
Latest news
Latest news
V
Vulnerabilities – Threatpost
Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
V
V2EX
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Register - Security
The Register - Security
Help Net Security
Help Net Security

博客园 - sin

2017年6月做的一个梦 开始写诗了 一张判断你是用左脑还是右脑的图 Javascript 刷新框架及页面的方法总集 - sin - 博客园 SQL高级查询技巧 自己写的SQL存储过程分页方法 .net简单添加数据库方法 ASP.NET刷新页面的六种方法 DataGrid传统分页方式 - sin - 博客园 ACCESS"数据库提示它已经被别的用户以独占方式打开,或没有查看数据的权限"的问题 - sin - 博客园 div长度相等的几个办法 在IE浏览器中的奇怪页面表现 HTML标签大全 css杂问题 用css模拟title和alt的提示效果 用Web标准进行开发 div+css 面试题目 有什么有效方法清除多余的CSS代码 95%的中国网站需要重写CSS-写在px和em的区别下
png图片在ie不透明的解决方案和浏览器通用的透明效果
sin · 2007-06-22 · via 博客园 - sin

PNG(Portable Network Graphics)是W3C推荐的网页图片通用格式,但是Microsoft的IE6以下(IE7已经支持)没有把PNG的Alpha 通道打开,造成透明PNG图片的效果出不来。在Firefox、Opera下显示正常的透明PNG图片,在IE下浏览时就会带有灰色背景色,不透明的就像下图示例:

解决方法之一是给透明PNG图片加一个滤镜:

引用内容 引用内容

<div style="width:100%;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='透明PNG图片路径',sizingMethod='image')></div>

或是用CSS的方式控制,把style写在CSS文件中,就不用每贴一张图都要写这么长的代码了。

透明的效果就像这样:

HTML代码



[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

第二种方法就是用javascript来控制,程序代码如下:

引用内容 引用内容

<script>
function correctPNG()
{
for(var i=0; i<document.images.length; 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 = "<span "+ imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src='" + img.src + "', sizingMethod='scale');\"></span>"
img.outerHTML = strNewHTML
i = i-1
}
}
}
window.attachEvent("onload", correctPNG);

</script>

在页面中加入此代码PNG图片即可透明。。。

浏览器通用透明效果:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>runcode</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Author" content="Sheneyan" />
<style type="text/css">
body{background:gray;}
div#test{
  background:#000;
  color:white;
  width:200px;
  position:absolute;
  left:10px;
  top:10px;
  filter: Alpha(opacity=50);
  -moz-opacity:.50;
  opacity:0.5;
}
</style>

</head>
<body>
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
这里是一堆文字背景~<br />
<div id="test">我应该是半透明的……</div>
</body>
</html>