84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
有沒有辦法用 CSS 製作出如下圖所示的從背景中切出透明文字效果?
由於圖像取代了文字而失去了所有寶貴的 SEO,這將是令人遺憾的。
我首先想到了陰影,但我想不出任何東西...
圖片為網站背景,絕對定位的<img>標籤
<img>
雖然這可以透過 CSS 實現,但更好的方法是使用 內聯 SVG 與 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> 標記之外。以下範例顯示了一種使用 < 保留透明文字的方法使用>#標籤:
<defs>
< 保留透明文字的方法使用>
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
雖然這可以透過 CSS 實現,但更好的方法是使用 內聯 SVG 與 SVG 遮罩。與 CSS 相比,這種方法有一些優點:
CodePen 示範:SVG 文字遮罩
#如果您的目標是使文字可選擇和可搜索,則需要將其包含在
<defs>
標記之外。以下範例顯示了一種使用< 保留透明文字的方法使用>
#標籤:CSS3 可以實現,但並非所有瀏覽器都支援
帶有背景剪輯:文字;您可以使用文字背景,但必須將其與頁面背景對齊