CSS Logical Properties 详解
CSS Logical Properties 详解一、Logical Properties 概述CSS Logical Properties逻辑属性是 CSS 的一组新属性用于根据书写方向和文本流向定义布局。它们提供了更灵活的方式来处理不同语言和书写模式。1.1 基本概念Physical Properties- 物理属性top、right、bottom、leftLogical Properties- 逻辑属性block-start、inline-end 等Writing Mode- 书写模式水平、垂直二、尺寸属性2.1 Width 和 Height/* 物理属性 */ .element { width: 200px; height: 100px; } /* 逻辑属性 */ .element { inline-size: 200px; /* 行内方向尺寸 */ block-size: 100px; /* 块方向尺寸 */ }三、边距属性3.1 内边距/* 物理属性 */ .element { padding-top: 10px; padding-right: 20px; padding-bottom: 10px; padding-left: 20px; } /* 逻辑属性 */ .element { padding-block-start: 10px; /* 块起始边距 */ padding-inline-end: 20px; /* 行内结束边距 */ padding-block-end: 10px; /* 块结束边距 */ padding-inline-start: 20px; /* 行内起始边距 */ } /* 简写 */ .element { padding-block: 10px; /* 块方向两边 */ padding-inline: 20px; /* 行内方向两边 */ }3.2 外边距/* 物理属性 */ .element { margin-top: 10px; margin-right: 20px; margin-bottom: 10px; margin-left: 20px; } /* 逻辑属性 */ .element { margin-block-start: 10px; margin-inline-end: 20px; margin-block-end: 10px; margin-inline-start: 20px; } /* 简写 */ .element { margin-block: 10px; margin-inline: 20px; }四、边框属性4.1 边框宽度/* 物理属性 */ .element { border-top-width: 2px; border-right-width: 1px; border-bottom-width: 2px; border-left-width: 1px; } /* 逻辑属性 */ .element { border-block-start-width: 2px; border-inline-end-width: 1px; border-block-end-width: 2px; border-inline-start-width: 1px; }4.2 边框样式和颜色.element { border-block-start: 2px solid #667eea; border-inline: 1px dashed #ccc; }五、定位属性5.1 偏移量/* 物理属性 */ .element { position: absolute; top: 10px; right: 20px; } /* 逻辑属性 */ .element { position: absolute; inset-block-start: 10px; inset-inline-end: 20px; } /* 简写 */ .element { inset-block: 10px 20px; inset-inline: 10px 20px; }六、浮动和清除/* 物理属性 */ .element { float: left; clear: right; } /* 逻辑属性 */ .element { float: inline-start; clear: inline-end; }七、文本方向7.1 书写模式/* 水平书写 */ .element { writing-mode: horizontal-tb; } /* 垂直书写从右到左 */ .element { writing-mode: vertical-rl; } /* 垂直书写从左到右 */ .element { writing-mode: vertical-lr; }7.2 文本方向.element { direction: ltr; /* 从左到右 */ direction: rtl; /* 从右到左 */ }八、实战案例8.1 多语言布局.card { padding-block: 1rem; padding-inline: 1.5rem; border-block-start: 3px solid #667eea; }8.2 响应式设计.container { inline-size: min(100% - 2rem, 1200px); margin-inline: auto; }8.3 垂直文本布局.vertical-text { writing-mode: vertical-rl; text-orientation: upright; }九、浏览器兼容性属性ChromeFirefoxSafariEdgeLogical Properties876614.187十、总结CSS Logical Properties 提供了更灵活的布局方式尺寸- inline-size、block-size边距- padding-block、padding-inline、margin-block、margin-inline边框- border-block、border-inline定位- inset-block、inset-inline书写模式- writing-mode、direction使用逻辑属性可以更好地支持多语言和不同书写方向。