一次性解决text-justify,text-orientation等冷门属性文本属性(下)

举报
搞前端的半夏 发表于 2021/10/24 20:36:11 2021/10/24
【摘要】 前言在上中两篇介绍文本属性的时候,我们基本已经学会了很多之前没有使用过的属性,今天我们接着来看更多的文本属性,CSS的世界是精妙的,无尽的,仅仅希望同这三篇文章,可以入得CSS的基础门。人生短暂,学无止尽。 text-justify 兼容性此属性目前被列为“有风险”在候选推荐期间被丢弃。因此,不建议在生产中使用此属性,因为它不太可能在不久的将来成为所有浏览器的标准。兼容性很差,目前也就火狐...

前言

两篇介绍文本属性的时候,我们基本已经学会了很多之前没有使用过的属性,今天我们接着来看更多的文本属性,CSS的世界是精妙的,无尽的,仅仅希望同这三篇文章,可以入得CSS的基础门。人生短暂,学无止尽。

text-justify

兼容性

此属性目前被列为“有风险”在候选推荐期间被丢弃。因此,不建议在生产中使用此属性,因为它不太可能在不久的将来成为所有浏览器的标准。

兼容性很差,目前也就火狐浏览器可以用!!!仅学习。

定义

规定text-align: justify;使用的对齐方式。

text-justify 必须与text-align: justify;同时出现,如果你还不知道text-align: justify;是啥,请立即阅读学透CSS-深度剖析text-align家族 文本属性(上) (连载中),看完再来看这篇文章。

属性值

auto

默认值,允许浏览器确定对齐方式是否更好地处理为inter-word或inter-character。这在内容语言在呈现之前未知的多语言场景中很有帮助。

inter-word

通过调整单词间距来指定文本对齐

inter-character

通过调整字符间距指定文本对齐

可能单纯的看inter-word和inter-character的截图不是太清楚,放一张对比图。

第一张:inter-character

第二张:inter-word

仔细看最明显的两处:
就不容易了 A
Your worst battle is
第一张图your的字符间距是比较大的,第二章Your worst中间的间距比较大

none

禁用对齐方法。消除父元素带来的inter-word和inter-character属性

distribute

已被废除,不提倡使用

亲测在火狐浏览器表现如下

text-orientation

兼容性

浏览器的兼容还是不错的,除了IE(永远的噩梦)

定义

在文字的书写模式为竖直的情况下,改变字符的方向。

竖直模式 writing-mode

  1. writing-mode: vertical-lr;

  1. writing-mode: vertical-rl;

属性值:

mixed

默认值。水平脚本中的字符顺时针旋转 90°。
仔细看截图中的英文和数字,方向是被旋转 90°.

upright

此值会将字符本身从旋转 90°旋转到其自然位置。注意这个关键字会导致所有字符被视为从左到右,也就是 direction 被强制设为 ltr(从左往右)。

sideways

垂直书写模式下的所有文本都横向显示,就像在水平布局中一样,整行顺时针旋转 90°。。

sideways-right:

某些浏览器将此值视为sideways为向后兼容而保留的值的别名。

text-combine-upright

首先我觉得这个属性就是对text-orientation的一个补充,主要的作用就是想把某些字符放在一行显示,例如 上面的截图频繁出现的13,在竖直模式下,是分两行显示的。为了让他们在一行显示就需要用到这个属性了。

兼容性

火狐和谷歌兼容还是不错的,可以用。

属性值

all

垂直包含框中所有连续的排版字符在同一行水平显示,占用垂直框中单个字符的空间。
请仔细阅读这句话!!!

all 例子1
      writing-mode: vertical-lr;
      text-combine-upright: all;
      
       <p>
        我说道:“爸爸,你走吧。”他往车外看了看,说:“我买几个橘子去。你就在此地,不要走动。”
        我看那边月台的栅栏外有几个卖东西的等着顾客。走到那边月台,须穿过铁道,须跳下去又爬上去。
        父亲是一个胖子,走过去自然要费事些。我本来要去的,他不肯,只好让他去。我看见他戴着黑布小帽,
        穿着黑布大马褂12,深青布棉袍,蹒跚13地走到铁道边,慢慢探身下去,尚不大难。可是他穿过铁道,
        要爬上那边月台 ,就不容易了。
      </p>

最终的效果:


是不是瞬间明白了,让你仔细阅读的原因啦!!!

all 例子2
p{
  writing-mode: vertical-lr;
}
span{
  text-combine-upright: all;
}
 <p>
  我说道:“爸爸,你走吧。”他往车外看了看,说:“我买几个橘子去。你就   在此地,不要走动。”
 <span id="leftSpan" >202108</span>就不容易了。
 </p>

最终的效果

这下是不是知道怎么使用了,浏览器并不会识别那些要显示在一行,需要我们指定哪些字符显示在一行。

digits <integer>

兼容性

对于这个属性,特地放出了兼容性图。从图中看,这个属性基本没法使用

垂直包含框中所有连续的 ASCII 数字在同一行上水平显示,占用垂直框中单个字符的空间,最多为指定的整数。如果没有指定整数,则默认值为 2 位。任何低于 2 和高于 4 的都是无效的。

语法

text-combine-upright: digits 2;

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。