Heim  >  Fragen und Antworten  >  Hauptteil

Hintergrund und transparenter Text werden abgeschnitten

Gibt es eine Möglichkeit, mithilfe von CSS den Effekt „Transparenten Text aus dem Hintergrund ausschneiden“ zu erstellen, wie unten gezeigt? Es wäre eine Schande, all das wertvolle SEO zu verlieren, weil Bilder den Text ersetzen.

Ich dachte zuerst an Schatten, aber mir fiel nichts ein...

Dieses Bild ist der Website-Hintergrund, absolut positioniertes

Tag

P粉439804514P粉439804514207 Tage vor512

Antworte allen(2)Ich werde antworten

  • P粉200138510

    P粉2001385102024-03-26 10:05:53

    虽然这可以通过 CSS 实现,但更好的方法是使用 内联 SVG< /a> 与 SVG 遮罩。与 CSS 相比,这种方法有一些优点:

    CodePen 演示:SVG 文本掩码

    body,html{height:100%;margin:0;padding:0;}
    body{
      background:url('https://farm9.staticflickr.com/8760/17195790401_94fcf60556_c.jpg');
      background-size:cover;
      background-attachment:fixed;
    }
    svg{width:100%;}
    
      
        
          
          SVG
          Text mask
        
      
          
    

    如果您的目标是使文本可选择和可搜索,则需要将其包含在 <defs> 标记之外。以下示例显示了一种使用 < 保留透明文本的方法使用>标签:

    body,html{height:100%;margin:0;padding:0;}
    body{
      background:url('https://farm9.staticflickr.com/8760/17195790401_94fcf60556_c.jpg');
      background-size:cover;
      background-attachment:fixed;
    }
    svg{width:100%;}
    
      
        
          SVG
          Text mask
        
        
          
          
        
      
      
      
    

    Antwort
    0
  • P粉351138462

    P粉3511384622024-03-26 00:19:58

    CSS3 可以实现,但并非所有浏览器都支持

    带有背景剪辑:文本;您可以使用文本背景,但必须将其与页面背景对齐

    body {
        background: url(http://www.color-hex.com/palettes/26323.png) repeat;
        margin:10px;
    }
    h1 { 
        background-color:#fff;
        overflow:hidden;
        display:inline-block; 
        padding:10px; 
        font-weight:bold;
        font-family:arial;
        color:transparent;
        font-size:200px;
    }
    span { 
        background: url(http://www.color-hex.com/palettes/26323.png) -20px -20px repeat;
        -webkit-text-fill-color: transparent;
        -webkit-background-clip: text;
        display:block;
    }

    ABCDEFGHIKJ

    Antwort
    0
  • StornierenAntwort