」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼 CSS 中的 Margin-Top 百分比是根據容器寬度計算的?

為什麼 CSS 中的 Margin-Top 百分比是根據容器寬度計算的?

發佈於2024-11-05
瀏覽:733

Why is Margin-Top Percentage Calculated Based on Container Width in CSS?

CSS 中的 margin-top 百分比計算

CSS 中的 margin-top 百分比計算

當對元素應用 margin-top 百分比時,必須了解計算方式執行。與普遍的看法相反,邊距頂部百分比是根據包含塊的寬度而不是其高度來確定的。

W3C 規範解釋:

W3C 規範解釋:

  1. 根據W3C 規範,“百分比是根據生成的框包含塊的寬度計算的。”此規則適用於“margin-top”和“margin-bottom”。
  2. 將垂直邊距基於容器寬度的原因:
水平和垂直一致性:

塊的所有四個邊的百分比邊距應保持相等,如“邊距”簡寫屬性所定義。基於容器寬度的垂直邊距可保持一致的邊距大小。

避免循環依賴:

計算塊高度通常依賴於了解頂部和底部邊距。然而,如果這些邊距取決於區塊高度,則在佈局計算期間會出現循環依賴性。基於容器寬度的垂直邊距可以解決此問題。

.container {
  width: 500px;
  height: 100px;
}

p {
  margin-top: 50%;
}
範例:

考慮以下程式碼:

.container { 寬度:500px; 高度:100px; } p { 邊距頂部:50%; }

'p' 元素的 'margin-top' 50% 將根據 '.container' 的寬度(即 500px)計算。因此,實際應用的 margin-top 將為 250px(500px 的 50%)。這與通常的假設不同,即它是 100px(200px 的 50%,'.container' 的高度)。

Why is Margin-Top Percentage Calculated Based on Container Width in CSS?

結論:

透過了解邊距如何- 計算頂部百分比,可以有效控制元素定位並避免意外的佈局問題。請記住,垂直邊距是基於包含區塊的寬度,以保持大小一致並防止 CSS 佈局中的循環依賴。

