您的位置:首页 > Web前端 > JQuery

文本有关的样式和jQuery求对象的高宽问题

2013-08-28 17:02 127 查看
WEB开发经常会用到有关文处理本有关的问题,这里结合使用情况总结一下,同时还有jQuery求对象的高度问题,分别说明如下:

一,CSS中有关文本的样式

1, word-break: normal | keep-all | break-all

设置或检索单词在容器边界处的处理方式,是否允许单词内换行;

normal: 浏览器默认处理方式;

keep-all:遇到容器边界处,单词内不换行;

break-all:遇到容器边界处,单词内可换行,即单词断开换行显示;

2, word-wrap: normal | break-word

设置或检索当内容超过指定容器的边界时是否断行;

normal: 当内容超出容器边界时,内容可以顶开或溢出容器的边界;

break-word: 当内容超出容器边界时,内容将在容器边界处换行;

3,white-space: normal | pre | nowrap | pre-wrap | pre-line

设置或检索对象内空格的处理方式;

normal: 浏览器默认的处理方式;

pre: 不合并空白,内容多超出容器边界也不换行;

nowrap: 强制一行内显示所有文本,合并多余的空白,直到文本结束或遇到br对象;

pre-wrap: 不合并文本间空白,内容多时在遇到边界处换行;

pre-line: 不保留文本间的空白,内容多时遇到边界处换行;

4,text-transform: none | capitalize | uppercase | lowercase | full-width

检索或设置对象中的文本的大小写;

none: 保留原样,不转换;

capitalize: 每个单词首字母转成大写;

uppercase: 单词全转成大写;

lowercase: 单词全转成小写;

full-width: 所有文本转变成fullwidth形式,没有对应的fullwidth形式则保留原样。

5,text-overflow: clip | ellipsis

设置检索文本超出容器边界处的处理方式;

clip: 当内容超出边界时,超出部分被剪切;

ellipsis: 当内容超出边界时,超出部分用省略号表示;

注意:该属性需要设置white-space=nowrap, overflow=hidden才起作用,且这两个属性放在text-overflow之前;

6,text-indent: <length> | <percentage> [ hanging || each-line ]

检索或设置对象中的文本的缩进;

length: 文本缩进指定长度值,可以为负值。

percentage:文本缩进指定百分比值,可以为负值。

hanging: 定义缩进作用在块容器的第一行或者内部的每个强制换行的首行,软换行不受影响;

each-line: 反向所有被缩进作用的行;

如: p{text-indent:2em each-line}

7,line-height: normal | <length> | <percentage> | number

检索或设置对象的行高,即文本字符的最低到最顶之间的距离;

normal: 默认允许内容顶开或一出指定的容器;

length: 用指定数值指定行高,可为负数;

percentage: 用指定百分比指定行高,可为负数;

number: 用乘积因子指定行高,可为负数;

举例:

<div style="border:1px solid red; width:500px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">

这里文本超出容器时将用显示省略号显示, text... text... abc66666666666666666666666

</div>

在iPad上用CSS控制显示 X 行,多出时显示省略号,关键的CSS如下:

display:-webkit-box;
-webkit-line-clamp:2; /* 最多显示2行 */
-webkit-box-orient:vertical;
overflow:hidden;


二,jQuery获取DOM对象的高宽问题

高度有关的方法有: height(),
outerHeight()
, outerHeight(true), 宽度有关的方法有:width(),outerWidth(),
outerWidth(true)

假如有id=div_id的div对象,那求出各种宽高如下:

1. $("#div_id").height() / $("#div_id").width(); // 获得的是该div本身的高 / 宽度, (不包含padding,margin,border)

2. $("#div_id").outerHeight() / $("#div_id").outerWidth(); // 包含该div本身的高 / 宽度, padding上下的高 / 宽度, 以及border上下的高 / 宽度(不包含margin的高 / 宽度)

3. $("#div_id").outerHeight(true) / $("#div_id").outerWidth(true); // 包含该div本身的高 / 宽度, 以及padding,border,margin上下的总高 / 宽度

举例:

<div id="testDiv" style="margin:10px 5px; width:600px; padding:10px 20px; height:60px; border:2px solid red; font-family:arial,verdana;">
div info: height : 30px, width : 500px, padding:10px 20px; margin:10px 5px,
</div>
<input type="button" value="TEST" id="btnTest" onclick="testHeight();"/>
<script type="text/javascript">
function testHeight(){
var obj = $('#testDiv');
alert('obj height = ' + obj.height() + '\nobj outerHeight = ' + obj.outerHeight() + '\nobj outerHeight(true) = ' + obj.outerHeight(true));
alert('obj width = ' + obj.width() + '\nobj outerWidth = ' + obj.outerWidth() + '\nobj outerWidth(true) = ' + obj.outerWidth(true));
}
</script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: