国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

北京網站建設工作室百度的合作網站有哪些

北京網站建設工作室,百度的合作網站有哪些,淘寶上做網站 源代碼怎么給你,工商營業(yè)執(zhí)照注冊查詢官網當前內容所在位置(可進入專欄查看其他譯好的章節(jié)內容) 第四部分 視覺增強技術 ??【第 12 章 CSS 排版與間距】 ?? 12.1 間距設置 12.1.1 使用 em 還是 px12.1.2 對行高的深入思考12.1.3 行內元素的間距設置 12.2 Web 字體12.3 谷歌字體12.4 font-fac…

當前內容所在位置(可進入專欄查看其他譯好的章節(jié)內容)

  • 第四部分 視覺增強技術 ??
  • 【第 12 章 CSS 排版與間距】 ??
    • 12.1 間距設置
      • 12.1.1 使用 em 還是 px
      • 12.1.2 對行高的深入思考
      • 12.1.3 行內元素的間距設置
    • 12.2 Web 字體
    • 12.3 谷歌字體
    • 12.4 @font-face 的工作原理
      • 12.4.1 字體格式與回退處理
      • 12.4.2 同一字型的多種變體形式
    • 12.5 性能因素考量
      • 12.5.1 font-display 屬性解析
      • 12.5.2 可變字體的用法
    • 12.6 調整字間距,提升可讀性 ??
      • 12.6.1 正文的字間距 ??
      • 12.6.2 標題、小元素和間距 ??
    • 12.7 本章小結 ??

文章目錄

    • 12.6 調整字間距,提升可讀性 Adjusting space for readability
      • 12.6.1 正文的字間距 Body copy spacing
      • 12.6.2 標題、小元素和間距 Headings, small elements, and spacing
    • 12.7 本章小結 Summary

《CSS in Depth》新版封面

《CSS in Depth》新版封面

譯者按
終于來到了本章的最后一節(jié)內容,首先恭喜那些和我一起一步一個腳印學到這里的朋友們。其實學到這里說一點都不累肯定是騙人的,因為這一章介紹了大量不怎么接觸到的知識,也是我平時大概率會跳過的內容;更何況學完還得在本地運行一下代碼,最后消化完每個章節(jié)的知識點還得結合第一版一字一句地完成新版內容的翻譯。這些細枝末節(jié)的東西如果想得太多,自己很可能就斷更了。之所以能更到第 78 篇,完全是因為我堅信當前所做的一切都是值得的。畢竟,誰能率先在當前心浮氣躁的大環(huán)境中沉下心來不斷深耕,夯實基礎,誰就能早一天迎來真正的曙光。愿共勉之。

12.6 調整字間距,提升可讀性 Adjusting space for readability

讓我們再回到頁面上。此時的 Web 字體 RobotoSansita 已加載完畢,我們可以按照設計稿再調整一下。這里涉及兩個屬性(properties):line-heightletter-spacing。它們可以控制文本行之間的距離(垂直方向)和單個字符之間的距離(水平方向)。

很多開發(fā)者往往不太看重這兩個屬性。如果在頁面開發(fā)過程中多花點時間調整它們,整個網站的外觀都將得到顯著改善。除此之外,還可以讓用戶閱讀更加舒適,從而增加用戶黏性。

如果文字間距太過緊湊,多讀幾句話甚至多看幾個字都會明顯感覺費勁;要是間距過大也會有同樣的問題。圖 12.16 展示了多個不同間距的文字版本。

圖 12.16 文字間距會對閱讀體驗產生顯著影響

【圖 12.16 文字間距會對閱讀體驗產生顯著影響】

試著讀一下左上方的壓縮版文字,就會發(fā)現需要更加集中注意力才行。可能一不小心就漏掉一行或者重復閱讀同一行,而且很快就讀不下去了。這樣的頁面顯得擁擠不堪,毫無條理。而左下方的文字又過于分散了些,致使每個字母都占用了太多注意力,不太容易在大腦里組合成單詞。相比之下,右上方的文字就舒服多了,看上去“剛剛好”,是這三個版本中最容易閱讀的。