最新教學 更多>
  • 如何在鼠標單擊時編程選擇DIV中的所有文本?
    如何在鼠標單擊時編程選擇DIV中的所有文本?
    在鼠標上選擇div文本單擊帶有文本內容,用戶如何使用單個鼠標單擊單擊div中的整個文本?這允許用戶輕鬆拖放所選的文本或直接複製它。 在單個鼠標上單擊的div元素中選擇文本,您可以使用以下Javascript函數: function selecttext(canduterid){ if(d...
    程式設計 發佈於2025-04-21
  • 切換到MySQLi後CodeIgniter連接MySQL數據庫失敗原因
    切換到MySQLi後CodeIgniter連接MySQL數據庫失敗原因
    無法連接到mySQL數據庫:故障排除錯誤消息要調試問題,建議將以下代碼添加到文件的末尾.//config/database.php並查看輸出: ... ... 迴聲'... echo '<pre>'; print_r($db['default']); echo '</pr...
    程式設計 發佈於2025-04-21
  • 如何從PHP中的數組中提取隨機元素?
    如何從PHP中的數組中提取隨機元素?
    從陣列中的隨機選擇,可以輕鬆從數組中獲取隨機項目。考慮以下數組:; 從此數組中檢索一個隨機項目,利用array_rand( array_rand()函數從數組返回一個隨機鍵。通過將$項目數組索引使用此鍵,我們可以從數組中訪問一個隨機元素。這種方法為選擇隨機項目提供了一種直接且可靠的方法。
    程式設計 發佈於2025-04-21
  • 在Java中如何為PNG文件添加坐標軸和標籤?
    在Java中如何為PNG文件添加坐標軸和標籤?
    如何用java 在現有png映像中添加軸和標籤的axes和labels如何註釋png文件可能具有挑戰性。與其嘗試可能導致錯誤和不一致的修改,不如建議在圖表創建過程中集成註釋。 使用JFReechArt import java.awt.color; 導入java.awt.eventqueue; 導...
    程式設計 發佈於2025-04-21
  • 如何在Java中正確顯示“ DD/MM/YYYY HH:MM:SS.SS”格式的當前日期和時間?
    如何在Java中正確顯示“ DD/MM/YYYY HH:MM:SS.SS”格式的當前日期和時間?
    如何在“ dd/mm/yyyy hh:mm:mm:ss.ss”格式“ gormat 解決方案:的,請訪問量很大,並應為procectiquiestate的,並在整個代碼上正確格式不多: java.text.simpledateformat; 導入java.util.calendar; 導入java...
    程式設計 發佈於2025-04-21
  • 如何在Java的全屏獨家模式下處理用戶輸入?
    如何在Java的全屏獨家模式下處理用戶輸入?
    Handling User Input in Full Screen Exclusive Mode in JavaIntroductionWhen running a Java application in full screen exclusive mode, the usual event ha...
    程式設計 發佈於2025-04-21
  • 如何干淨地刪除匿名JavaScript事件處理程序?
    如何干淨地刪除匿名JavaScript事件處理程序?
    刪除匿名事件偵聽器將匿名事件偵聽器添加到元素中會提供靈活性和簡單性,但是當要刪除它們時,可以構成挑戰,而無需替換元素本身就可以替換一個問題。 element? element.addeventlistener(event,function(){/在這里工作/},false); 要解決此問題,請考...
    程式設計 發佈於2025-04-21
  • Async Void vs. Async Task在ASP.NET中:為什麼Async Void方法有時會拋出異常?
    Async Void vs. Async Task在ASP.NET中:為什麼Async Void方法有時會拋出異常?
    在ASP.NET async void void async void void void void void的設計無需返回asynchroncon而無需返回任務對象。他們在執行過程中增加未償還操作的計數,並在完成後減少。在某些情況下,這種行為可能是有益的,例如未期望或明確預期操作結果的火災和...
    程式設計 發佈於2025-04-21
  • 將圖片浮動到底部右側並環繞文字的技巧
    將圖片浮動到底部右側並環繞文字的技巧
    在Web設計中圍繞在Web設計中,有時可以將圖像浮動到頁面右下角,從而使文本圍繞它纏繞。這可以在有效地展示圖像的同時創建一個吸引人的視覺效果。 css位置在右下角,使用css float and clear properties: img { 浮點:對; ...
    程式設計 發佈於2025-04-21
  • 在Go語言中,`defer`語句後使用`()`的原因及作用
    在Go語言中,`defer`語句後使用`()`的原因及作用
    在go 考慮示例:嘗試遞延函數f本身,這是沒有意義的。相反,正確的語法為: defer f(),此構建一個閉合,在激活defer語句時捕獲當前上下文並執行函數f。外括號立即執行閉合,以確保在執行延期語句之後進行函數調用。 defer func(n int) { fmt.Println(n) }(i...
    程式設計 發佈於2025-04-21
  • CSS強類型語言解析
    CSS強類型語言解析
    您可以通过其强度或弱输入的方式对编程语言进行分类的方式之一。在这里,“键入”意味着是否在编译时已知变量。一个例子是一个场景,将整数(1)添加到包含整数(“ 1”)的字符串: result = 1 "1";包含整数的字符串可能是由带有许多运动部件的复杂逻辑套件无意间生成的。它也可以是故意从单个真理...
    程式設計 發佈於2025-04-21
  • Android如何向PHP服務器發送POST數據?
    Android如何向PHP服務器發送POST數據?
    在android apache httpclient(已棄用) httpclient httpclient = new defaulthttpclient(); httppost httppost = new httppost(“ http://www.yoursite.com/script.p...
    程式設計 發佈於2025-04-21
  • 為什麼HTML無法打印頁碼及解決方案
    為什麼HTML無法打印頁碼及解決方案
    無法在html頁面上打印頁碼? @page規則在@Media內部和外部都無濟於事。 HTML:Customization:@page { margin: 10%; @top-center { font-family: sans-serif; font-weight: ...
    程式設計 發佈於2025-04-21
  • 查找當前執行JavaScript的腳本元素方法
    查找當前執行JavaScript的腳本元素方法
    如何引用當前執行腳本的腳本元素在某些方案中理解問題在某些方案中,開發人員可能需要將其他腳本動態加載其他腳本。但是,如果Head Element尚未完全渲染,則使用document.getElementsbytagname('head')[0] .appendChild(v)的常規方...
    程式設計 發佈於2025-04-21
  • 手動觸發桌面應用中的繪圖事件方法
    手動觸發桌面應用中的繪圖事件方法
    [2 [2 油漆事件對於更新桌面應用程序中的圖形用戶界面(GUI)至關重要。 當動態更改面板上的文本之類的元素時,您需要手動觸發重新粉刷以反映這些更改。本文詳細介紹瞭如何完成此操作。 用於手動重新啟動表格或控制類中的幾種方法允許您強制重新塗抹: :此方法計劃對控件進行重新塗漆。實際的重新繪製稍後...
    程式設計 發佈於2025-04-21

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

Copyright© 2022 湘ICP备2022001581号-3