RTL 样式入门,CSS中如何设置RTL样式的全面指南

全世界有超过2.92亿人以阿拉伯语作为第一语言,它的阅读方向是从右到左的方向。最近在做国际化就需要支持阿拉伯语,所以我们就需要构建同时支持从左到右(LTR)和从右到左(RTL)样式的网站。

RTL样式简介

CSS中页面的默认方向是LTR。如果你检查浏览器的默认代理样式,会发现html元素的dir(或"direction")属性默认值是ltr。下面是一个基本示例,展示了 LTR 和 RTL 布局的区别。

983bcc35650b857f64cee38fd5c0b104.png

注意RTL部分的文本是从右到左读的,与LTR文本相反。好的是,浏览器为这个简单的例子完成了所有工作。要切换文档的语言方向,你需要在根元素上添加dir属性。

<html dir="rtl">
  ...
</html>

dir改变时,以下元素应该自动翻转:标题、段落、链接、图像和表单元素。

值得一提的是,还有一个dir="auto"属性,它会根据解析的内容自动切换方向。根据HTML规范: 强烈建议开发者只在文本方向真的未知,且无法应用更好的服务器端启发式方法时,才将此值作为最后的手段。

除了在HTML元素上设置dir=rtl属性外,我们还可以添加direction: rtl作为CSS样式。

.element {
  direction: rtl;
}

不过,CSSWG 建议应该在html根元素上定义方向,以确保在没有CSS的情况下也能正确地进行双向布局。

翻转设计的基本示例

我们看一个更详细的例子,探讨如何将设计从LTR翻转为RTL。

c27dd382ff9693a57f50dfcd897f61f2.png

<article class="media">
  <img src="blueberry-cheesecake.jpg" alt="" />
  <div class="media__content">
    <h2>Blueberry Cheesecake</h2>
    <p>...</p>
    <p><a href="#" class="link">View Recipe</a></p>
  </div>
</article>

起初,在 LTR 设计中使用了良好的浮动方式将图像向左对齐,当然,还使用了clearfix。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@大迁世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值