代码之家  ›  专栏  ›  技术社区  ›  jamesmstone

CSS图像上的透明文本,带彩色方框轮廓

  •  2
  • jamesmstone  · 技术社区  · 11 年前

    在做了一些研究但没有发现任何结果后,我想知道是否有人知道一种方法,可以让一些文本在图像上透明,但周围有一个盒子,这样它仍然清晰可辨。

    我的尝试

    HTML格式

    <img src="http://images2.fanpop.com/images/photos/8000000/Mountains-mountains-and-waterfalls-8031277-2560-1817.jpg"/>
    
    <p> this is some transparent text with a brown background </p>
    

    CSS格式

    img{
      width:500px;
    }
    p{
      top:100px;
      left:20px;
      position:absolute;
      display:box;
      color:rgba(0,0,0,0);
      background:brown;
    
    }
    

    预期效果

    Desired effect

    3 回复  |  直到 11 年前
        1
  •  4
  •   andi    11 年前

    在你想要的效果图中,它不会那样工作。在那里,图像是最底层,棕色方框是中间层,文本在上面。如果文本是透明的,那么棕色框将显示出来,而不是图像。

    看起来你真正想要的是在盒子上切一个文本形状的洞,我认为这是不可能的。

        2
  •  1
  •   Anobik    11 年前

    检查小提琴

    fiddle

    这是css

    .gradient4 {
    -moz-border-radius: 15px;
    border-radius: 15px;
    text-align: center;
    margin-top: 5px;
    margin-bottom: 5px;
    background: url(http://www.silenceit.ca/wordpress/wp-content/uploads/2011/03/wood_texture.jpg) repeat;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    }
    
    .test{
        background-color:red;
    }
    .outer{
        height:400px;
        width:400px;
        background: url(http://www.silenceit.ca/wordpress/wp-content/uploads/2011/03/wood_texture.jpg)
    }
    

    但这里有一个crck,你需要将红色div文本的背景设置在你想要文本的x和Y位置。:)

        3
  •  1
  •   blackeyebeefhorsefly    11 年前

    你可以试试这样的东西

    background: url(images/wood_texture.jpg) repeat;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    

    但这东西仍然是一个工作标准!请参阅实现资源,如果您还需要其他东西,请告诉我!:)

    资源 http://www.silenceit.ca/2011/03/11/css-gradients-and-webkit-image-masks-on-text/