css 文本的自动换行的一些测试

以下测试基于浏览器的版本如下:

chrome: 38

firefox: 30.0

IE: 11

先看如下代码(未添加任何css样式):

<p id="word1">
This is a very long word:veryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongword
</p>
<p id="word2">
这是一个非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常单词
</p>

效果:

chrome:

firefox:

IE:

注:上面“:”是中文字符。如果是英文的“:”则,在三种浏览器的效果是一样的:

文本的自动换行的尝试

在专业术语上,这种期望得到的渲染现象被称作“word wrap”,即文本处理器有能力把超出页边的整个词自动传到下一行。

前面极长的这个英文单词(虽然是生造的)为了保证完整的显示,无奈地超出了容器的限制,它溢出了。为了“修复”这个“问题”,使得无论东亚还是西欧文字都能被限定在容器的尺寸范围内,我们一般会加上诸如“word-wrap: break-word; word-break: break-all;”这样的属性:

<style>

#word1{
	word-wrap: break-word; 
	word-break: break-all;
}
</style>

<p id="word1">This is a very long word:veryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryverylongword</p>

效果:

chrome、firefox、IE:

补充一点知识:

CJK 文字和 !CJK 文字有各自的排版规则。

在这里,CJK 代表 Chinese, Japanese, and Korean,即东亚文字,!CJK 就是非东亚文字,大多数情况下是西欧文字。

在文字的呈现规则上,两者很不相同,CJK 文字中,一个字母就是一个字素(单词),独立成义,!CJK 文字中,一些字母组成一个字素,并且字素们由连接符“-”连接,或由空格“ ”分隔。

  • 有关 CJK 文字更多的排版规则上,比较有代表性的是:对中文来说,标点符号不能成为行首(特殊除外);双字长的标点符号(省略号、破折号)不能断开。
  • 对于 !CJK,主要是:单词不能在中间不合法地断开(合法情况例如从连接符处断开);标点符号不能成为行首(特殊除外)

word-wrap, line-break, word-break 这几个属性都是 MS 的独立实现,随后其他浏览器也不同程度地实现了其中的某些,之后,这几个属性都被吸纳为 CSS3 标准。在对文字排版的渲染上,微软还是走在前面的。

在现有的 CSS3 草案中,关乎到文字排版的几个重要属性有:white-space, text-wrap, word-wrap, line-break, word-break。

做一个归纳:专门用于控制文本自动换行功能的属性是 text-wrap 和 word-wrap,而 line-break 和 word-break 用来控制断行和单词边界分隔,根据 W3C 的描述来说,word-wrap 是最激进的自动换行方式,可以强行断开单词。而现实情况是,word-break: break-all; 的方式要更为激进:

<style>

#p1{
	word-wrap: break-word; 
}
#p2{
	word-break: break-all;
}
</style>

<p id="p1">Great works are performed not by strengh, but by perseverance. 
  Samuel Johnson, British writer and critic <p>
<p id="p2">Great works are performed not by strengh, but by perseverance. 
  Samuel Johnson, British writer and critic <p>

效果:

时间: 2024-12-06 07:35:44

css 文本的自动换行的一些测试的相关文章

CSS 文本、字体、链接

