css中的white-space用来处理布局过程中元素内的空白符。
white-sapce:
normol: 默认值,空白会被浏览器忽略。
<head>
<title>WhiteSpace</title>
<style type = "text/css">
span {
white-space: normal;
background: silver;
}
</style>
</head>
<body>
<span>
Some text。
Some text。
Some text。
</span>
</body>
</html>
运行结果:
元素标签<span>两端的空白符被忽略,但字符之间的空白保留。
pre: 元素之间的空白符不被忽略。类似HTML标签中的<pre>
<head>
<title>WhiteSpace</title>
<style type = "text/css">
span {
white-space: normal;
background: silver;
}
</style>
</head>
<body>
<span>
Some text。
Some text。
Some text。
</span>
</body>
</html>
运行结果(火狐):
可以看到标签元素<span>之间的空白符被保留了。
nowrap: 文本不会换行,文本会在一行之间继续,直到遇到<br />标签
<head>
<title>WhiteSpace</title>
<style type = "text/css">
span {
white-space: nowrap;
background: silver;
}
div {
width: 200px;
background: gold;
padding: 10px;
}
</style>
</head>
<body>
1). 'left' 和 'right' 的设定值都是 "auto"
如果 'left' 和 'right' 的值都是 "auto" (它们的初始值),计算后的值( computed value )为 0(例如,框区留在其原来的位置)。
2). 'left' 或 'right' 其一的设定值为 "auto"
如果 left 为 ‘auto’,计算后的值(computed value)为 right 的负值(例如,框区根据 right 值向左移)。 如果 right 被指定为 ‘auto’,其计算后的值(computed value)为 left 值的负值。
示例代码:
<div ></div>上述代码中,DIV 元素是相对定位的元素,它的 'left' 值是 "100px", 'right' 没有设置,默认为 "auto",那么,'right' 特性计算后的值应该是 -left,即 "right:-100px"。
3). 'left' 和 'right' 设定值都不是 "auto"
如果 'left' 和 'right' 都不是 "auto",那么定位就显得很牵强,其中一个不得不被舍弃。如果包含块的 'direction' 属性是 "ltr", 那么 'left' 将获胜,'right' 值变成 -left。如果包含块的 'direction' 属性是 ‘rtl’,那么 'right' 获胜,'left' 值将被忽略。
示例代码:
<div ><div ></div>
</div>
最后,'left' 应该比较强悍才对。
'top' 和 'bottom' 的特性值
'top' 和 'bottom' 特性将相对定位元素向上或者向下移动,而不改变其大小。'top' 把框向下移动,而 'bottom' 将其向上移动。 由于 'top' 和 'bottom' 没有造成框被拆分或者拉伸,计算值总是 top=-bottom,如果两个都是 "auto",其计算值就都是 0,如果其中之一是 auto,它就是另一个的负值。 如果都不是 "auto",'bottom' 被忽略,这时,'bottom' 的计算值会是 'top' 值的负值。
本文链接
所谓插入框就是元素的display属性为run-in的元素所形成的的框,它在另一篇文章《css的display属性》有介绍。
注意:插入框仍从原来的父元素哪里继承属性。
本文链接