12.6.1 正文的字間距 Body copy spacing

line-heightletter-spacing 找到合適的值是件主觀性很強的事。最好的解決方案通常是多試幾個值;如果找到某兩個值一個過于緊湊、另一個過于松散,那就取介于二者之間的某個值。所幸,下面介紹的這些經驗法則可以為您提供幫助。

line-height 屬性的初始值(initial value)是關鍵字 normal,大概等于 1.2(確切的數值是在字體文件中編碼的,它們取決于字體的 em 大小);但是在大部分情況下,這個值偏小。對于正文內容而言,行高介于 1.41.6 之間較為理想。

我們已經在上一章為 <body> 元素設置了 1.4 倍行高。這個值會被頁面中的其他元素繼承。試想如果沒有了這個行高值頁面會怎樣渲染。圖 12.17 展示了其中一個板塊的前后效果對比。在左側的版本中,line-heightletter-spacing 屬性均為初始值;而右側的版本是調整后的效果(我們的目標是把字間距調整為右側的版本)。

圖 12.17 Ink 頁面的一個板塊效果對比,其中左側為原始的字間距效果,右側為手動調整后的效果

【圖 12.17 Ink 頁面的一個板塊效果對比,其中左側為原始的字間距效果,右側為手動調整后的效果】

line-height 的值改為 1.3 或者 1.5,看看效果如何。是不是比之前 1.4 倍行距的效果好一些。

提示

一段文字越長,行高也應該相應越大。這樣讀者的眼睛才更容易掃到下一行,而不會分散注意力。理想情況下,每行文字的長度應該控制在 45 至 75 個字符之間,一般認為這樣的長度最利于閱讀。

接著再來看看 letter-spacing 屬性。如果用的是精心設計過的字體,可能并不需要調整默認的字間距,但偶爾適當的調整也可以進一步提高可讀性,因此還是有必要帶您過一遍,看看如何進行修改。修改該屬性的另一個應用場景還可以是出于風格方面的考慮,對頁面上的某些位置(如按鈕或標題)進行微調。

letter-spacing 屬性需要一個長度值,用來設置每個字符間的間距。即使只設置 1px,也是很夸張的字間距了;因此它應該是一個非常小的值。在嘗試找到最佳屬性值的過程中,通常我會每次只增加 1em1/100(例如 letter-spacing: 0.01em)。請根據代碼清單 12.12 同步更新本地樣式表中的字間距。

代碼清單 12.12 在 body 元素上設置字間距

@layer global {body {margin: 0;font-family: Roboto, sans-serif;line-height: 1.4; /* 行高和字間距將被頁面上的所有元素繼承 */letter-spacing: 0.01em; /* 在各字符之間再添加 0.01em 的字間距 */background-color: var(--extra-light-gray);color: var(--text-color);}
}

不妨嘗試將字間距增至 0.02em0.03em,看看頁面效果如何。您可能不具備設計師的專業(yè)眼光,沒辦法確定哪種效果更好;但是沒關系,跟著感覺走就行了。如果還是有疑慮,那就保守一點,不要設置得太開。我們的目的不在于吸引用戶注意字間距,而是恰恰相反。在 Ink 頁面上,我發(fā)覺 0.01em0.02em 看著都不錯,那就保守一點選用 0.01em。

把行距和字距轉換為 CSS 樣式