CSS 文本属性可定义文本的外观. 通过文本属性,您可以改变文本的颜色.字符间距,对齐文本,装饰文本,对文本进行缩进,等等. 缩进文本 把 Web 页面上的段落的第一行缩进,这是一种最常用的文本格式化效果. CSS 提供了 text-indent 属性,该属性可以方便地实现文本缩进. 通过使用 text-indent 属性,所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以是负值. 这个属性最常见的用途是将段落的首行缩进,下面的规则会使所有段落的首行缩进 5 em: p {text-ind

CSS 文本

CSS 文本属性可定义文本的外观. 通过文本属性,您可以改变文本的颜色.字符间距,对齐文本,装饰文本,对文本进行缩进,等等. 缩进文本 把 Web 页面上的段落的第一行缩进,这是一种最常用的文本格式化效果. CSS 提供了 text-indent 属性,该属性可以方便地实现文本缩进. 通过使用 text-indent 属性,所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以是负值. 这个属性最常见的用途是将段落的首行缩进,下面的规则会使所有段落的首行缩进 5 em: p {text-ind

关于css伪类的一些兼容性测试

测试环境:xp ,ie7~8  chrome. link 伪类 :(:link,:visited)  这个是链接专用 动态伪类 :(:hover,:active,:focus) <!DOCTYPE html> <html> <head></head> <style type="text/css"> a:link,input:hover{color:blue;} a:visited{color:green;} a:active{

使用css文本样式的6种方法

很多web前端初学者 http://www.maiziedu.com/course/web/在学习css样式时,对文本内容的修饰需要用到css文本样式进行修饰.由于在层叠关系中,内容要高于背景.所以文本样式相对而言更加重要.有些人对文本和字体样式之间的不同不太了解,简单地讲,文本是内容,而字体则用于显示这个内容.本文将详细介绍文本相关样式. 首行缩进 定义 首行缩进是将段落的第一行缩进,这是常用的文本格式化效果.一般地,中文写作时开头空两格,类似于此. [注意]该属性可以为负值 text-ind

CSS文本属性

CSS文本: 属性 描述 color 设置文本颜色 direction 设置文本方向. line-height 设置行高. letter-spacing 设置字符间距. text-align 对齐元素中的文本. text-decoration 向文本添加修饰. text-indent 缩进元素中文本的首行. text-shadow 设置文本阴影. text-transform 控制元素中的字母. unicode-bidi 设置文本方向. white-space 设置元素中空白的处理方式. wor

第 15 章 CSS 文本样式[下]

学习要点: 1.文本总汇 2.文本样式 3.文本控制 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 文本样式,通过文本样式的设置,更改字体的大小.样式以及文本的方位. 一.文本总汇 本节课,我们重点了解一下 CSS 文本样式中文本内容的一些设置方法,样式表如下: 属性名 说明 CSS 版本 text-decoration 装饰文本出现各种划线. 1 text-transform 将英文文本转换大小写. 1 text-shadow 给文本添加阴影 3 text-align 设置文本对齐方

19.CSS文本样式【下】

第十五章 CSS文本样是[下] 一.文本总汇 二.文本样式 :CSS文本样式分为三种:文本装饰,英文大小写转换,文本阴影. 1.text-decoration (1)none :让本身有划线的文本取消掉: (2)underline :让文本的底部出现一条下划线: (3)overline :让文本的顶部出现一条下划线: (4)line-through :让文本的中部出现一条产出划线: (5)bline :让文本出现闪烁,基本不支持了: 例.@charset="utf-8" p{ font

4 css文本和文字样式

CSS 文本样式: 通过文本属性,改变文字 *范围小的选择器生效优先级高于范围大的选择器 css样式属性之间没有先后顺序,有这条属性就行 如果对盒子没有指定宽高,那么盒子的宽高,由其子元素来撑开 选择器+声明叫做一条css描述 缩进文本 p {text-indent: -5em;}//负位移 p {text-indent: 20%;}//百分数要参考父元素的宽度.只影响第一行,举例,如果将缩进值设置为 20%,元素的第一行会缩进 20%(参考其父元素宽度的). 水平对齐 text-align:c

css文本格式详解

一.css文本主体内容: 二.css文本详解:  1.文本缩进 语法: text-indent:<length>|<percentage> 默认值为0. 属性值详解: <length>:用长度值指定文本的缩进.可以为负值.   <percentage>:用百分比指定文本的缩进.可以为负值. <inherit>:继承父级text-indent属性值. 用法: 检索或设置对象中的文本的缩进. 内联对象要使用该属性必须先使该对象表现为块级或内联块级.