如何取得初始定義的CSS屬性值(包括百分比和EM單位)?
取得初始定義的CSS 屬性值(百分比/EM/PX)
在Web 開發中,擷取原始值至關重要元素的CSS 屬性值,無論任何後續修改為何。當使用百分比或 em 等單位時尤其如此,因為計算值通常會提供 px 值。
問題定義
使用 getCompulatedStyle 等函數時會出現問題或 jQuery 的 css() 來取得目前的 CSS 屬性值。這些方法傳回以像素為單位的值,即使最初設定為其他單位。
解決方案:getMatchedStyle
要解決此問題,可以使用名為 getMatchedStyle 的自訂 JavaScript 函數受僱。此函數迭代元素的 CSS 規則,決定元素樣式和重要規則的優先順序。然後,它會傳回 CSS 規則中定義的初始值。
代碼示例
function getMatchedStyle(elem, property) { // Check for element-defined property (highest priority) var val = elem.style.getPropertyValue(property); // If important, return immediately if (elem.style.getPropertyPriority(property)) return val; // Get matched CSS rules in descending priority order var rules = getMatchedCSSRules(elem); // Iterate through rules backwards to ensure correct priority for (var i = rules.length; i--;) { var r = rules[i]; // Check if rule is important var important = r.style.getPropertyPriority(property); // Update value only if not set or if important rule encountered if (val == null || important) { val = r.style.getPropertyValue(property); // Return if important rule encountered if (important) break; } } return val; }
示例用法
考慮以下HTML 和CSS:
<div class="b">first</div> <div>
以下JavaScript程式碼可以用來擷取div的初始寬度:
var d = document.querySelectorAll('div'); for (var i = 0; i < d.length; ++i) { console.log("div " + (i + 1) + ": " + getMatchedStyle(d[i], 'width')); }
輸出
div 1: 100px div 2: 50%
透過使用getMatchedStyle函數,我們可以精確地擷取CSS屬性值按照最初的定義,無論它們是否被後續樣式修改。
以上是如何取得初始定義的CSS屬性值(包括百分比和EM單位)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

這是我們在形式可訪問性上進行的小型系列中的第三篇文章。如果您錯過了第二篇文章,請查看“以:focus-visible的管理用戶焦點”。在

本教程演示了使用智能表單框架創建外觀專業的JavaScript表單(注意:不再可用)。 儘管框架本身不可用,但原理和技術仍然與其他形式的建築商相關。

CSS盒子陰影和輪廓屬性獲得了主題。讓我們查看一些在真實主題中起作用的示例,以及我們必須將這些樣式應用於WordPress塊和元素的選項。

本文探討了Envato Market上可用的PHP表單構建器腳本,比較了其功能,靈活性和設計。 在研究特定選項之前,讓我們了解PHP形式構建器是什麼以及為什麼要使用一個。 PHP形式

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。
