目前CSS实现竖排文本较为通用的方式是什么?

html-css08

目前CSS实现竖排文本较为通用的方式是什么?,第1张

1.关于CSS对直排的支持,桑林志中有过探讨,不过其中的资料链接大多已不能打开。简言之:一是使用writing-mode: tb-lr和 layout-flow: vertical-ideographic二是使用column-width和column-gap属性。虽然早在2001年,添加writing-mode支持的草案被提出,但最后并没有成为标准。当年只有微软的Internet Explorer能直接支持竖排方式。2.所以有Geeker去使用JS排出竖排文字的效果,除了Lawrence Li提到的Nehan,另一个叫Taketori JS (竹取 JS)。说到中文排版,在网路上问了一些懂出版的朋友,发现一个很尴尬的事情:日文的断行规则是是 JIS X 4051 日本国家标准;在台湾,规则是各家出版社各个编辑口耳相传的「习惯」。在 Wikipedia 上,排版断行规则的文章也只有日文版、韩文版、英文版就是没有中文版。技术上,业界也不会遇到真正有动机去影响直排实作网路标准的厂商。是说就排版规则这件事情,JIS 标准绝对够用(除了注音符号声符的排版),繁体中文使用者只要站在日文使用者后面增加气势(?)就好,但是我们可以搞到这样,应该有一些需要反省的原因吧。

CSS中设置文字右对齐可以通过代码:<p align="对齐方式">文本段落</p>来实现,操作步骤如下:

1.新建一个html文档,如下图红框所示;

2.可以给文档改个名字,如下图红框所示;

3.然后输入文字内容,如下图红框所示;

4.进一步设置以下文字的对齐方式,示例代码如下:<p align="right">孔雀为什么要东南飞?</p>;

5.在浏览器中预览,文字就实现了右对齐,如下图红框所示;

6.如果将对齐方式的代码改为“left”,如下图红框所示;

7.预览结果文字就实现了左对齐,如下图红框所示;

8.或者改成“center”,如下图红框所示;

9.文字的位置有变成了居中,如下图红框所示,总结如下:文字对齐方式有:left(左), center(中间), right(右),可以根据需求进行设置即可。

包含块(Containing Block)是视觉格式化模型的一个重要概念,它与框模型类似,也可以理解为一个矩形,而这个矩形的作用是为它里面包含的元素提供一个参考,元素的尺寸和位置的计算往往是由该元素所在的包含块决定的。

包含块简单说就是定位参考框,或者定位坐标参考系,元素一旦定义了定位显示(相对、绝对、固定)都具有包含块性质,它所包含的定位元素都将以该包含块为坐标系进行定位和调整。

原理

一个元素盒子的位置和大小有时是通过相对于一个特定的长方形来计算的,这个长方形就被称之为元素的 containing block。一个元素的 containing block 按以下方式定义:

用户代理(比如浏览器)选择根元素作为 containing block(称之为初始 containing block)。

对于其它元素,除非元素使用的是绝对位置,containing block 由最近的块级祖先元素盒子的内容边界组成。

如果元素有属性 'position:fixed',containing block 由视口建立。

如果元素有属性 'position:absolute',containing block 由最近的 position 不是 static 的祖先建立,按下面的步骤:

如果 direction 是 ltr(左到右),祖先产生的第一个盒子的上、左内容边界是 containing block 的上方和左方,祖先的最后一个盒子的下、右内容边界是 containing block 的下方和右方。

如果 direction 是 rtl(右到左),祖先产生的第一个盒子的上、右内容边界是 containing block 的上方和右方,祖先的最后一个盒子的下、左内容边界是 containing block 的下方和左方。

如果祖先是块级元素,containing block 由祖先的 padding edge 形成。

如果祖先是内联元素,containing block 取决于祖先的 direction 属性。

如果没有祖先,根元素盒子的内容边界确定为 containing block。