在設計領域,文本行之間的距離稱為 行距(leading,與單詞 bedding 諧音。它起源于印刷版每行文字之間添加的一條條鉛引導線。而字符之間的距離則稱為 字距(tracking。如果與設計師一起工作,它們可能會在設計稿中指明行距和字距,但這些尺寸看起來和 CSS 中的 line-heightletter-spacing 屬性完全不沾邊。

行距一般以 “點(point)” 為單位進行描述,例如 18pt,代表的是一行文字的高度加上它與下一行文字之間的距離。這其實與 CSS 中的 line-height 類似,只不過沒有用不帶單位的數字來描述罷了。實際轉換時必須像定義字號那樣,先將行距轉為像素尺寸,然后再計算出對應的不帶單位的行高值。

而要把 pt 單位轉為 px 單位,需將 pt 值乘以 1.333(因為 1 英寸為 96px,并且 1 英寸也等于 72pt,因此 96 / 72 = 1.333px/pt)。因此 18pt × 1.333px/pt = 24px。然后除以字號,就得到了不帶單位的行高值,即 24px / 16px = 1.5。

而字距(tracking)通常會給定某個數字,例如 100。因為一個單位的該數字表示 1em 的千分之一,因此除以 1000 就可以轉為 em 單位值,即 100 / 1000 = 0.1em。

12.6.2 標題、小元素和間距 Headings, small elements, and spacing

標題的間距通常和正文內容不太一樣。正文間距調整好后,需要檢查一下標題,看看是否也需要調整。

標題一般比較簡短,通常只有幾個字,但即便偶爾才會遇到長標題,頁面樣式也應該考慮這種情況。在頁面設計時常犯的一個錯誤就是只測試短標題。既然頁面行高已經設定,就可以試著給各級標題添加文字內容,看看標題強制換行后的效果如何(如圖 12.18)。

圖 12.18 讓標題強制換行,看看行高是否合適

【圖 12.18 讓標題強制換行,看看行高是否合適】

在本例中,由于垂直間距看上去還可以,這里就不做修改了。但檢查行高這一步絕不能少。有時候 1.4 倍行高可能會顯得有點寬,這也要看所選用的字型(typeface),尤其是設置大字號的時候。我曾經遇到過一些網站就是這樣的情況,最后不得不把標題的行高調低到 1.0。

而對于正文主體而言,調整間距的重點在于使用戶的閱讀體驗效果最佳。但對于標題以及其他內容偏少的頁面元素(如按鈕)來講,這一點影響不大。這時字間距的可調節(jié)范圍就大大增加了,也可以有更多發(fā)揮想象的空間了,甚至可以使用負的字間距來讓文字渲染得更加緊湊。例如圖 12.19 里的標語就聲明了 letter-spacing: -0.02em 的樣式。

圖 12.19 頁面上內容簡短、風格鮮明的部分,可以考慮使用更為緊湊的字符間距

【圖 12.19 頁面上內容簡短、風格鮮明的部分,可以考慮使用更為緊湊的字符間距】

上述樣式的間距變化還是很明顯的(dramatic)。如果是幾段文件都用這樣的間距樣式,閱讀起來就會很費勁;但對于小段文本效果還不錯(也就幾個字)。于是標題就按這個版本設置,并根據代碼清單 12.13 同步更新本地樣式表。

代碼清單 12.13 緊湊版標語的字間距設置

.hero h2 {margin-block: 0 10px;font-size: 1.95rem;letter-spacing: -0.02em; /* 利用負的 letter-spacing 來壓縮字間距 */
}

我們也可以重新評估一下頁面小型元素的間距和文本,例如按鈕。在我看來此時的按鈕看起來稍微偏大了些,尤其是頁頭的導航按鈕部分。我們來調整一下。圖 12.20 展示了現在的效果(上)以及調整后的效果(下)。

圖 12.20 調整文本屬性可以改善導航按鈕的外觀

【圖 12.20 調整文本屬性可以改善導航按鈕的外觀】

這里做了如下調整:減小字號,使用 text-transform 把字母轉為大寫,并上調字符間距(letter spacing)。

提示

通常字母全部大寫的文字再配合較大的字間距,看上去效果會更好一些。

要實現上述效果,請將代碼清單 12.14 中帶注解內容的樣式聲明同步到本地樣式表中。

代碼清單 12.14 調整導航菜單項上的尺寸和間距樣式

.nav-container__inner {display: flex;justify-content: space-between;align-items: end; /* 令導航容器中的元素底部對齊 */max-inline-size: 1080px;margin-inline: auto;padding: 0.625em 0;
}....top-nav a {display: block;font-size: 0.8rem; /* 減小導航鏈接和按鈕的字號 */padding: 0.3rem 1.25rem; /* 將內邊距的值由 em 改為 rem */color: var(--white);background: var(--brand-green);text-decoration: none;border-radius: 3px;text-transform: uppercase; /* 將導航鏈接改為大寫 */letter-spacing: 0.03em; /* 增加字間距 */
}

因為調小了導航鏈接的字號,所以它們將不再填充 nav-container 內容盒的高度。默認情況下這些鏈接元素是頂部對齊的,下方會空出一些區(qū)域。將 nav-container 的彈性子元素設為底部對齊(即 align-items: end)就可以解決這個問題。

由于導航元素的字號已經改變,其內邊距(之前以相對單位 em 來設置大小)也會隨之改變。為此,這里將尺寸單位改為 rem。當然也可以通過計算得出新的以 em 為單位的相對尺寸,但這樣做并不值得。

text-transform 屬性可能較為陌生。它可以把所有字母改為大寫,無論在 HTML 中是如何書寫的。這里強烈推薦這種方式,而不是到 HTML 里手動將文字改為大寫。這樣依賴,如果將來設計稿修改了,就可以只改一行 CSS,而不必在所有 HTML 頁面的多個位置進行修改。只有當需要遵循某種語法規(guī)則的大寫(例如首字母縮略詞)時,才應該在 HTML 中大寫。而像本例這樣只是單純出于設計上的考慮而渲染的大寫形式,僅通過 CSS 就能實現。

text-transform 屬性的另一個合法值為 lowercase,用于將所有字母轉為小寫。此外還可以設為 capitalize,用于將每個單詞的首字母轉為大寫形式、其余字母保持 HTML 中的原始寫法。


12.7 本章小結 Summary

  • 文本的行高會影響元素所在的內容盒尺寸。在對頁面間距進行微調時需要將這個高度納入考慮范圍。
  • 利用谷歌字體這樣的字體托管服務,Web 字體可以輕松集成到頁面中。
  • 利用 @font-face 規(guī)則可以輕松托管自己的 Web 字體。該規(guī)則可以定義字體名稱、限定字體粗細及各種字體樣式。
  • Web 字體會占用大量的頁面空間;為此需要限制 Web 字體的數量,并盡可能選用可變字體,讓頁面進一步輕量化。
  • font-display 屬性用于控制頁面在 Web 字體加載時的初始渲染方式。
  • 文字間距的調節(jié)可通過 line-heightletter-spacing 屬性實現。正文內容的行高通常在接近 1.5 時效果最佳;而對于大標題,保持較小的間距往往效果更好。


關于《CSS in Depth》(中譯本書名《深入解析 CSS》)

第 1 版第 2 版
讀者評分原版:4.7(亞馬遜);中文版:9.3(豆瓣)原版:5.0(亞馬遜);中文版:暫無,待出版
出版時間原版:2018 年 3 月;中文版:2020 年 4 月原版:2024 年 7 月;中文版:暫無,待出版
原價原版:$44.99;中文版:¥139.00原版:$59.99;中文版:暫無,待出版
現價原版:$36.49;中文版:¥52.54 起步原版:$52.09;中文版:暫無,待出版
原版國內預訂起步價 ¥461.00起步價 ¥750.00

本專欄為該書第 2 版高分譯文專欄,全網首發(fā),精譯精校,持續(xù)更新,計劃今年內完成全書翻譯,敬請期待!!!

目前已完結的章節(jié)(可進入本專欄查看詳情,連載期間完全免費):

  • 第一章 層疊、優(yōu)先級與繼承(已完結)
    • 1.1 層疊
    • 1.2 繼承
    • 1.3 特殊值
    • 1.4 簡寫屬性
    • 1.5 CSS 漸進式增強技術
    • 1.6 本章小結
  • 第二章 相對單位(已完結)
    • 2.1 相對單位的威力
    • 2.2 em 與 rem
    • 2.3 告別像素思維
    • 2.4 視口的相對單位
    • 2.5 無單位的數值與行高
    • 2.6 自定義屬性
    • 2.7 本章小結
  • 第三章 文檔流與盒模型(已完結)
    • 3.1 常規(guī)文檔流
    • 3.2 盒模型
    • 3.3 元素的高度
    • 3.4 負的外邊距
    • 3.5 外邊距折疊
    • 3.6 容器內的元素間距問題
    • 3.7 本章小結
  • 第四章 Flexbox 布局(已完結)
    • 4.1 Flexbox 布局原理
    • 4.2 彈性子元素的大小
    • 4.3 彈性布局的方向
    • 4.4 對齊、間距等細節(jié)處
    • 4.5 本章小結
  • 第五章 網格布局(已完結)
    • 5.1 構建基礎網格
    • 5.2 網格結構剖析 (上)
      • 5.2.1 網格線的編號(下)
      • 5.2.2 網格與 Flexbox 配合(下)
    • 5.3 兩種替代語法
      • 5.3.1 命名網格線
      • 5.3.2 命名網格區(qū)域
    • 5.4 顯式網格與隱式網格(上)
      • 5.4.1 添加變化 (中)
      • 5.4.2 讓網格元素填滿網格軌道(下)
    • 5.5 子網格(全新增補內容)
    • 5.6 對齊相關的屬性
    • 5.7 本章小結
  • 第六章 定位與堆疊上下文(已完結)
    • 6.1 固定定位
      • 6.1.1 創(chuàng)建一個固定定位的模態(tài)對話框
      • 6.1.2 在模態(tài)對話框打開時防止屏幕滾動
      • 6.1.3 控制定位元素的大小
    • 6.2 絕對定位
      • 6.2.1 關閉按鈕的絕對定位
      • 6.2.2 偽元素的定位問題
    • 6.3 相對定位
      • 6.3.1 創(chuàng)建下拉菜單(上)
      • 6.3.2 創(chuàng)建 CSS 三角形(下)
    • 6.4 堆疊上下文與 z-index
      • 6.4.1 理解渲染過程與堆疊順序(上)
      • 6.4.2 用 z-index 控制堆疊順序(上)
      • 6.4.3 深入理解堆疊上下文(下)
    • 6.5 粘性定位
    • 6.6 本章小結
  • 第七章 響應式設計(已完結)
    • 7.1 移動端優(yōu)先設計原則(上篇)
      • 7.1.1 創(chuàng)建移動端菜單(下篇)
      • 7.1.2 給視口添加 meta 標簽(下篇)
    • 7.2 媒體查詢(上篇)
      • 7.2.1 深入理解媒體查詢的類型(上篇)
      • 7.2.2 頁面斷點的添加(中篇)
      • 7.2.3 響應式列的添加(下篇)
    • 7.3 流式布局
    • 7.4 響應式圖片
    • 7.5 本章小結
  • 第八章 層疊圖層及其嵌套
    • 8.1 用 layer 圖層來操控層疊規(guī)則(上篇)
      • 8.1.1 圖層的定義(上篇)
      • 8.1.2 圖層的順序與優(yōu)先級(下篇)
      • 8.1.3 revert-layer 關鍵字(下篇)
    • 8.2 層疊圖層的推薦組織方案
    • 8.3 偽類 :is() 和 :where() 的用法
    • 8.4 CSS 嵌套的使用
      • 8.4.1 嵌套選擇器的使用
      • 8.4.2 深入理解嵌套選擇器
      • 8.4.3 媒體查詢及其他 @規(guī)則 的嵌套
    • 8.5 本章小結
  • 第九章 CSS 的模塊化與作用域
    • 9.1 模塊的定義
      • 9.1.1 模塊和全局樣式
      • 9.1.2 一個簡單的 CSS 模塊
      • 9.1.3 模塊的變體
      • 9.1.4 多元素模塊
    • 9.2 將模塊組合為更大的結構
      • 9.2.1 模塊中多個職責的拆分
      • 9.2.2 模塊的命名
    • 9.3 CSS 的作用域
      • 9.3.1 CSS 作用域的就近原則
      • 9.3.2 劃定作用域的邊界
      • 9.3.3 CSS 中的隱式作用域
      • 9.3.4 關于 CSS 作用域與層疊圖層
    • 9.4 CSS 模式庫
    • 9.5 本章小結
  • 第十章 CSS 容器查詢
    • 10.1 容器查詢的一個簡單示例
      • 10.1.1 容器尺寸查詢的用法
    • 10.2 深入理解容器
      • 10.2.1 容器的類型
      • 10.2.2 容器的名稱
      • 10.2.3 容器與模塊化 CSS
    • 10.3 與容器相關的單位
    • 10.4 容器樣式查詢的用法
      • 10.4.1 將模塊與所在容器解耦
      • 10.4.2 減少重復代碼
    • 10.5 本章小結
  • 第 11 章 顏色與對比
    • 11.1 通過對比進行交流
      • 11.1.1 模式的建立
      • 11.1.2 還原設計稿
    • 11.2 顏色的定義
      • 11.2.1 色域與色彩空間
      • 11.2.2 CSS 顏色表示法(RGB、Hex、HSL、HWB、LAB/OKLAB、LCH/OKLCH)
    • 11.3 利用 OKLCH 處理顏色(上篇)
      • 11.3.4 從頁面其他顏色衍生出新顏色(下篇)
    • 11.4 思考字體顏色的對比效果
    • 11.5 本章小結
  • 附錄
    • 附錄A:CSS 選擇器參考
    • 附錄B:CSS 預處理器簡介
http://aloenet.com.cn/news/37267.html

相關文章:

  • 谷歌網站收錄入口seo優(yōu)化的常用手法
  • 岳陽企業(yè)網站定制開發(fā)如何在百度上開店鋪
  • 好的h5網站企業(yè)網站模板免費下載
  • 政府網站建設計劃編程培訓
  • 金融業(yè)反洗錢培訓網站seo咨詢推廣
  • 網站做百度推廣嗎軟文寫作范文500字
  • 高端營銷型網站b站推廣app大全
  • 圖片上傳網站制作廣告推廣系統(tǒng)
  • 如何查看一家網站是否有備案深圳網絡營銷推廣專員
  • pc網站開發(fā)2023重大新聞事件10條
  • 網站正在建設中 文案seo網站建站
  • 有做銷售產品的網站有哪些內容優(yōu)化網站標題
  • 天貓網站的建設培訓機構最新消息
  • 時尚大氣的網站設計網站設計師
  • 做html網站免費引流推廣怎么做
  • 四川省建設信息網站百度推廣客戶端下載安裝
  • 微信小網站怎么做網站優(yōu)化平臺
  • 網絡建設網站有關知識湖北疫情最新消息
  • 軟裝設計師培訓網站優(yōu)化建設
  • 中信建設內部網站免費ip地址代理
  • 怎么做水果機網站開發(fā)一個小程序一般需要多少錢呢
  • java cms做網站刷關鍵詞排名seo軟件軟件
  • 類似于wordpress的網站濟南百度競價
  • 遼寧省建設工程造價管理網站如何設計一個網站頁面
  • 移動網站性能網絡廣告營銷的特點
  • 網站里可以添加視頻做背景嗎競價點擊軟件工具
  • 進口食品銷售銷售在那個網站做世界搜索引擎公司排名
  • 必應網站收錄在哪在線種子資源庫
  • 做網站哪個服務器好一套完整的運營方案
  • 學校網站設計實驗報告seo個人優(yōu)化方案案例