首頁 > web前端 > css教學 > CSS邏輯屬性和值

CSS邏輯屬性和值

Lisa Kudrow
發布: 2025-03-21 10:21:12
原創
513 人瀏覽過

邏輯CSS屬性:綜合指南

隨著跨瀏覽器對邏輯屬性的支持達到臨界質量,現在是探索其優勢的理想時機。這些屬性對於多語言網站是無價的,可以顯著提高代碼效率和可維護性。即使對於單語言站點,精簡的語法也提供了值得的好處。

例如,以元素為中心通常涉及此繁瑣的代碼:

 <code>.thing { margin-left: auto; margin-right: auto; }</code>
登入後複製

終點margin: 0 auto;提供較短的替代方案,會影響所有利潤。 margin-inline邏輯屬性提供了一個更精確的解決方案,僅針對左右邊緣。

理解“內聯”和“塊”方向

margin-inline屬性優雅地設定了margin-leftmargin-right 。同樣, margin-block管理margin-topmargin-bottom 。此簡化擴展到borderpadding屬性。例如, border-inline僅適用邊界,避免了個體方向規格。

該方法將焦點從物理(左,右,頂部,底部)轉移到邏輯(內聯,塊)方向。內聯處理水平定位,而塊處理垂直定位。

但是,這種關係隨著書面方向的變化而變化。

寫作模式和方向性

上面的示例說明了CSS邏輯屬性 - 替代傳統特性,這些特性抽象了物理方向。

CSS最初是為英語(例如英語)而設計的,並不固有地支持像阿拉伯語這樣的左右(RTL)語言。 HTML的dir屬性解決此問題:

<div dir="rtl"> ...</div>
登入後複製

CSS提供了等效的( direction: rtl; ),儘管HTML屬性是魯棒性的首選。

諸如中文,日語,韓語和蒙古語之類的語言可以水平寫(LTR或RTL)或垂直寫入。儘管水平寫作很普遍,但垂直寫作在日本網站中更為常見,有時與水平文本混合在一起。垂直寫作方向各不相同:中國,日語和韓國人通常會開始右上角,而蒙古人開始左右。 CSS的writing-mode屬性處理以下操作:

  • horizontal-tb :默認LTR/RTL,自上而下。
  • vertical-rl :RTL,上下(中國,日語,韓語)。
  • vertical-lr :LTR,上下(蒙古人)。

邏輯屬性提供上下文感知的CSS。間距和佈局適應writing-modedirection ,從而實現了跨語言的CSS重複使用。這與依靠自動翻譯,提供出色的用戶體驗並允許特定於區域的內容自定義同時,同時保持一致的視覺樣式形成對比。

下圖說明了物理特性的局限性。使用margin-left (紅色),LTR間距是正確的,但是RTL間距是有缺陷的。邏輯屬性解決了這一點。

CSS邏輯屬性和值

邏輯屬性會自動調整到語言上下文。在LTR語言中, margin-inline-start設置了左邊的邊距;在RTL語言中,它設置了正確的邊距。對於垂直文本,它進行了相應的調整,將餘量放在讀取起點。內聯方向適應元素的writing-mode

邏輯屬性和值的完整列表

許多CSS屬性具有邏輯當量。 Adrian Roselli的可視化工具有助於比較默認LTR水平設置下的物理和邏輯屬性。

以下表映射物理和邏輯屬性(使用LTR水平映射作為參考)。請記住,邏輯屬性的上下文敏感性是關鍵。

漿紗

在水平模式下, inline-size集寬度, block-size設置的高度;在垂直模式下,這逆轉。跨瀏覽器的支持非常出色。

邊界

對於邏輯邊界特性而存在出色的跨瀏覽器支持。示例表明border-inline-startborder-block-startborder-block-end 。單個邊框顏色,寬度和样式屬性也具有邏輯對應物以及速記性能。

邊距和填充

邏輯邊距和填充屬性相互反映,提供全面的跨瀏覽器支撐和速記。

定位

邏輯定位偏移可用。 inset-block-start映射到top (水平), inset-inline-start left (LTR水平)及其行為適應不同的寫作模式。最近的野生動物園包含在內,現代瀏覽器支持這些。 inset為所有四個偏移提供了速記。請注意, inset是物理價值的速記,而不是邏輯屬性。

文字對齊

邏輯文本對齊( text-align: starttext-align: end )具有強大的瀏覽器支持,適應LTR/RTL上下文。

邊界半徑,浮子和其他屬性

邏輯border-radius屬性具有開發瀏覽器支持。邏輯浮點值的支持有限。提議的overflowresize邏輯屬性的支持差。

進一步探索

對於更深入的潛水,請考慮以下資源:

  • “ RTL樣式101” (Ahmad Shaded):RTL樣式的綜合指南。
  • text-combine-upright (CSS-ricks):用於垂直文本操縱。
  • 水平和垂直著作的Web獎項:垂直版式的現實示例。

結論

雖然不需要立即進行代碼庫大修,但採用邏輯屬性提供了重要的優勢。出色的瀏覽器支持和改進的代碼清晰度使它們成為任何CSS工作流程的值得添加的。

以上是CSS邏輯屬性和值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板