父元素的邊距包含不一致
當有邊距的元素放置在另一個元素中時,父元素並不總是一致地換行或包含該邊距。這種不一致似乎違反直覺,尤其是與邊框、位置、顯示和溢出等其他屬性的行為相比。
重疊邊距與摺疊
直覺上,人們可能會假設 CSS 規範中所描述的邊距摺疊會影響此行為。然而,儘管跨瀏覽器不存在重疊邊距和一致的行為,但這種不一致的根源在於其他地方。
邊距包含背後的邏輯
CSS 規範實際上定義了這種行為雖然帶有一些矛盾。規範討論了「自由邊距」(超出父元素的邊距)和「折疊邊距」(重疊的相鄰邊距),但沒有明確區分每種邊距的適用條件。
示範和結論
以下示範說明了這種不一致的行為:
<code class="html"><div class="block"> <h2 id="Is-the-margin-contained-block">Is the margin contained (block)?</h2> </div> <div class="inline-block"> <h2 id="Is-the-margin-contained-inline-block">Is the margin contained (inline-block)?</h2> </div> <div class="position-absolute"> <h2 id="Is-the-margin-contained-position-absolute">Is the margin contained (position-absolute)?</h2> </div> <div class="overflow-auto"> <h2 id="Is-the-margin-contained-overflow-auto">Is the margin contained (overflow-auto)?</h2> </div> <div class="border"> <h2 id="Is-the-margin-contained-border">Is the margin contained (border)?</h2> </div></code>
將「區塊」元素(及其預設邊距行為)與所有其他元素進行比較時,不一致是顯而易見的元素。看起來,除了常規 div 的預設行為之外,所有內容都假定邊距由父級包含。
這種複雜的行為源自於 CSS 規格中關於邊距摺疊和可用邊距的模糊性。不幸的是,文件沒有提供關於這些概念如何與不同元素屬性(如邊框、位置和溢出)互動的清晰解釋。
以上是為什麼父元素並不總是包含一致的子元素邊距?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

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

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


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver Mac版
視覺化網頁開發工具

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

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

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