弹出层背景透明度问题...

JeremyChenX 2013-10-23 03:04:25



想做如上的效果.

要求:

1.要适应全部的浏览器

2.可以自由更改透明度及其颜色

在线等...
...全文
659 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
l676331991 2013-10-23
  • 打赏
  • 举报
回复 1
是的,背景层和弹出层不能是父子关系,否则opacity属性会影响弹出层。 不过即使是父子关系,也是有解的,那就是半透明不用opacity来解决。此方法兼容IE6+,chrome、firefox自不必说。 在支持css3的浏览器上,用backgorund: rgba(0,0,0,.4),不支持rgba颜色的浏览器(IE678)使用IE filter中的gradient,IE滤镜的颜色支持alpha通道,startcolorstr/endcolorstr 取值是#AARRGGBB ,前两位表示alpha透明值。

.bg{
  background-color: rgba(0,0,0,.5);
  filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#88000000,endcolorstr=#88000000e);
}
JeremyChenX 2013-10-23
  • 打赏
  • 举报
回复
引用 14 楼 showbo 的回复:
不能为父子关系。除非你的子为半透明就不会影响父节点,否则返回来不行
嗯,谢谢斑竹,以后有问题,我还得继续请教..
  • 打赏
  • 举报
回复
不能为父子关系。除非你的子为半透明就不会影响父节点,否则返回来不行
JeremyChenX 2013-10-23
  • 打赏
  • 举报
