」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何根據背景顏色反轉 CSS 字體顏色?

如何根據背景顏色反轉 CSS 字體顏色?

發佈於2024-12-22
瀏覽:403

How Can I Invert CSS Font Color Based on Background Color?

根據背景顏色反轉CSS 字體顏色

在CSS 中,沒有直接屬性允許您根據背景顏色反轉字體顏色背景顏色。但是,您可以利用多種技術來實現此效果。

使用偽元素

偽元素可用於在文字周圍創建包裝,這然後你就可以獨立設計風格了。例如:

.inverted-bar {
    position: relative;
}

.inverted-bar:before,
.inverted-bar:after {
    padding: 10px 0;
    text-indent: 10px;
    position: absolute;
    white-space: nowrap;
    overflow: hidden;
    content: attr(data-content);
}

.inverted-bar:before {
    background-color: aqua;
    color: red;
    width: 100%;
}

.inverted-bar:after {
    background-color: red;
    color: aqua;
    width: 20%;
}

使用兩個DIV

對於不支援偽元素的舊瀏覽器,您可以使用兩個DIV:

.inverted-bar {
    position: relative;
    padding: 10px;
    text-indent: 10px;
}

.inverted-bar:before {
    content: attr(data-content);
    background-color: aqua;
    color: red;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    white-space: nowrap;
    overflow: hidden;
    padding: 10px 0;
    width: 100%;
}

.inverted-bar > div {
    content: attr(data-content);
    background-color: red;
    color: aqua;
    position: absolute;
    padding: 10px 0;
    top: 0;
    left: 0;
    width: 20%;
}

注意:具體實作可能會有所不同,具體取決於您的特定要求和瀏覽器支援。

