wang1dot0 / personal-note

记录工作中遇到的个人觉得比较有意思的小问题
https://github.com/wang1dot0/personal-note
0 stars 0 forks source link

[CSS] 文本属性 #25

Open wang1dot0 opened 4 years ago

wang1dot0 commented 4 years ago

缩进与文本对齐

text-indent

text-align | text-align-last

start | end | left | right | center | justify | match-parent

块级对齐

line-height

vertical-align

只能用于行内元素和置换元素。不可继承

单词间距与字符距离

word-spacing

会受到text-align的影响

letter-spacing

继承不能通过设置系数继承,只能继承计算得到的值。因此,不管文本的大小,字符间距都一样。

text-transform

uppercase | lowercase | capitalize | none

text-decoration 不可继承

underline | overline | line-through | blink | none

text-rendering

css新增,其实是一个svg属性

text-shadow 不可继承

white-space

normal | nowrap | pre | pre-wrap | pre-line

属性 空白 回车换行符 自动换行
normal 折叠 忽略 允许
nowrap 折叠 忽略 禁止
pre 保留 保留 禁止
pre-wrap 保留 保留 允许
pre-line 折叠 保留 允许

tab-size

制表符默认为8个空格 只有white-space为pre|pre-wrap时,有效。

hyphens &shy

manual | auto | none 受到word-break影响

word-break

normal | break-all | keep-all normal: UA正常换行方式。文本在单词之间换行,如英语,在象形文字中,一个字符就是一个字,在任何两个字符之间都可能换行。其他CJK语言中,换行可能只会出现在不以空格分隔的字符序列之间。 break-all: 换行会出现在任何字符之间,即一个单词的内部。并且不显示连字符 keep-all: 禁止字符之间的软换行。如在中文中,没有空白的字符,就会导致文本行超出。

line-break 特定用于CJK

auto | loose | normal | strict

overflow-wrap (word-wrap)

只有white-space属性允许换行时,overflow-wrap才起作用。 normal | break-word normal 正常方式换行,即单词之间换行 break-word 可在单词内部换行。 overflow-wrap: break-wordword-break: break-all 的区别: 仅当文本有溢出时overflow-wrap才起作用。因此,如果能用源码中的空白换行,overflow-wrap就会在空白处换行。而word-break: break-all只有在内容接触边界时换行,不管前面有没有空白

writing-mode

horizontal-tb | vertical-rl | vertical-lr

text-orientation

mixed | upright | sideways

direction

ltr | rtl

unicode-bidi