CSS中控制换⾏的四种属性
⼀、white-space
可以实现HTML中PRE标签的效果,以及单元格的noWrap效果,点此查看⽰例。
Example Source Code
语法:
white-space : normal | pre | nowrap
取值:
normal:默认值。默认处理⽅式。⽂本⾃动处理换⾏。假如抵达容器边界内容会转到下⼀⾏
pre:换⾏和其他空⽩字符都将受到保护。这个值需要IE6+或者 !DOCTYPE 声明为 standards-compliant mode ⽀持。如果 !DOCTYPE 声明没有指定为 standards-compliant mode ,此属性可以使⽤,但是不会发⽣作⽤。结果等同于 normal 。参阅 pre 对象
nowrap:强制在同⼀⾏内显⽰所有⽂本,直到⽂本结束或者遭遇 br 对象。参阅 noWrap 属性
说明:
设置或检索对象内空格字符的处理⽅式。
空格字符,像换⾏,空格,TAB,在HTML⽂档中默认的是被忽略的。当此属性设置为 normal 或者 nowrap 时,你可以使⽤不换⾏空格的命名实体来添加空格,⽤ br 元素来添加换⾏。此属性对你使⽤⽂档对象模型(DOM)操作的内容的影响与其对IE显⽰内容的影响⼀样。
此属性作⽤于块对象。
相关样式:
text-overflow
将它与white-space结合使⽤就不⽤再写程序来判断字符串长度了,点此查看⽰例。
Example Source Code
语法:
text-overflow : clip | ellipsis
取值:
clip:默认值。不显⽰省略标记(…),⽽是简单的裁切
ellipsis:当对象内⽂本溢出时显⽰省略标记(…)
说明:
设置或检索是否使⽤⼀个省略标记(…)标⽰对象内⽂本的溢出。
这个属性仅仅作⽤于⽔平内联⽅向的,普通的西⽅⽂本的溢出。内联溢出发⽣在⾏内的⽂本超出可⽤宽度却没有换⾏机会的时候。
要强制溢出发⽣并且应⽤ ellipsis 值,作者必须设置对象的 white-space 属性值为 nowrap 。
假如没有换⾏机会(例如,对象容器的宽度是狭窄的,⽽内有很长的没有合理断⾏的⽂本),没有应⽤ nowrap 也有可能溢出。
为了使 ellipsis 值被应⽤,此属性必须被设置到具有不可视区域的对象。最好的选择是设置 overflow 属性为 hidden 。设置 overflow 属性为 scroll 或者 auto 时,此属性也会应⽤。但是会有滚动条出现。
通过选择省略标记,隐藏的⽂本可以被选择。当选择发⽣时,省略标记会隐藏⽽被⽂本替换。
此属性为在DHTML中制作省略标记提供了⾼效的⽅法。
⽀持⽕狐:
<style type="text/css">
#container
{
width: 30%;
border: 1px solid #005fb0;
background: #e0f1ff;
}
.nn
{
width: 100%;
overflow: hidden;
white-space: nowrap;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
}
.mm:not(p)
{
clear: both;
}
/
* wtf is? pls let me know*/
.mm:not(p) .nn
{
max-width: 85%;
float: left;
}
.mm:not(p):after
{
content: "...";
float: left;
width: 25px;
padding-left: 5px;
color: #df3a0e;
}
</style>
<div id="container">
<div class="mm">
<div class="nn">
测试1234567890测试1234567890测试1234567890测试测试1234567890测试1234567890测试1234567890测试测试1234567890测试1234567890测试1234567890测试</div>
</div>
</div>
⼆、word-break
最常⽤的控制换⾏属性,常与下⾯的word-wrap结合使⽤,点此查看⽰例。
Example Source Code
语法:
word-break : normal | break-all | keep-all
取值:
normal:默认值。允许在词间换⾏
break-all:该⾏为与亚洲语⾔的 normal 相同。也允许⾮亚洲语⾔⽂本⾏的任意字内断开。该值适合包含⼀些⾮亚洲⽂本的亚洲⽂本
keep-all:与所有⾮亚洲语⾔的 normal 相同。对于中⽂,韩⽂,⽇⽂,不允许字断开。适合包含少量亚洲⽂本的⾮亚洲⽂本
说明:
设置或检索对象内⽂本的字内换⾏⾏为。尤其在出现多种语⾔时。
对于中⽂,应该使⽤ break-all 。
三、word-wrap
如果你设计的⽹页不是⾃适应宽度的话,需要将它设置为break-word,否则可能出现版快错开的情况,点此查看⽰例。
Example Source Code
语法:
word-wrap : normal | break-word
取值:
normal:默认值。允许内容顶开指定的容器边界
break-word:内容将在边界内换⾏。如果需要,词内换⾏( word-break )也将发⽣
说明:
设置或检索当当前⾏超过指定容器的边界时是否断开转⾏。
此属性仅作⽤于有布局的对象,如块对象。内联要素要使⽤该属性,必须先设定对象的 height 或 width 属性,或者设定 position 属性为 absolute ,或者设
定 display 属性为 block 。
四、overflow,overflow-x,overflow-y
这个不是严格意思上的控制换⾏样式,但在某些时候将它设置为hidden可以补充word-wrap的不⾜,⽐⽅你想在限制宽度⾥仅显⽰⼀⾏⽂字,⽽这⾏⽂字的长度却超过这个宽度,结合white-space+text-overflow可以达到更好的效果,点此查看⽰例。
Example Source Code
语法:
overflow : visible | auto | hidden | scroll
取值:
visible:默认值。不剪切内容也不添加滚动条。假如显式声明此默认值,对象将以包含对象的 window 或 frame 的尺⼨裁切。并且 clip 属性设置将失效
auto:在必需时对象内容才会被裁切或显⽰滚动条
hidden:不显⽰超过对象尺⼨的内容
scroll:总是显⽰滚动条
说明:
检索或设置当对象的内容超过其指定⾼度及宽度时如何管理内容。
所有对象的默认值是 visible ,除了 textarea 对象和 body 对象的默认值是 auto 。设置 textarea 对象此属性值为 hidden 将隐藏其滚动条。
对于 table 来说,假如 table-layout 属性设置为 fixed ,则 td 对象⽀持带有默认值为 hidden 的 overflow 属性。如果设为 scroll 或者 auto ,那么超出 td 尺⼨的内容将被剪切。如果设为 visible ,将导致额外的⽂本溢出到右边或左边(视 direction 属性设置⽽定)的单元格。
⾃IE5开始,此属性在MAC平台上可⽤。
⾃IE6开始,当你使⽤ !DOCTYPE 声明指定了 standards-compliant 模式,此属性可以应⽤于 html 对象。
⽀持⽕狐⽂本溢出显⽰省略号:
Java代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>ellipsis</title>
<style>
.demo{
margin:10px;
border:1px solid #ccc;
float:left;
width:115px;
overflow:hidden;
white-space:nowrap;
-o-text-overflow:ellipsis;
text-overflow:ellipsis;
-moz-binding: url('l#ellipsis');
}
</style>
</head>
<body>
<div class="demo">
short
</div>
css中的position属性<div class="demo">
this is test,this is test,this is test,this is test,this is test,this is test
</div>
</body>
</html>
另外还有⼀个xml⽂件,如下:
Java代码
<?xml version="1.0" ?>
<bindings xmlns="" xmlns:xbl="" xmlns:xul="">
<binding id="ellipsis">
<content>
<!--<xul:window>-->
<xul:description crop="end" xbl:inherits="value=xbl:text"><children/></xul:description> <!--</xul:window>-->
</content>
</binding>
</bindings>
PS:
1.词内换⾏:word-break: break-all; word-wrap: break-word;
2.HTML5长度判定:text-overflow: ellipsis; white-space: nowrap; overflow: hidden;
3.⽂本两端对齐:text-align:justify; text-justify:inter-ideograph;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论