塊級元素視覺格式化

来源:http://www.cnblogs.com/xiaohuochai/archive/2016/02/18/5184898.html
-Advertisement-
Play Games

[1]水平格式化 [2]垂直格式化


目錄
[1]水平格式化 [2]垂直格式化

前面的話

  水平和垂直兩個方向的視覺格式化處理方式不同

 

水平格式化

  水平格式化的7大屬性是margin-leftborder-leftpadding-leftwidthpadding-rightborder-rightmargin-right7個屬性的值加在一起必須是元素包含塊的寬度,這往往是塊元素的父元素的width值(因為塊級元素的父級元素幾乎都是塊級元素)

  在水平格式化的7個屬性中只有margin-left、width、margin-right三個屬性可以設置為auto,其餘屬性必須設置為特定的值,或者預設寬度為0

  auto值是用來彌補實際值與所需總和的差距

【0個auto】

  若margin-left/width/margin-right三個屬性都設置為非auto的某個值,這種情況叫做格式化屬性過分受限。這樣margin-right將被重置為auto

【1個auto】

  若只有一個值為auto,則根據7個水平屬性的總結等於父級width的公式,計算出auto代表的值

【2個auto】

  若margin-left和margin-right為auto,則元素將在父元素中居中顯示

  若margin-left和width為auto,則margin-left將被重置為0

  若margin-right和width為auto,則margin-right將被重置為0

【3個auto】

  若三個值都為auto,則margin-left和margin-right都被重置為0

<關於水平auto的演示>

替換元素

  前面介紹的是正常文本流中非替換塊級元素的水平格式化,而替換塊級元素管理起來則更簡單一些。非替換塊元素的所有規則同樣適用於替換塊元素,只有一個例外:如果width是auto,元素的寬度則是內容的固有寬度

  [註意]需要將display設置為block

 

垂直格式化

  類似於水平格式化,塊級元素的垂直格式化也有自己一系列有意思的行為。一個元素的預設高度由其內容決定,高度還會受內容寬度的影響,段落越窄,相應地就會越高,以便容納其中所有的內聯內容

  與水平格式化的情況一樣,垂直格式化也有7個相關屬性:margin-top/border-top/padding-top/height/padding-bottom/border-bottom/margin-bottom

  這7個屬性的值必須等於元素包含塊的height

  只有margin-top/height/margin-bottom三個屬性可以設置為auto

  如果正常流中一個塊元素的margin-top/margin-bottom設置為auto,它會自動計算為0

    [註意]對於定位元素的上下外邊距的auto處理,則有所不同

  如果沒有顯式聲明包含塊的height,則百分數高度會重置為auto

  在最簡單情況下,如果塊級正常流元素設置為height:auto,顯示時其高度將恰好足以包含其內聯內容的行盒

<關於垂直auto的演示>

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 橋接模式就是對一個類的方法進行抽象化,吧不相關的因素提取出來,發展出第二個類 1 package com.shejimoshi.structural.Bridge; 2 3 4 /** 5 * 功能:橋接模式使用 6 * 意圖:將抽象部分與它的實現部分分離,使他們都可以獨立的變化 7 * 適用性:你
  • shadow dom是瀏覽器的一種技術,可以實現讓dom獨立於原有的dom tree,這樣一來就無需擔心id污染、樣式污染、js污染,外部的css並不會影響這個dom,就仿佛是一個影子shadow。並且可以用來隱藏封裝細節,就像上述原生的input[type = "date"]一樣,從而可以用來實現...
  • 效果預覽:http://hovertree.com/code/jquery/smjv6d0n.htm 基於jQuery編寫的橫向自適應幻燈片切換特效 全屏自適應jquery焦點圖切換特效,在IE6這個蛋疼的瀏覽器相容性問題上得到了和諧,相容IE6。 適用瀏覽器:IE6、IE7、IE8、360、Fir
  • 後續如有內容,本篇將會照常更新併排滿15個知識點,以下是其他幾篇譯文的地址: 第一篇地址:( 譯、持續更新 ) JavaScript 上分小技巧(一) 第二篇地址:( 譯、持續更新 ) JavaScript 上分小技巧(二) 第三篇地址:( 譯、持續更新 ) JavaScript 上分小技巧(三)
  • this指的就是當前上下文環境對象,主要分兩種情況。 1.函數中的this指的是調用該函數的那個上下文環境對象 這個的理解還是非常重要的。 看一個全局函數的例子 var b = 1; function a(){ alert(this.b); } a();//1 這裡面函數a是屬於全局變數window
  • 圖片預載入有大體有幾種方式 1.html標簽或css載入圖片。 顯而易見我們使用img標簽或者通過標簽的background-image屬性都可以實現圖片的預載入。但是為了避免初次載入過多圖片影響體驗。一般最好在文檔渲染完成以後再載入(使用window.onload等)。 2.純js實現預載入 空城
  • 會JavaScript的人很多,但會Node.JS的人很少!
  • 在頁面載入完成後自動將輸入焦點定位到需要的元素,用戶就可以直接在改元素中進行輸入而不需要手動選擇它。
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...