每個瀏覽器的devtools都會顯示一個元素的內容,填充,邊框和邊距框。有什麼辦法讓瀏覽器(任何瀏覽器)向我展示元素的底線?這對調試行內盒對齊將有很大的幫助。如何查看HTML元素的基線?
0
A
回答
1
這不會完全回答你的問題,但我希望它可以至少使用一些 ......或者它甚至會激勵某人想出一個更好的!
訣竅是a)計算基線的位置,b)使這些信息適用於所有元素。
計算基線的方法是令人驚訝的非直接的:我們需要創建兩個元素,其中之一具有字體大小0,然後計算它們之間的頂部位置的差。
爲了把這個計算到所有的HTML元素,我們使用defineProperty
方法到一個新的屬性添加到HTMLElement
類的原型。
// the main functionality
Object.defineProperty(Element.prototype, 'baselinePosition',
{
get: function() {
var fs0 = document.createElement('span');
fs0.appendChild(document.createTextNode('X')); fs0.style.fontSize = '0'; fs0.style.visibility = 'hidden';
var fs1 = document.createElement('span');
fs1.appendChild(document.createTextNode('X'));
this.appendChild(fs1); this.appendChild(fs0);
var result = fs0.getBoundingClientRect().top - fs1.getBoundingClientRect().top;
this.removeChild(fs0); this.removeChild(fs1);
return result;
},
enumerable: true
});
// and a test run.
var pos = document.getElementById('test').baselinePosition;
console.log('The baseline is at ' + pos + ' px.');
<p id="test">This is the test.</p>
這裏需要說明的是,你將需要一個瀏覽器,可以顯示HTML元素節點的所有屬性。到目前爲止,我發現的唯一一個就是SeaMonkey的DOM Inspector。
其他瀏覽器沒有任何顯示的JavaScript節點屬性的能力,或者他們只顯示了內置的,而不是在用戶添加的。
無論如何,希望這會有所幫助!
+0
這是一個很好的把戲!我可能會使用它來添加將繪製基線的背景圖像漸變。 – Peeja
相關問題
- 1. HTML - 如何查看某些HTML元素(js,css)源文檔?
- 2. 如何查看附加到html元素的事件?
- 3. 如何查看影響HTML元素的JavaScript代碼?
- 4. Html元素在MVC中爲null查看
- 5. 在rails上插入HTML元素查看
- 6. 如何隱藏基於一系列父元素的HTML元素
- 7. 如何切換查看/顯示自定義HTML元素?
- 8. 如何查看JavaScript事件綁定到HTML元素?
- 9. 查看元素android
- 10. 如何檢查HTML元素的動畫?
- 11. 查看元素id的
- 12. JavaScript函數查看任何文本是否在HTML元素中
- 13. 我如何讓webdriver查看包含的html文件中的元素
- 14. 動態添加元素來查看基於xml解析的viewmodel
- 15. 如何查看應用於watir-webdriver中HTML元素的CSS樣式?
- 16. 如何查看封面並查看HTML是如何呈現的?
- 17. 用html連線兩個元素線
- 18. 如何查找元素中的元素
- 19. 如何查看顯示HTML的在線.py文件的來源?
- 20. 「查看頁面源代碼」上的隱藏html元素
- 21. 如何使用滾動查看器查看設計視圖中的元素
- 22. Flexbox的所有元素設定基線
- 23. 顯示基於PHP值的HTML元素
- 24. 如何在基於力的曲線路徑上移動元素?
- 25. PHP:如何填充基於父類屬性的HTML元素
- 26. 如何基於其OuterHtml命名頁面上的html元素?
- 27. 如何隱藏基於會話值的HTML元素
- 28. 如何更改Silverstripe跑網站中的HTML基本元素
- 29. 如何檢查列表以查看元素是否存在?
- 30. 如何禁用查看源代碼並檢查元素
此問題似乎有負面投票和投票結束,但沒有解釋的評論。我能做些什麼來改善這個問題嗎? – Peeja
的密切投票是「推薦一個工具」,所以,他們或許認爲你所要求的調試庫什麼的。 –
啊,不,我在問是否瀏覽器能夠顯示它。 – Peeja