html標簽的顯示模式(塊級標簽,行內標簽,行內塊標簽)

来源:http://www.cnblogs.com/xcaocao/archive/2016/07/07/5649828.html
-Advertisement-
Play Games

今天講課的時候,講到了html中的標簽的顯示模式,大致分為塊級標簽和行內標簽。那麼初學者在剛使用標簽的時候會發現有些屬性在一些標簽上不起作用,比如寬、高、水平居中等,其實這個屬性的使用只有在塊級標簽上使用才起作用。個人認為這個也是初學者非常容易忽略的地方,所以我就把它記下來! 比如會有一種情況,給p ...


今天講課的時候,講到了html中的標簽的顯示模式,大致分為塊級標簽和行內標簽。那麼初學者在剛使用標簽的時候會發現有些屬性在一些標簽上不起作用,比如寬、高、水平居中等,其實這個屬性的使用只有在塊級標簽上使用才起作用。個人認為這個也是初學者非常容易忽略的地方,所以我就把它記下來!

比如會有一種情況,給p標簽水平居中有作用,但是給font加水平居中屬性就沒作用(如下):

p{ color:red; text-align:center;}
font{color:red; text-align:center;}

 

<p>我是塊級標簽p</p>
<font>我是行內標簽font</font>

運行預覽之後p能使文本水平居中,但是font就不可以(如下):

 那麼以上這個問題就和html中的顯示模式有關了:

顯示模式的特性:

主要分為兩大類:

塊級元素:獨占一行,對寬高的屬性值生效;如果不給寬度,塊級元素就預設為瀏覽器的寬度,即就是100%寬

行內元素:可以多個標簽存在一行,對寬高屬性值不生效,完全靠內容撐開寬高!

其中還有一種結合兩種模式有點的顯示模式:

行內塊元素:結合的行內和塊級的有點,不僅可以對寬高屬性值生效,還可以多個標簽存在一行顯示;

在html中顯示模式分為塊級和行內,其中常用的塊級有:div,p,h1~h6,ul,li,dl,dt,dd...  常用的行內有:span,font,b,u,i,strong,em,a,img,input,其中img和input為行內塊元素。

那麼有的同學就會想了,難道我就不可以控制span或者font的寬高了嗎?可以的,那麼我們這次拋開浮動和定位不說,就說通過display屬性來將它們互相轉換:

1、塊級標簽轉換為行內標簽:display:inline;

2、行內標簽轉換為塊級標簽:display:block;

3、轉換為行內塊標簽:display:inline-block;

只要給對應的標簽使用這個display這個屬性,取相應的值,就可以將顯示模式互相轉換。

在這之前有說過 text-align這個屬性是否生效,原因是塊級標簽如果不給寬度,塊級元素就預設為瀏覽器的寬度,即就是100%寬,那麼在100%的寬度中居中生效;但是行內元素的寬完全是靠內容撐開,所以寬度就是內容撐開的寬,我們給個背景測試看看:

所以塊級是在盒子中間居中了,但是因為行內元素的寬就是內容寬,沒有可居中的空間,所以text-align:center;就沒有作用;但是如果給font轉換為塊級就不一樣了:

p{ background:green; color:red; text-align:center;}
font{background:green;color:red; text-align:center;display:block;}

 

同理,要是塊級轉換為行內了,文本也不能居中顯示了。

因為在html中,行內元素被視為有文字特性的標簽,塊級能使文本水平居中,那麼在塊級當中的行內標簽被視為文本的特性,那麼塊級使用text-align:center;的話,裡面的行內標簽會被像文本一樣水平居中在塊級標簽中:

不加text-align:center;時:

	p{ padding:5px;background:green; color:red;}
	font{ background:yellow;}

 

<p>
    <font>我是行內標簽font</font> <font>我是行內標簽font</font>
</p>

 

加上text-align:center;後

p{ padding:5px;background:green; color:red;text-align:center;}
font{ background:yellow;}

 

這次主要是講一下html中顯示模式的特性,如果本文對您有幫助,記得推薦一下哦!


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

-Advertisement-
Play Games
更多相關文章
  • 響應式佈局可以為不同終端的用戶提供更加舒適的界面和更好的用戶體驗,而且隨著目前大屏幕移動設備的普及,用"大勢所趨"來形容也不為過。隨著越來越多的設計師採用這個技術,我們不僅看到很多的創新,還看到了一些成形的模式。隨著技術的發展css3的特性也被廣泛應用開來,它的很多新標簽也非常好用而且非常容易學習, ...
  • 項目中用到的跨域 ,在除IE9以下的瀏覽器上運行都是沒有問題的,IE8 IE9中報錯,error :no transport; 網上解決辦法均是 在發起請求之前添加 jQuery.support.cors=true;但是,線下測試,是ok的,一放到伺服器上,又出現了新的eroor:readyStat ...
  • 在React中,當涉及組件嵌套,在父組件中使用 把所有子組件顯示出來。如下: function ParentComponent(props){ return ( {props.children} ) } 如果想把父組件中的屬性傳給所有的子組件,該怎麼做呢? 使用 幫助方法就可以做到。 比如,把幾個R ...
  • 相信大家在項目的開發中都遇到過這樣的需求,一行放X(X>1)個塊且相鄰塊之間的間距相同。 大概就是上面這個樣子,下麵介紹幾種實現的方式。 1.負margin大法 設置好元素的寬度和留白占滿父級的寬度,然後設置父級的margin-left為留白的負留白的寬度 *{ margin: 0; padding ...
  • 正則表達式: 我們已經接觸過與正則表達式有關的一些概念。例如在Windows操作系統中,用“?”和“*”通配符來查找硬碟上的文件時,“?”通配符匹配文件名中的單個字元,而“*”通配符匹配零個或多個字元。如“data?.dat”就是一種文本模式,它能匹配“data1.dat”、“datan.dat”和 ...
  • jQuery - serialize() 方法 W3School給出的定義與用法: serialize() 方法通過序列化表單值,創建 URL 編碼文本字元串。 您可以選擇一個或多個表單元素(比如 input 及/或 文本框),或者 form 元素本身。 序列化的值可在生成 AJAX 請求時用於 U ...
  • 在這個用數據說話的時代(靠臉吃飯的年代),沒有一個好的展現形態(沒有一張帥氣清秀的臉蛋),對於整個產品產生的影響,那簡直... ...
  • 通常,當客戶端請求一個包含React組件頁面的時候,服務端首先響應輸出這個頁面,客戶端和服務端有了第一次交互。然後,如果載入組件的過程需要向服務端發出Ajax請求等,客戶端和服務端又進行了一次交互,這樣,耗時相對較長。服務端是否可以在頁面初次載入時把所有方面渲染好再一次性響應給客戶端呢? 「Reac ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...