css - 从背景中剪下的透明文本

标签 css svg fonts css-shapes

有什么方法可以使用 CSS 制作出如下图所示的透明文本从背景中切出效果吗?
由于图像替换文本而失去所有宝贵的 SEO 将是可悲的。

Transparent text cut out of background

我首先想到的是阴影,但我想不通......

图片为网站背景,绝对定位<img>标记

最佳答案

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;
}
<h1><span>ABCDEFGHIKJ</span></h1>

http://jsfiddle.net/JGPuZ/1337/


自动对齐

用一点javascript你可以自动对齐背景:

$(document).ready(function(){
  //Position of the header in the webpage
  var position = $("h1").position();
  var padding = 10; //Padding set to the header
  var left = position.left + padding;
  var top = position.top + padding;
  $("h1").find("span").css("background-position","-"+left+"px -"+top+"px"); 
});
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;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1><span>ABCDEFGHIKJ</span></h1>

http://jsfiddle.net/JGPuZ/1336/

关于css - 从背景中剪下的透明文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34225357/

相关文章:

java - 使用 Java 和 Apache Batik 从 SVG 生成多页 PDF

html - css:内容框穿过固定的页脚框

php - 将 php/html 文件添加到 Wordpress 主题

javascript - 具有动态内容问题的 JQuery 粘性 header

html - 如何仅使用 HTML 和 CSS 构建一个特殊的多边形(风筝形状)?

css - 在支持 IE 的同时合并字体文件

css - 在 div 中居中元素

c# - 从 UI 制作 GeometryDrawing 交互式 map ? (在 WPF 中与 SVG 图像交互)

android - 网页 View 更改字体? _安卓

python - ocr'ing 应用程序文本(未扫描,不是验证码)