」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > CSS尺寸單位使用技巧提升網頁設計

CSS尺寸單位使用技巧提升網頁設計

發佈於2025-04-21
瀏覽:739

How to Use CSS Size Units for Better Web Design 为什么CSS尺寸单元很重要

CSS尺寸单元是设计响应能力的骨干。这些单元定义了与他人或视口本身有关的元素应出现的大小或小。就像魔术公式告诉您的网站如何在不同的屏幕尺寸上行事。没有这些单元,您的设计最终可能会看起来尴尬,伸展或在某些设备上狭窄。

,但这是事实:大小单元的类型不同,并非所有单位都是相同的。有些是固定的,而另一些则根据屏幕或周围内容进行更改。让我们深入研究这些单元,以便您可以为工作选择合适的单元。

绝对与相对单位:有什么区别?

要了解不同的大小单元,您首先需要了解它们属于的两个基本类别:绝对和相对单位。

绝对单位非常简单。它们是固定的,无论屏幕尺寸如何,都不会改变。将它们视为永远不会改变的标尺。 另一方面,

绝对单位:旧学校

    绝对单位正是他们听起来的样子 - 藏在石头上。他们不在乎屏幕尺寸,布局或任何其他因素。当您使用绝对单元时,您将锁定元素的大小。尽管这为您提供了全部控制,但这也意味着您的设计可能无法很好地适应不同的屏幕。 这是一些最常见的绝对单元:
  • Pixels(PX):
精确尺寸的经典选择。一个像素对应于屏幕上的一个点。

这些单元在打印设计中更常见,但如果需要,可以在Web设计中使用。


从打印世界中借来的,这些对印刷样式诸如打印样式很有用,但不经常用于Web Design。 尽管绝对单元可以使事情看起来锋利,但它们并没有为现代响应式网站提供太大的灵活性。这就是相对单位介入的地方。

  • 相对单位:灵活性的真正力量 相对单位是魔术发生的地方。这些单元根据周围内容或屏幕尺寸进行扩展,使其非常适合创建各处看起来不错的设计,从小屏幕到巨大的显示器。 让我们看一下关键的相对单元:
  • 百分比(%) 百分比单位全部有关。如果将元素的宽度设置为50%,那么它将占用其父装容器的一半,无论该容器有多大或小容器。它是响应迅速布局的理想选择,您希望根据可用空间进行调整。
  • 。容器 { 宽度:100%; / *占用父容器的100% */ } EM和REM:用文字缩放

em相对于父元素的字体大小。


rem与root元素()上设置的字体大小相对。 这些单元非常适合在整个网站上创建可扩展的版式或间距,尤其是当用户更改浏览器的默认字体尺寸时。

视口单元(大众,VH)

视口单元非常适合创建根据浏览器窗口的实际大小进行调整的全屏部分或元素。这些单元根据视口的宽度或高度进行扩展,因此您可以设计全屏英雄部分或动态版式,以响应用户的屏幕大小。
.container {
  width: 100%; /* Takes up 100% of the parent container */
}

1VW是视口宽度的1%。

VH:

1VH是视口高的1%。 这些对于现代流体布局特别有用。
  • 。英雄{ 宽度:100VW; / *视口的全宽度 */ 身高:100VH; / *视口的全高度 */ }
  • 您应该使用哪个单元?
html {
  font-size: 16px; /* Set base font size */
}

h1 {
  font-size: 2rem; /* 32px */
}

p {
  font-size: 1.5em; /* 24px, based on the parent element's font size */
}

固定元素:需要绝对控制时使用PX。图标,边界和其他需要精确尺寸的小元素之类的东西非常适合像素。

对于流体布局:当您希望元素根据容器的尺寸适应元素时使用%。这非常适合应随屏幕尺寸向上或向下扩展的网格,列或部分。

排版:使用REM在您的网站上进行一致性,并根据父容器的字体大小进行本地调整。
    全屏幕部分:使用大众和VH创建占用整个视口大小的部分,无论屏幕尺寸如何
  • 避免的常见错误
  • 在使用CSS尺寸单元时,有时甚至有经验的设计师有时会犯错误。这是要注意的地方:
  • 过多地依赖于像素:虽然PX易于使用,但对响应设计无济于事。
  • 忽略根字体大小:如果您使用的是REM,请确保在HTML元素中设置基本字体大小。否则,您的版式看起来可能不一致。
