深入理解CSS中的空白符和換行

来源:http://www.cnblogs.com/xiaohuochai/archive/2016/03/28/5326132.html
-Advertisement-
Play Games

× 目錄 [1]white-space [2]word-wrap [3]word-break 前面的話 CSS3新增了兩個換行屬性word-wrap和word-break。把空白符和換行放在一起說,是因為實際上空白符是包括換行的,且常用的文本不換行是使用的空白符的屬性white-space: now ...


×
目錄
[1]white-space [2]word-wrap [3]word-break

前面的話

  CSS3新增了兩個換行屬性word-wrap和word-break。把空白符和換行放在一起說,是因為實際上空白符是包括換行的,且常用的文本不換行是使用的空白符的屬性white-space: nowrap;但到底它們還有些什麼屬性值,以及有什麼對應的用法。本文將就空白符和換行的內容做詳細介紹和梳理

 

空白符

定義

  空白符是指空格、製表符和回車;HTML預設已經把所有空白符合併成一個空格。

white-space

  值: normal | nowrap | pre | pre-wrap | pre-line | inherit

  初始值: normal

  應用於: 所有元素

  繼承性: 有

normal: 合併空白符,允許自動換行
nowrap: 合併空白符,不允許自動換行
pre-line: 合併空白符(不包括換行符),允許自動換行
pre: 不合併空白符,不允許自動換行
pre-wrap: 不合併空白符,允許自動換行 

  [註意]<pre>元素預設帶有樣式white-space: pre;

  [註意]IE7-瀏覽器不支持pre-line和pre-wrap這兩個屬性值

<div>They can stay 72-hours 
    within the Shandong      province after they have entered China via the Qingdao International Airport.</div>

 

文本換行

  瀏覽器自身帶有文本自動換行的功能,文本容器的右側可以實現自動換行

  對於英文來說,瀏覽器會在半形空格或連字元的地方自動換行,而不會在單詞的中間突然換行

  對於中文來說,可以在任何一個文字後面換行,但瀏覽器碰到標點符號時,通常將標點符號以及其前一個文字作為一個整體進行換行

  所以實際上,white-space解決不了長單詞或UTL地址的換行問題

word-wrap

  word-wrap屬性用來實現長單詞或URL地址的自動換行

  值: normal | break-word

  初始值: normal

  應用於: 所有元素

  繼承性: 有

word-wrap:normal(瀏覽器只在半形空格或連字元的地方進行換行)
word-wrap:break-word(截斷單詞換行,長單詞從下一行開始)

  [註意]當white-space的值是nowrap或pre時,word-break和word-wrap屬性都失效

  [註意]word-wrap在標準中被改為overflow-wrap,但由於相容問題,一般還是使用word-wrap

word-break

  CSS3使用word-break屬性來決定自動換行的處理方法。通過具體的屬性設置,不僅可以讓瀏覽器實現半形空格或連字元後面的換行,而且還可以讓瀏覽器實現任意位置的換行。

  值: normal | break-all | keep-all

  初始值: normal

  應用於: 所有元素

  繼承性: 有

normal: 中文到邊界上的漢字換行,英文從整個單詞換行
break-all: 對於英文長單詞來說,會截斷單詞換行,長單詞占據當前行剩餘空間。但對於中文的處理,各瀏覽器不一致
    [1]firefox及safari: 中文到邊界上的漢字換行,且允許標點置於段首
    [2]IE及chrome: 中文到邊界上的漢字換行,但不允許標點置於段首
keep-all: 對於英文長文本不能換行,但對於中文的處理,各瀏覽器不一致
    [1]firefox: 在空白符處換行
    [2]IE及chrome: 在空白符及標點處換行
    [3]safari: 不支持

  [註意]移動端目前基本都不支持keep-all值  

  [註意]當word-break值為break-all時,word-wrap屬性失效;否則兩個屬性都起作用

 

表格

  對於表單元格的文本來說,使用word-wrap或word-break來強制換行需要設置table-layout:fixed


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

-Advertisement-
Play Games
更多相關文章
  • 如果你正在創建一個網路表單,有很多事情你需要在你的應用程式中使用。有時您需要特別的輸入,從用戶的日期和時間,如發票日期,生日,交貨時間,或任何其他此類信息。如果你有這樣的需要,可以極大地從動態的jQuery日期時間選擇器插件效益。 有幾個jQuery開源插件在網上可以用於此目的的。但由於選擇的數量, ...
  • 模塊化是一個通用的編程最佳實踐。程式的模塊化使我們可以更方便地使用別人的代碼,想要什麼功能,就載入什麼模塊,從而提高代碼的利用效率,增加開發速度。 模塊就像積木,有了它,我們可以搭出各種各種功能樣式的程式。積木有什麼特點?小而簡單。同樣的,我們程式中的模塊也要做到這一點,確保自己創建的函數一次只完成 ...
  • ###關於IE內核的瀏覽器讀取json的問題最近在做一個考試的項目,其中有一個需求是學生意外退出考試後,再次進入考試的時候(考試過程中會自動保存成json存到資料庫)學生上次的做的題目能夠被自動填充。之前測試,一直是用chrome測的,啥問題都沒有,然後前天發現在ie8下麵不可以,然後昨天發現在所有 ...
  • 上一節中我們學會瞭如何通過點擊不同按鈕切換頁面,這節專註於完成反饋頁面的功能以及細節動畫。 導入項目 添加新組件 同步新組件 完成頁面佈局 輸入時加動畫效果 彈出日期選擇 直接引用UI頁面 將要學習的demo效果圖如下所示 1. 導入完整項目 本節示例demo請參考下載地址,可以導入到設計器中學習。 ...
  • 體驗效果:http://hovertree.com/texiao/html5/25/效果圖:代碼如下: 關註微信公眾號 何問起 ,賬號ihewenqi ,或者微信掃描下麵二維碼關註。然後發送"橡皮擦"查看效果。參考:使用CSS實現圖片磨砂玻璃效果 轉自:http://hovertree.com/h/ ...
  • 從github上下載的jquery文件是沒有經過壓縮和合併的,根據jquery README.md 中提供的說明在window構建jquery,進行到最後一步運行grunt時會直接編輯器中打開grunt.js,不能夠完成構建,需要先在命令行執行:DOSKEY grunt=grunt.cmd $*。下 ...
  • 介紹 JavaScript 高漲的人氣帶來了很多變化,以至於如今使用其進行網路開發的形式也變得截然不同了。就如同在瀏覽器中一樣,現在我們也可以在伺服器上運行 JavaScript ,從前端跨越到後端,這樣巨大的反差讓人難以想象,因為僅僅在幾年前 Javascript 還如同 Flash 或者 Jav ...
  • 在以前我們的博客文章中,我們討論了在web設計和開發項目中使用Twitter Bootstrap的好處。Twitter Bootstrap也有很多的缺點。讓我們看看這些主要的問題: 1,它不遵循最佳實踐 我們在使用Twitter Bootstrap時遇到的最大問題之一是你的DOM元素上將擁擠大量的類 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...