zoukankan      html  css  js  c++  java
  • [置顶] 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

  • 相关阅读:
    天地图OGC WMTS服务规则
    【异常】VS中运行HTTP 无法注册URL
    【TextBox】重写右键菜单
    【ContextMenu】DataContext不自动更新
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
  • 原文地址:https://www.cnblogs.com/aukle/p/3233790.html
Copyright © 2011-2022 走看看