回复
引用 12 楼 showbo 的回复:
[quote=引用 5 楼 NobodyCanHelpMe 的回复:] [quote=引用 3 楼 showbo 的回复:]
lightbox效果,获取视窗的宽和高,半透明层设置为视窗的高/宽,设置透明样式,浮动层那个自己计算为准,设置为absolute

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<style>
.alpha{position:absolute;z-index:10;left:0px;top:0px;filter:alpha(opacity=50);opacity:.5;background:#000000;}
</style>
<script>
    window.onload = function () {
        var backCompat = document.compatMode == 'BackCompat';
        var w = backCompat ? document.body.scrollWidth : document.documentElement.scrollWidth
        , h = backCompat ? Math.max(document.body.clientHeight, document.body.scrollHeight) : document.documentElement.scrollHeight;
        var div = document.createElement('div');
        div.className = 'alpha';
        div.id = 'lightbox';
        div.style.width = w + 'px';
        div.style.height = h + 'px';
        document.body.appendChild(div)
    }
</script>
底层内容
当我创建了一个背景div 可以透明. 但同时我想,弹出来的那个div 在这个背景div的里面.同时,弹出来的div不透明.该怎么做?谢谢斑竹先...[/quote] 要做2个不同的层
<style>
.alpha{position:absolute;z-index:10;left:0px;top:0px;filter:alpha(opacity=50);opacity:.5;background:#000000;}
.infolayer{position:absolute;width:400px;height:300px;background:#ffffff;z-index:1000}
</style>
<script>
    window.onload = function () {
        var backCompat = document.compatMode == 'BackCompat';
        var w = backCompat ? document.body.scrollWidth : document.documentElement.scrollWidth
        , h = backCompat ? Math.max(document.body.clientHeight, document.body.scrollHeight) : document.documentElement.scrollHeight;

        var div = document.createElement('div');
        div.className = 'alpha';
        div.id = 'lightbox';
        div.style.width = w + 'px';
        div.style.height = h + 'px';
        document.body.appendChild(div);
        div = document.createElement('div');


        div.className = 'infolayer';
        document.body.appendChild(div);
        div.style.top = (h - div.offsetHeight)/2 + 'px';
        div.style.left = (w - div.offsetWidth)/2 + 'px';
    }
    </script>
[/quote] 其实我就想做两个 div。 一个为透明背景层. 一个为显示层.同时显示层不可以透明.这两个div为父子关系.斑竹大人..
  • 打赏
  • 举报
回复
引用 5 楼 NobodyCanHelpMe 的回复:
[quote=引用 3 楼 showbo 的回复:]
lightbox效果,获取视窗的宽和高,半透明层设置为视窗的高/宽,设置透明样式,浮动层那个自己计算为准,设置为absolute

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<style>
.alpha{position:absolute;z-index:10;left:0px;top:0px;filter:alpha(opacity=50);opacity:.5;background:#000000;}
</style>
<script>
    window.onload = function () {
        var backCompat = document.compatMode == 'BackCompat';
        var w = backCompat ? document.body.scrollWidth : document.documentElement.scrollWidth
        , h = backCompat ? Math.max(document.body.clientHeight, document.body.scrollHeight) : document.documentElement.scrollHeight;
        var div = document.createElement('div');
        div.className = 'alpha';
        div.id = 'lightbox';
        div.style.width = w + 'px';
        div.style.height = h + 'px';
        document.body.appendChild(div)
    }
</script>
底层内容
当我创建了一个背景div 可以透明. 但同时我想,弹出来的那个div 在这个背景div的里面.同时,弹出来的div不透明.该怎么做?谢谢斑竹先...[/quote] 要做2个不同的层
<style>
.alpha{position:absolute;z-index:10;left:0px;top:0px;filter:alpha(opacity=50);opacity:.5;background:#000000;}
.infolayer{position:absolute;width:400px;height:300px;background:#ffffff;z-index:1000}
</style>
<script>
    window.onload = function () {
        var backCompat = document.compatMode == 'BackCompat';
        var w = backCompat ? document.body.scrollWidth : document.documentElement.scrollWidth
        , h = backCompat ? Math.max(document.body.clientHeight, document.body.scrollHeight) : document.documentElement.scrollHeight;

        var div = document.createElement('div');
        div.className = 'alpha';
        div.id = 'lightbox';
        div.style.width = w + 'px';
        div.style.height = h + 'px';
        document.body.appendChild(div);
        div = document.createElement('div');


        div.className = 'infolayer';
        document.body.appendChild(div);
        div.style.top = (h - div.offsetHeight)/2 + 'px';
        div.style.left = (w - div.offsetWidth)/2 + 'px';
    }
    </script>
JeremyChenX 2013-10-23
  • 打赏
  • 举报
回复
引用 10 楼 zzgzzg00 的回复:
除了css3 用rgba外的话 貌似css2不能的样子
嗯好吧..
似梦飞花 2013-10-23
  • 打赏
  • 举报
回复
除了css3 用rgba外的话 貌似css2不能的样子
JeremyChenX 2013-10-23
  • 打赏
  • 举报
回复
引用 8 楼 NobodyCanHelpMe 的回复:
[quote=引用 7 楼 zzgzzg00 的回复:] 第二个div通过定位定位到指定的位置 和第一个一样 只是不要设置透明 而且两个div不要是父子关系 否则第二个div也会透明的
我现在就遇到一个这样的问题...内两个div现在必须是父子关系.并且,子div不可以透明....大神,求指教..[/quote] 而且,背景的透明度是可以指定的...小弟跪谢...
JeremyChenX 2013-10-23
  • 打赏
  • 举报
回复
引用 7 楼 zzgzzg00 的回复:
第二个div通过定位定位到指定的位置 和第一个一样 只是不要设置透明 而且两个div不要是父子关系 否则第二个div也会透明的
我现在就遇到一个这样的问题...内两个div现在必须是父子关系.并且,子div不可以透明....大神,求指教..
似梦飞花 2013-10-23
  • 打赏
  • 举报
回复
第二个div通过定位定位到指定的位置 和第一个一样 只是不要设置透明 而且两个div不要是父子关系 否则第二个div也会透明的
JeremyChenX 2013-10-23
  • 打赏
  • 举报
回复
引用 4 楼 zzgzzg00 的回复:
弹一个div 设置position为absolute/fixed left top bottom right都为0 透明ie用filter:alpha(opacity=50) w3c opacity:.5 颜色改变设置background-color 这些属性都可以通过js设置
问题我还有一个弹出内容的div. 背景是不透明的,我还想放在整个为背景为黑色透明层的里面...
JeremyChenX 2013-10-23
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:
lightbox效果,获取视窗的宽和高,半透明层设置为视窗的高/宽,设置透明样式,浮动层那个自己计算为准,设置为absolute

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<style>
.alpha{position:absolute;z-index:10;left:0px;top:0px;filter:alpha(opacity=50);opacity:.5;background:#000000;}
</style>
<script>
    window.onload = function () {
        var backCompat = document.compatMode == 'BackCompat';
        var w = backCompat ? document.body.scrollWidth : document.documentElement.scrollWidth
        , h = backCompat ? Math.max(document.body.clientHeight, document.body.scrollHeight) : document.documentElement.scrollHeight;
        var div = document.createElement('div');
        div.className = 'alpha';
        div.id = 'lightbox';
        div.style.width = w + 'px';
        div.style.height = h + 'px';
        document.body.appendChild(div)
    }
</script>
底层内容
当我创建了一个背景div 可以透明. 但同时我想,弹出来的那个div 在这个背景div的里面.同时,弹出来的div不透明.该怎么做?谢谢斑竹先...
似梦飞花 2013-10-23
  • 打赏
  • 举报
回复
弹一个div 设置position为absolute/fixed left top bottom right都为0 透明ie用filter:alpha(opacity=50) w3c opacity:.5 颜色改变设置background-color 这些属性都可以通过js设置
  • 打赏
  • 举报
回复
lightbox效果,获取视窗的宽和高,半透明层设置为视窗的高/宽,设置透明样式,浮动层那个自己计算为准,设置为absolute

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<style>
.alpha{position:absolute;z-index:10;left:0px;top:0px;filter:alpha(opacity=50);opacity:.5;background:#000000;}
</style>
<script>
    window.onload = function () {
        var backCompat = document.compatMode == 'BackCompat';
        var w = backCompat ? document.body.scrollWidth : document.documentElement.scrollWidth
        , h = backCompat ? Math.max(document.body.clientHeight, document.body.scrollHeight) : document.documentElement.scrollHeight;
        var div = document.createElement('div');
        div.className = 'alpha';
        div.id = 'lightbox';
        div.style.width = w + 'px';
        div.style.height = h + 'px';
        document.body.appendChild(div)
    }
</script>
底层内容
JeremyChenX 2013-10-23
  • 打赏
  • 举报
回复
引用 1 楼 u011559804 的回复:
百度 jquery弹出层 插件 应该能找到满足你要求的插件
谢谢啊 哥们,我想自己写一个...
sliwey 2013-10-23
  • 打赏
  • 举报
回复
百度 jquery弹出层 插件 应该能找到满足你要求的插件
WPS Office 2019 是一款功能丰富的办公软件套装,它整合了文字、表格、演示、PDF 等组件,具备体积小巧、功能丰富、兼容性强等特点,能满足日常办公的多种需求。 功能组件丰富:包含 WPS 文字、WPS 演示、WPS 表格、WPS PDF 等组件,可用于文档编辑、表格计算、幻灯片制作、PDF 处理等,支持 DOC、DOCX、XLS、XLSX、PPT 等多种格式,能与 Microsoft Office 较好地兼容。 支持云存储与协作:用户登录 WPS 账号后,可实现多终端、跨平台的数据同步,还能与他人协同办公,文档可通过微信、QQ 等社交平台一键分享。 PDF 功能强大:提供沉浸式 PDF 阅读体验和稳定的编辑服务,支持一键编辑 PDF 文档内容。借助 OCR 技术,可精准转换文档、表格、PPT、图片等格式的文件。 界面设计优化:具有全新视觉设计,默认皮肤舒适清爽,还支持桌面背景、界面字体、皮肤、格式图标等个性化设置。同时,文档标签可拖拽成独立窗口或合并,用户可自主选择文档显示方式,还能将文件放置在不同工作区,便于分类浏览与管理。 内置实用工具:内置了简单的网页浏览器,点击文档中的链接会默认用其打开,可进行网页添加到首页、另存为 PDF 等操作。此外,“应用中心” 集成了输出转换、文档助手、安全备份等多种实用功能。 模板资源丰富:稻壳商城提供了大量模板、范文、图片等素材资源,涵盖求职简历、总结计划、合同协议等常见文档类型,方便用户快速创建专业文档。 表格功能特色突出:支持通过关键词快速切换工作表,设有阅读模式和护眼模式。还可分类合并单元格,以及拆分合并单元格并填充内容。公式编辑器中可轻松完成公式嵌套,筛选时可通过 “仅筛选此项” 一步完成特定值筛选,还能根据筛选条件生成动态分析图表。另外,“特色功能” 和 “智能工具箱” 菜单中包含 PDF

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