当前位置: 首页 > news >正文

为什么你应该停止使用“传统“的margin和padding来设置CSS样式

随着使用网络的人比以往任何时候都多,确保网络体验对所有用户都可访问的需求变得更加迫切。这包括从从不同方向/角度((从右到左,从上到下等)。

当添加传统的marginpadding时,你明确地定义了来自各个方向(上、下、左和右)的边距和填充。这可能会在你的区域设置中创建一个看起来不错的布局,但当使用不同区域设置的用户以与你设计的方式不同的 方向/角度 和查看内容时,可能会感到困惑。

每个现代开发者都应该使用margin-inline/margin-blockpadding-inline/padding-block

我们来分析这些CSS属性是如何工作的,以及为什么我们要使用它们。

margin-inlinepadding-inline控制左右 margin/padding。我们不是明确定义与这些特定方向对应的边距,而是将它们定义为startend边距。虽然一个区域可能从左开始到右结束,但其他区域可能不是,所以以这种方式定义它们将确保无论区域设置如何,margin 和 padding 都会按预期显示。

同样,margin-blockpadding-block控制上下 margin/padding,使用相同的startend模式,而不是明确定义topbottom

要同时为多个方向定义 margin 或 padding,你可以使用:

  • margin-inline: [start值] [end值];用于左右边距
  • margin-block: [start值] [end值];用于上下边距
  • padding-inline: [start值] [end值];用于左右填充
  • padding-block: [start值] [end值];用于上下填充

要仅为一个方向定义边距或填充,你可以使用:

  • margin-inline-start(而不是margin-left
  • margin-inline-end(而不是margin-right
  • margin-block-start(而不是margin-top
  • margin-block-end(而不是margin-bottom
  • padding-inline-start(而不是padding-left
  • padding-inline-end(而不是padding-right
  • padding-block-start(而不是padding-top
  • padding-block-end(而不是padding-bottom

我们看一些例子:

// 传统 margin-left: 1.2em; // 等效 margin-inline-start: 1.2em; // 传统 padding-top: 5px; // 等效 padding-block-start: 5px;

或者当为多个方向定义填充时:

// 传统 padding: 5px 10px 20px 15px; // 等效 padding-block: 5px 20px; padding-inline: 15px 10px;

当与使用flexbox进行内容对齐而不是float结合使用时,这些现代margin/padding模式更加强大。Flexbox是一个与方向无关的布局模型。它不是明确地将元素对齐到leftrighttopbottom,而是允许将内容对齐到其父元素的垂直和水平startend

例如:

// 在从左到右查看时将子元素对齐到右侧,或在从右到左查看时对齐到左侧。 parent-element { display: flex; align-items: flex-end; }

即使您的应用程序或网站目前不支持根据地域以不同的方向/方位显示文本/内容,开发人员最终也应通过采用上述模式,努力使所有用户都能获得无障碍的网络体验。这是一个很容易实现的过渡,每个开发人员都应采用,以实现未来的无障碍访问。

http://www.jsqmd.com/news/150954/

相关文章:

  • 校园安全管理AI:异常行为识别通过TensorRT边缘部署
  • 为什么顶尖AI团队都在用TensorRT做模型推理优化?
  • 2025:在真实项目中打磨技术的这一年 —— 我的前端技术年度总结
  • 系统学习JLink接线第一步:硬件连接
  • 针灸穴位推荐系统:治疗方案生成由TensorRT智能决策
  • WinDbg驱动调试图解说明与步骤解析
  • 草药配伍禁忌检查:处方安全性验证在TensorRT上自动完成
  • Elasticsearch段合并优化:大数据索引查询性能提升技巧
  • 大模型部署瓶颈怎么破?用TensorRT镜像实现极致低延迟推理
  • emwin流式布局应用场景解析
  • Keil5 IDE安装核心要点:快速理解每一步操作目的
  • 科研经费申请辅助:立项依据撰写由TensorRT支持生成
  • 投资者关系管理:财报问答系统在TensorRT上全天候响应
  • 电口光模块应用灵活部署之道
  • 图书馆智能检索:文献关联网络在TensorRT上实时挖掘
  • 学术影响力评估:引用网络分析通过TensorRT动态呈现
  • 客户服务满意度分析:通话记录挖掘借助TensorRT深入洞察
  • 基于L298N电机驱动模块STM32的智能小车设计:手把手教程
  • 考试题目自动创作:难度系数控制在TensorRT平台上精准调节
  • 【基于单片机人脸识别电子密码锁智能门禁指纹识别语音提醒防盗成品 系统设计(实物+程序+原理图+其他资料)】
  • 库存优化管理系统:需求预测模型通过TensorRT动态调整
  • LED驱动电路瞬态保护设计:工业应用场景图解说明
  • Keil C51流水灯程序调试全过程记录与分析
  • 双机通信波特率同步配置:项目应用完整示例
  • ARM平台交叉编译环境搭建:新手教程(从零开始)
  • Proteus 8.16下载安装教程:图文结合通俗解释全过程
  • 超详细版STM32CubeMX点亮LED灯在HMI面板中的集成方法
  • STM32+scanner实时数据处理架构设计:项目应用实例
  • Multisim示波器使用系统学习:XY模式图形分析
  • 疾病早期筛查工具:风险因素综合评估在TensorRT上实现