最新教學 更多>
  • JavaScript 如何在後台工作:了解其單線程性質和非同步操作
    JavaScript 如何在後台工作:了解其單線程性質和非同步操作
    JavaScript 是網路的支柱,為數十億網站和應用程式提供動態用戶端功能。但您有沒有想過 JavaScript 是如何在後台發揮魔力的?在這篇文章中,我們將深入研究 JavaScript 單線程本質的內部工作原理並探索非同步程式設計的概念。 單線程是什麼意思? 當我們說 Jav...
    程式設計 發佈於2024-12-22
  • 如何輕鬆備份和還原所有 MySQL 資料庫?
    如何輕鬆備份和還原所有 MySQL 資料庫?
    輕鬆備份和還原 MySQL 資料庫:綜合指南管理大量 MySQL 資料庫可能令人望而生畏。為了安全的資料保護,建立定期備份至關重要。本綜合指南將提供如何輕鬆同時匯出和匯入所有 MySQL 資料庫的逐步說明。 匯出多個資料庫利用 mysqldump 實用程式是匯出多個資料庫的首選方法立刻。使用命令列,...
    程式設計 發佈於2024-12-22
  • 如何防止Python實例之間的類別資料共享?
    如何防止Python實例之間的類別資料共享?
    如何隔離各個實例的類別資料為了避免在多個實例之間共享類別資料並確保每個實例維護自己的數據,請依照下列步驟操作:在建構子中宣告變數(__init__ Method)不要在任何方法之外聲明類別級變量,而是在 init 建構函數方法中定義它們。例如:class a: def __init__(se...
    程式設計 發佈於2024-12-22
  • 如何從 Windows 上的 C++ 控制台應用程式列印 UTF-8?
    如何從 Windows 上的 C++ 控制台應用程式列印 UTF-8?
    在Windows 上從C 控制台應用程式列印UTF-8使用Visual Studio 2008 在英文Windows 系統上開發C 主機應用程式時,使用者可能會在顯示UTF- 時遇到挑戰8 透過cout或wcout正確編碼內容。以下是解決此問題的方法:解決方案:解決方案涉及將控制台的輸出代碼頁設定為...
    程式設計 發佈於2024-12-22
  • 在 Go 中使用 WebSocket 進行即時通信
    在 Go 中使用 WebSocket 進行即時通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    程式設計 發佈於2024-12-22
  • 為什麼 Java 的整數常數池在 127 以上表現不同?
    為什麼 Java 的整數常數池在 127 以上表現不同?
    問題:127處Java整數常數池行為的分歧簡介:The整數常數池是Java中的一種機制,可以優化常見整數值的快取以提高效能。然而,該池的行為在 127 時出現了變化,引起了開發人員的困惑。 理解行為:對於從 -128 到 127 的整數,Java 保證引用相同常數的變數具有相同的引用。 Intege...
    程式設計 發佈於2024-12-22
  • 如何在 Go 中解組具有混合資料類型的 JSON 數組?
    如何在 Go 中解組具有混合資料類型的 JSON 數組?
    解組具有混合資料類型的JSON 陣列解組包含不同資料型別值的JSON 陣列的任務通常會帶來挑戰。例如,考慮以下JSON 陣列:{["NewYork",123]}問題:首先,需要注意的是提供的JSON 在語法上不正確。 JSON 物件需要每個值的鍵,因此正確的表示形式是{"...
    程式設計 發佈於2024-12-22
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-12-22
  • 如何使用 Java 和 JFreeChart 用軸註解 .png 檔案?
    如何使用 Java 和 JFreeChart 用軸註解 .png 檔案?
    如何使用 Java 用軸註釋 .png 檔案無需依賴外部軟體即可用軸註釋 .png 影像。以下是利用 Java 內建功能和 JFreeChart 進行進階自訂的方法:建立圖表基礎首先,使用 JFreeChart 的 ChartFactory.createXYLineChart 方法建立圖表。這將建立...
    程式設計 發佈於2024-12-22
  • 新部落格系列:Python 人工智慧基礎知識
    新部落格系列:Python 人工智慧基礎知識
    歡迎來到我的新部落格系列,我們將在機器學習的背景下探索 Python 的迷人世界。由於其簡單性和提供的強大庫,Python 已成為資料科學和機器學習領域的基石。無論您是初學者還是希望提升自己的技能,本系列都將引導您了解 Python 的基礎知識,為您的機器學習之旅奠定堅實的基礎。 ...
    程式設計 發佈於2024-12-22
  • 如何在 JavaScript 變數中安全地嵌入 PHP 字串?
    如何在 JavaScript 變數中安全地嵌入 PHP 字串?
    為JavaScript 變數編碼PHP 字串當嘗試將包含引號或換行符的PHP 字串嵌入到JavaScript 變數中時,有必要正確編碼它們以避免解析錯誤。對這些字串進行編碼的最直接方法是透過 PHP 的 json_encode() 函數。 要使用此函數,請確保您使用的是 PHP 版本 5.2.0 或...
    程式設計 發佈於2024-12-22
  • 如何使用 AJAX 有效率地將 JavaScript 陣列傳送到 PHP?
    如何使用 AJAX 有效率地將 JavaScript 陣列傳送到 PHP?
    使用 AJAX 有效地將 JavaScript 陣列傳遞給 PHP許多 JavaScript 應用程式使用需要傳送到 PHP 進行處理的資料數組。一次遍歷和處理數組中的一個元素可能效率很低,尤其是對於大型數組。本文提供了一種使用 JSON 和 AJAX 來優化此流程的替代方法。 問題:應用程式需要透...
    程式設計 發佈於2024-12-22
  • 探索 Python 認證 4
    探索 Python 認證 4
    Python 認證近年來獲得了極大的普及和重要性。隨著對 Python 程式設計師和資料分析師的需求不斷增長,這些認證對於個人展示其在該領域的技能和專業知識變得至關重要。雖然有多種 Python 認證可供選擇,但全球公認的最負盛名的認證是 Python Institute 提供的認證。在本文中,我們...
    程式設計 發佈於2024-12-22
  • 提升 JavaScript 錯誤處理等級:從「try...catch」到自訂錯誤
    提升 JavaScript 錯誤處理等級:從「try...catch」到自訂錯誤
    错误处理是每个 JavaScript 开发人员都会遇到的事情之一,但并不是每个人都深入掌握它。如果您一直依赖简单的 try...catch 语句,那么是时候提升您的游戏水平了。这篇文章将带您完成从基本错误处理到制作自定义错误的整个过程,使您的代码更具弹性且更易于调试。 1. 基础知识...
    程式設計 發佈於2024-12-22
  • 為什麼 BULK INSERT 不接受預存程序中的變數檔案路徑?
    為什麼 BULK INSERT 不接受預存程序中的變數檔案路徑?
    使用預存程序批次插入:故障排除在嘗試使用預存程序批次插入資料時,開發人員遇到了語法錯誤。目標是將有效的 BULK INSERT 查詢複製到流程中。以下是對此問題及其解決方案的分析。 此問題是由於嘗試將檔案名稱作為變數傳遞給預存程序中的 BULK INSERT 指令而造成的。不幸的是,這是 BULK ...
    程式設計 發佈於2024-12-22

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3