深入理解display屬性

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

[1]定義 [2]分類 [3]表格類元素 [4]註意事項


目錄
[1]block [2]inline [3]inline-block[4]none [5]list-item [6]run-in [7]table [8]inline-table [9]table-cell [10]table-caption

前面的話

  display屬性在網頁佈局中非常常見,但經常用到的僅僅是block、inline-block、inline和none等寥寥幾個屬性值,本文將詳細介紹display屬性的各個方面

 

定義

  display屬性用於規定元素生成的框類型,影響顯示方式

  值: none | inline | block | inline-block | list-item | run-in | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-colume-group | table-column | table-cell | table-caption | inherit

  初始值: inline

  應用於: 所有元素

  繼承性: 無

  [註意]IE7-瀏覽器不支持table類屬性值及inherit

 

分類

block

【特征】

  [1]不設置寬度時,寬度撐滿一行

  [2]獨占一行

  [3]支持寬高

【標簽】

<address><article><aside><blockquote><body><dd><details><div><dl><dt><fieldset><figcaption><figure><footer><form><h1><header><hgroup><hr><html><legend><menuitem><nav><ol><optgroup><option><p><section><summary><ul>

  [註意]menuitem標簽只有firefox支持

【不支持的樣式】

  [1]vertical-align

 

inline

【特征】

  [1]內容撐開寬度

  [2]非獨占一行

  [3]不支持寬高

  [4]代碼換行被解析成空格

【標簽】

<a><abbr><area><b><bdi><bdo><br><cite><code><del><dfn><em><i><ins><kbd><label><map><mark><output><pre><q><rp><rt><ruby><s><smap><small><span><strong><sub><sup><time><u><var><wbr>

【不支持的樣式】

  [1]background-position

  [2]clear

  [3]clip

  [4]height | max-height | min-height

  [5]width | max-width | min-width

  [6]overflow

  [7]text-align

  [8]text-indent

  [9]text-overflow

 

inline-block

【特征】

  [1]不設置寬度時,內容撐開寬度

  [2]非獨占一行

  [3]支持寬高

  [4]代碼換行被解析成空格

【標簽】

<audio><button><canvas><embed><iframe><img><input><keygen><meter><object><progress><select><textarea><video>

【不支持的樣式】

  [1]clear

  [2]text-align

  [3]text-indent

 

none

【特征】

  隱藏元素並脫離文檔流

【標簽】

<base><link><meta><title><datalist><dialog><param><script><source><style>

 

list-item

【特征】

  [1]不設置寬度時,寬度撐滿一行

  [2]獨占一行

  [3]支持寬高

 

run-in

  run-in是一個有意思的塊/行內元素混合,可以使某些塊級元素成為下一個元素的行內部分。如果一個元素生成run-in框,而且該框後面是一個塊級框,那麼該run-in元素將成為塊級框開始處的一個行內框,run-in框格式化成另一個元素中的行內框,但它們仍從文檔中的父元素繼承屬性

  [註意]只有safari和IE8+支持

<h3 style="display:run-in">run-in test</h3>
<p>paragraph</p>

  若run-in框後面不是塊級框時,run-in框本身將成為塊級框

<span style="display:run-in">run-in test</span>
<span>paragraph</span>
 

表格類元素

table{display: table;}
thead{display: table-header-group;}
tbody{display: table-row-group;}
tfoot{display: table-footer-group;}
tr{display: table-row;}
td,th{display: table-cell;}
col{display: table-column;}
colgroup{display: table-column-group;}
caption{display: table-caption;}

  表格類元素的display共有以上幾種,<thead><tbody><tfoot><tr><col><colgroup>因為無法設置margin和padding用的較少,下麵將著重介紹下<table>、<td>、<th>、<caption>這四個標簽對應的display屬性

 

table

【特征】

  [1]不設置寬度時,寬度由內容撐開

  [2]獨占一行

  [3]支持寬高

  [4]預設具有表格特征,可設置table-layout、border-collapse、border-spacing等表格專有屬性

 

inline-table

【特征】

  [1]不設置寬度時,寬度由內容撐開

  [2]非獨占一行

  [3]支持寬高

  [4]預設具有表格特征,可設置table-layout、border-collapse、border-spacing等表格專有屬性

 

table-cell

【特征】

  [1]不設置寬度時,寬度由內容撐開

  [2]非獨占一行

  [3]支持寬高

  [4]垂直對齊

  [5]同級等高

 

table-caption

【特征】

  [1]不設置寬度時,寬度由內容撐開

  [2]獨占一行

  [3]支持寬高

 

註意事項

【1】如果一個元素是絕對定位元素,float的值設置為none,對於浮動元素或絕對定位元素,計算值由聲明值確定

【2】對於根元素,如果聲明為值inline-table或table,都會得到計算值table,聲明為none時則會得到同樣的計算值none,所有其他display值都計算為block


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

-Advertisement-
Play Games
更多相關文章
  • 博主第一次開發商城類的項目,目前商城已上線,這裡就不打廣告了。商城的架構主要為yii2+backbone,還有一些其他blablablabla......的插件。 商城有PC端和微信端,先上線的PC端後上線微信端。 第一版的開發模式是,前端同學設計好界面原型,切好圖,做完靜態頁面交給後端人員。後端人
  • SRP單一職責原則 就一個類而言,應該僅有一個引起它變化的原因。 OCP開放封閉原則 軟體實體(類、模塊、函數等)應該是可以擴展的,但是不可修改。 LSP Liskov替換原則 子類型必須能夠替換掉它們的基類型 DIP 依賴倒置原則 抽象不應該依賴於細節。細節應該依賴於抽象。 ISP 介面隔離原則
  • 序言 Nginx的代理功能與負載均衡功能是最常被用到的,關於nginx的基本語法常識與配置已在上篇文章中有說明,這篇就開門見山,先描述一些關於代理功能的配置,再說明負載均衡詳細。 Nginx代理服務的配置說明 1、上一篇中我們在http模塊中有下麵的配置,當代理遇到狀態碼為404時,我們把404頁面
  • 前段時間,我有過一次非常有趣的談話。有個同事站出來支持Angular,他說Angular加快了Web開發的速度。我已經開發複雜的web服務超過10年了,曾經在Microsoft工作,也曾在Cyprus為Spotware工作。目前,我為矽谷的一個初創公司編寫應用程式。總的來說,我會順應潮流。但我感覺自
  • spring第二個特性是依賴註入。 學習依賴註入,首先應該明白兩個問題:1,誰依賴誰;2,誰註入,註入什麼?
  • 原文鏈接:http://docs.autofac.org/en/latest/register/registration.html 所謂註冊組件,是指創建 ContainerBuilder 的實例,並告訴它哪些組件暴露哪些服務。 組件可以用反射創建,可以提供已經創建好的對象的實例,還可以用拉姆達表達
  • HTML學習目錄
  • 出於學習需要,自覺得把基本的bootstrap用法自己敲一遍,對每個用法有個較清晰的印象,所以做了本篇總結,這也是一個鞏固的學習過程。
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...