单位使用不一致:在没有明确策略的情况下混合PX,%和EM会导致不可预测的结果。保持单位使用量一致。
.container {
  width: 100%; /* Takes up 100% of the parent container */
}

总结:CSS尺寸单元

CSS尺寸单元对于在任何屏幕上都可以创建效果很好的网站至关重要。借助PX和诸如%,EM,REM和视口单元(例如PX)的绝对单元,您可以设计响应式的布局,可以很好地适应跨设备的精美。

关键是要了解何时使用每个单元以及它们如何相互作用。通过掌握CSS尺寸单元,您将解锁响应式Web设计的全部潜力,并创建各处看起来很棒的网站。 因此,走出去,尝试这些单元,使您的设计比以往任何时候都更加流畅和响应! 开心设计!
版本聲明 本文轉載於:https://dev.to/web_dev-usman/how-to-use-css-size-units-for-better-web-design-40ko?1如有侵犯,請聯繫[email protected]刪除
最新教學 更多>
  • Java中假喚醒真的會發生嗎?
    Java中假喚醒真的會發生嗎?
    在Java中的浪費喚醒:真實性或神話? 在Java同步中偽裝喚醒的概念已經是討論的主題。儘管存在這種行為的潛力,但問題仍然存在:它們實際上是在實踐中發生的嗎? Linux的喚醒機制根據Wikipedia關於偽造喚醒的文章,linux實現了pthread_cond_wait()功能的Linux實現,...
    程式設計 發佈於2025-05-07
  • 找到最大計數時,如何解決mySQL中的“組函數\”錯誤的“無效使用”?
    找到最大計數時,如何解決mySQL中的“組函數\”錯誤的“無效使用”?
    如何在mySQL中使用mySql 檢索最大計數,您可能會遇到一個問題,您可能會在嘗試使用以下命令:理解錯誤正確找到由名稱列分組的值的最大計數,請使用以下修改後的查詢: 計數(*)為c 來自EMP1 按名稱組 c desc訂購 限制1 查詢說明 select語句提取名稱列和每個名稱...
    程式設計 發佈於2025-05-07
  • 在細胞編輯後,如何維護自定義的JTable細胞渲染?
    在細胞編輯後,如何維護自定義的JTable細胞渲染?
    在JTable中維護jtable單元格渲染後,在JTable中,在JTable中實現自定義單元格渲染和編輯功能可以增強用戶體驗。但是,至關重要的是要確保即使在編輯操作後也保留所需的格式。 在設置用於格式化“價格”列的“價格”列,用戶遇到的數字格式丟失的“價格”列的“價格”之後,問題在設置自定義單元...
    程式設計 發佈於2025-05-07
  • 如何解決AppEngine中“無法猜測文件類型,使用application/octet-stream...”錯誤?
    如何解決AppEngine中“無法猜測文件類型,使用application/octet-stream...”錯誤?
    appEngine靜態文件mime type override ,靜態文件處理程序有時可以覆蓋正確的mime類型,在錯誤消息中導致錯誤消息:“無法猜測mimeType for for file for file for [File]。 application/application/octet...
    程式設計 發佈於2025-05-07
  • 如何有效地選擇熊貓數據框中的列?
    如何有效地選擇熊貓數據框中的列?
    在處理數據操作任務時,在Pandas DataFrames 中選擇列時,選擇特定列的必要條件是必要的。在Pandas中,選擇列的各種選項。 選項1:使用列名 如果已知列索引,請使用ILOC函數選擇它們。請注意,python索引基於零。 df1 = df.iloc [:,0:2]#使用索引0和1 ...
    程式設計 發佈於2025-05-07
  • 如何使用組在MySQL中旋轉數據?
    如何使用組在MySQL中旋轉數據?
    在關係數據庫中使用mySQL組使用mySQL組進行查詢結果,在關係數據庫中使用MySQL組,轉移數據的數據是指重新排列的行和列的重排以增強數據可視化。在這裡,我們面對一個共同的挑戰:使用組的組將數據從基於行的基於列的轉換為基於列。讓我們考慮以下查詢: select data d.data_ti...
    程式設計 發佈於2025-05-07
  • Python讀取CSV文件UnicodeDecodeError終極解決方法
    Python讀取CSV文件UnicodeDecodeError終極解決方法
    在試圖使用已內置的CSV模塊讀取Python中時,CSV文件中的Unicode Decode Decode Decode Decode decode Error讀取,您可能會遇到錯誤的錯誤:無法解碼字節 in position 2-3: truncated \UXXXXXXXX escapeThi...
    程式設計 發佈於2025-05-07
  • 左連接為何在右表WHERE子句過濾時像內連接?
    左連接為何在右表WHERE子句過濾時像內連接?
    左JOIN CONUNDRUM:WITCHING小時在數據庫Wizard的領域中變成內在的加入很有趣,當將c.foobar條件放置在上面的Where子句中時,據說左聯接似乎會轉換為內部連接。僅當滿足A.Foo和C.Foobar標準時,才會返回結果。 為什麼要變形?關鍵在於其中的子句。當左聯接的右側...
    程式設計 發佈於2025-05-07
  • PHP SimpleXML解析帶命名空間冒號的XML方法
    PHP SimpleXML解析帶命名空間冒號的XML方法
    在php 很少,請使用該限制很大,很少有很高。例如:這種技術可確保可以通過遍歷XML樹和使用兒童()方法()方法的XML樹和切換名稱空間來訪問名稱空間內的元素。
    程式設計 發佈於2025-05-07
  • 為什麼在我的Linux服務器上安裝Archive_Zip後,我找不到“ class \” class \'ziparchive \'錯誤?
    為什麼在我的Linux服務器上安裝Archive_Zip後,我找不到“ class \” class \'ziparchive \'錯誤?
    Class 'ZipArchive' Not Found Error While Installing Archive_Zip on Linux ServerSymptom:When attempting to run a script that utilizes the ZipAr...
    程式設計 發佈於2025-05-07
  • 反射動態實現Go接口用於RPC方法探索
    反射動態實現Go接口用於RPC方法探索
    在GO 使用反射來實現定義RPC式方法的界面。例如,考慮一個接口,例如:鍵入myService接口{ 登錄(用戶名,密碼字符串)(sessionId int,錯誤錯誤) helloworld(sessionid int)(hi String,錯誤錯誤) } 替代方案而不是依靠反射...
    程式設計 發佈於2025-05-07
  • MySQL中如何高效地根據兩個條件INSERT或UPDATE行?
    MySQL中如何高效地根據兩個條件INSERT或UPDATE行?
    在兩個條件下插入或更新或更新 solution:的答案在於mysql的插入中...在重複鍵更新語法上。如果不存在匹配行或更新現有行,則此功能強大的功能可以通過插入新行來進行有效的數據操作。如果違反了唯一的密鑰約束。 實現所需的行為,該表必須具有唯一的鍵定義(在這種情況下為'名稱'...
    程式設計 發佈於2025-05-07
  • Java是否允許多種返回類型:仔細研究通用方法?
    Java是否允許多種返回類型:仔細研究通用方法?
    在Java中的多個返回類型:一種誤解類型:在Java編程中揭示,在Java編程中,Peculiar方法簽名可能會出現,可能會出現,使開發人員陷入困境,使開發人員陷入困境。 getResult(string s); ,其中foo是自定義類。該方法聲明似乎擁有兩種返回類型:列表和E。但這確實是如此嗎...
    程式設計 發佈於2025-05-07
  • 如何解決由於Android的內容安全策略而拒絕加載腳本... \”錯誤?
    如何解決由於Android的內容安全策略而拒絕加載腳本... \”錯誤?
    Unveiling the Mystery: Content Security Policy Directive ErrorsEncountering the enigmatic error "Refused to load the script..." when deployi...
    程式設計 發佈於2025-05-07
  • 哪種在JavaScript中聲明多個變量的方法更可維護?
    哪種在JavaScript中聲明多個變量的方法更可維護?
    在JavaScript中聲明多個變量:探索兩個方法在JavaScript中,開發人員經常遇到需要聲明多個變量的需要。對此的兩種常見方法是:在單獨的行上聲明每個變量: 當涉及性能時,這兩種方法本質上都是等效的。但是,可維護性可能會有所不同。 第一個方法被認為更易於維護。每個聲明都是其自己的語句,使...
    程式設計 發佈於2025-05-07

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3