• [置顶] css 背景透明,文字不透明,alpha滤镜,opacity,position:relative;


    都知道,在alpha滤镜下,背景透明了,里面的文字也会跟随透明,我们可以设置内容的position为relative可以解决这个问题

    但是在position为absolute这么做却没有效果,怎么解决呢,看代码:

    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
    <title>alpha</title>
    <style type="text/css">
    .alpha
    {
     100px;
     height:100px;
     background-color:red;
     display:block;
     opacity: 0.35;
     filter: "alpha(opacity=35)";
     filter: alpha(opacity=35);
     -moz-opacity: 0.35;
    }
    </style>
    </head><body>
        <div class="alpha">
         <div>文字显示</div>
        </div>
    </body>
    </html>
    

    这样显示的文字也是0.35的透明,修改代码如下:

    <!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>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
    <title>alpha</title>
    <style type="text/css">
    .alpha
    {
     100px;
     height:100px;
     background-color:red;
     display:block;
     opacity: 0.35;
     filter: "alpha(opacity=35)";
     filter: alpha(opacity=35);
     -moz-opacity: 0.35;
    }
    </style>
    </head>
    <body>
        <div class="alpha">
         <div style="position:relative;"> 文字显示</div>
        </div>
    </body>
    </html>
    


    文字没有了不透明效果

    这没什么,也不是我要说的重点

    看这个

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <style type="text/css">
            .alpha50
            {
                opacity: 0.5;
                filter: "alpha(opacity=50)";
                filter: alpha(opacity=50);
                -moz-opacity: 0.5;
            }
    
            .box
            {
                 173px;
                height: 163px;
                display: block;
                background-color: orange;
            }
    
            .absolute
            {
                position: absolute;
                 173px;
                height: 30px;
                margin-top: 133px;
            }
    
            .relative
            {
                position: relative;
            }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <div class="box">
                    <div class="absolute alpha50">
                        <div class="relative">显示文字</div>
                    </div>
                </div>
            </div>
        </form>
    </body>
    </html>
    


    虽然设了relative,但文字还是透明的

    反复试验 我发现修改代码顺序可以解决这个问题

    如下:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <style type="text/css">
            .alpha50
            {
                opacity: 0.5;
                filter: "alpha(opacity=50)";
                filter: alpha(opacity=50);
                -moz-opacity: 0.5;
            }
    
            .box
            {
                 173px;
                height: 163px;
                display: block;
                background-color: orange;
            }
    
            .absolute
            {
                position: absolute;
                 173px;
                height: 30px;
                margin-top: 133px;
            }
    
            .relative
            {
                position: relative;
            }
        </style>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <div class="box">
                    <div class="absolute">
                        <div class="alpha50">
                            <div class="relative">显示文字</div>
                        </div>
                    </div>
                </div>
            </div>
        </form>
    </body>
    </html>
    

    先absolute再alpha可以解决在absolute下设置relative的不透明度

    ok

  • 相关阅读:
    两款开发辅助工具介绍
    探究Repository模式的两种写法与疑惑
    js 时间处理
    Jquery元素追加和删除
    js 格式验证总结
    jquery UI datepicker时间控件的使用
    jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码
    JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解
    form表单和ajax表单提交(Html.BeginForm()、Ajax.BeginForm())的差别
    了解了这些才能开始发挥jQuery的威力(转)
  • 原文地址:https://www.cnblogs.com/aukle/p/3233790.html
Copyright © 2020-2023  润新知