這篇文章主要介紹了CSS3實現背景透明文字不透明的範例程式碼的相關資料,內容挺不錯的,現在分享給大家,也給大家做個參考。
最近遇到一個需求,要在圖片上顯示帶有半透明背景的文字,效果如下圖所示:
需求.png
看到這個需求之後,第一個反應是使用CSS3中的opacity設定元素的透明度。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>背景透明,文字也透明</title> <style> * { padding: 0; margin: 0; } .container { width: 600px; height: 400px; background: url('https://img1.dongqiudi.com/fastdfs3/M00/18/56/ChOxM1stHByARuNmAAGsJDKXtuM269.jpg') no-repeat; background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-position: center 0; } .demo { position: absolute; width: 260px; height: 60px; top: 260px; line-height: 60px; text-align: center; background-color: black; opacity: 0.5; } .demo p { color: #FFF; font-size: 18px; font-weight: 600; } </style> </head> <body> <p class="container"> <p class="demo"> <p>2018世界杯已开幕:10天</p> </p> </p> </body> </html>
效果如下:
背景透明,文字也透明.png
這樣看起來也滿足了需求,不過並不完美,設定opacity之後,整個元素都半透明了,造成文字顯得模糊,這樣的解決方式並不可取。
其實實作透明的CSS方法不只有設定opacity一種方式。還有另外兩種:
-
css3的rgba(red, green, blue, alpha),alpha的取值從0 到1,如rgba(255,255,255,0.8)
IE專屬濾鏡filter:Alpha(opacity=x),x 的值從0 到100,如filter:Alpha(opacity=80)
在這裡我採用了設定rgba的方式:
##
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>背景透明,文字不透明</title> <style> * { padding: 0; margin: 0; } .container { width: 600px; height: 400px; background: url('https://img1.dongqiudi.com/fastdfs3/M00/18/56/ChOxM1stHByARuNmAAGsJDKXtuM269.jpg') no-repeat; background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-position: center 0; } .demo { position: absolute; width: 260px; height: 60px; top: 260px; line-height: 60px; text-align: center; background-color: rgba(0,0,0,0.5); } .demo p { color: #FFF; font-size: 18px; font-weight: 600; } </style> </head> <body> <p class="container"> <p class="demo"> <p>2018世界杯已开幕:10天</p> </p> </p> </body> </html>#效果如下:
##背景透明,文字不透明.png
這樣設定之後,文字顯得清晰了許多。
小結其實要實作這個需求,並不只有這一種思路,還可以用兩個p放在同一個位置,一個是半透明的背景p,一個是文字p,一樣可以解決問題,但是需要寫絕對定位或負margin,並出現空內容的p,這種方法在有些場景下會顯得略微複雜,如下示例所示,所以在實際需求場景中還是要具體問題具體分析。
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:
CSS3中線性顏色漸變的實作利用CSS3實作的文字定時向上捲動CSS實作自適應寬度的選單按鈕效果以上是CSS3實現背景透明文字不透明的效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

文章討論了CSS FlexBox,這是一種佈局方法,用於有效地對齊和分佈響應設計中的空間。它說明了FlexBox用法,將其與CSS網格進行了比較,並詳細瀏覽了瀏覽器支持。

本文討論了使用CSS創建響應網站的技術,包括視口元標籤,靈活的網格,流體媒體,媒體查詢和相對單元。它還涵蓋了使用CSS網格和Flexbox一起使用,並推薦CSS框架

本文討論了CSS盒裝屬性,該屬性控制了元素維度的計算方式。它解釋了諸如Content-Box,Border-Box和Padding-Box之類的值,以及它們對佈局設計和形式對齊的影響。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器