說一說line-height

来源:http://www.cnblogs.com/bfgis/archive/2016/04/22/5419548.html
-Advertisement-
Play Games

line-height這個樣式相信大家一定不會陌生,我們經常用它來讓文本上下居中,這樣做一般不出出現什麼問題,但是如果對這個屬性不是很熟悉的話,可能會踩到一些坑,今天親自去試驗了一下,並總結了一下line-height的幾個特性。 首先line-height有以下幾種標準的寫法: 寫法1、line- ...


line-height這個樣式相信大家一定不會陌生,我們經常用它來讓文本上下居中,這樣做一般不出出現什麼問題,但是如果對這個屬性不是很熟悉的話,可能會踩到一些坑,今天親自去試驗了一下,並總結了一下line-height的幾個特性。

首先line-height有以下幾種標準的寫法:

寫法1、line-height:normal;     //等價於寫法5,固定值為數字1.2,預設為normal

寫法2、line-height:inherit;    //父元素繼承

寫法3、line-height:24px;      //通過像素px或者em等單位賦值

寫法4、line-height:150%;    //line-height=font-size*1.5

寫法5、line-height:1.5;      //line-height=font-size*1.5

 

首先看一下寫法3可能存在什麼問題,如圖:

    

可以看出,父元素設置行高,而子元素如果沒有設置行高,那麼子元素會採用父元素設置的line-height,不管子元素的font-size多大,都不會改變行高,所以當子元素font-size>父元素line-height的時候,會出現字體重疊或者其它不想看到的樣式。

 

其次寫法4和5看起來雖然一樣,卻有不同之處,如下圖

          

 

上面兩種寫法都會得到同樣的效果,如圖:

現在把子元素字體增大一倍

通過百分比設置的行高,line-height = 200%*父元素 font-size = 32px,子元素行高不會發生變化,導致字體重疊

 

通過數字設置的行高,子元素的行高會重新計算,line-height=父元素行高比例因數*子元素font-size=2*64=128px;子元素行高會重新計算

到這總結有以下幾點

  line-height具有繼承性(inherited)。

  元素設置了line-height等於像素值px或者em時,那麼他的子元素(沒有設置行高的子元素)會採用父元素的line-height,並且不會因為字體大小而改變本身的行高。

  line-height會根據父元素設置的方式,確定自身行高是否重新計算。即寫法4和5的區別

相信到這裡你已經對line-height有一定的瞭解了

 


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

-Advertisement-
Play Games
更多相關文章
  • 所謂容器組件,指能搞包容其它ui組件的組件,和佈局組件的差別在於,容器組件不能直接在IDE的設計界面拖拽其它ui組件加到它的內部。他一般是通過屬性templates來指定多個ui文件作為模板,然後通過數據綁定的方式來載入數據。數據綁定參考文檔.容器組件很多種而且也很重要,因為它一般是App的主框架, ...
  • × 目錄 [1]漂浮的白雲 [2]旋轉的星球 [3]正方體合成 前面的話 前面介紹過動畫animation的詳細用法,本文主要介紹動畫animation的三個效果 漂浮的白雲 【效果演示】 【簡要介紹】 漂浮的白雲主要通過遠景白雲和近景白雲來實現立體漂浮效果。遠景和近景分別使用兩張背景圖片,通過改變 ...
  • HTML5如火如荼,幾個月前的項目要部分應用新技術,尤其是簡單的文檔類型聲明<!DOCTYPE html>(不區分大小寫),非常吸引人。中途因為IE8等在第一次打開網頁時會阻止js執行,停在詢問頁面,導致新的標記無法識別使頁面十分混亂而作罷,但doctype的簡約定義仍在使用。可是在後續做到上圖下文 ...
  • 第五章和第六章間隔時間有點長,對不起大家了。下麵繼續。 本節教程將要教會大家如何載入本地通訊錄。 導入項目 導入通訊錄 自定義js模塊 發送和訂閱page消息 將要學習的demo效果圖如下所示 1. 導入完整項目 本節示例demo請參考下載地址,可以導入到設計器中學習。 這節教程中將要用到的組件有d ...
  • 今天要介紹的是走馬燈效果的製作,效果圖如下,頁面中‘Recent Posts’就是走馬燈部分。 現在我們介紹如何製作走馬燈,首先定義html頁面結構。 <div id="outer"> <header> ... </header> <article> ... </article> <aside> . ...
  • 在React中,一切都是看做組件。 而組件的嵌套也是十分常見的。 所以有的組件就作為容器組件 容器組件 React元素可以包含子元素 如 1 //JSX 2 <ezpanel title="title"> 3 <p>this is demo content</p> 4 </ezpanel> 在Rea ...
  • 儘管 JavaScript 歷史上使用冗長而令人生厭的代碼塊來標的特定瀏覽器的時期已經結束了,但是偶爾使用一些簡單的代碼塊和對象檢測來確保一些代碼在用戶機器上正常工作依然是必要的。 這篇文章中,我會略述一下 Internet Explorer 和 Firefox 在 JavaScript 語法上不同 ...
  • 知道這20個正則表達式,能讓你少寫1,000行代碼 正則表達式,一個十分古老而又強大的文本處理工具,僅僅用一段非常簡短的表達式語句,便能夠快速實現一個非常複雜的業務邏輯。熟練地掌握正則表達式的話,能夠使你的開發效率得到極大的提升。 正則表達式經常被用於欄位或任意字元串的校驗,如下麵這段校驗基本日期格 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...