文本有关的样式和jQuery求对象的高宽问题分别说明_jquery

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>

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

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

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

复制代码 代码如下:

$("#div_id").height() / $("#div_id").width(); // 获得的是该div本身的高 / 宽度, (不包含padding,margin,border)
$("#div_id").outerHeight() / $("#div_id").outerWidth(); // 包含该div本身的高 / 宽度, padding上下的高 / 宽度, 以及border上下的高 / 宽度(不包含margin的高 / 宽度)
$("#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>

时间: 2024-10-04 18:58:41

文本有关的样式和jQuery求对象的高宽问题分别说明_jquery的相关文章

浅谈jQuery中对象遍历.eq().first().last().slice()方法_jquery

eq(index):将集合中的索引为index的元素提取出来. first():返回集合中的第一个元素. .last():防护集合中的最后一个元素. .slice(start[,end]):返回集合中的给定区间段的元素. first()和last()调用eq(),eq()通过slice()实现,slice()通过 .pushStack()实现. 相关源码 285行:用法很奇特,通过一个"+"把可能为字符串的i转换成一个数值. 300~301:先借用数组方法slice()从当前jQuer

使用jQuery在对象中缓存选择器的简单方法_jquery

 当使用像jQuery这样的库时,开发者通常会使用选择器来访问和操作DOM中的元素.当一个选择在页面上被反复的访问时,把它缓存起来以获得更好的性能是个不错的想法. 让我们看一个例子,   jQuery(document).ready(function() { jQuery('#some-selector').on('hover', function() { jQuery(this).fadeOut('slow').delay(400).fadeIn(); console.log(jQuery(t

jQuery实现布局高宽自适应的简单实例_jquery

在页面布局(layout)时经常是上左右的框架布局并且需要宽.高度的自适应,div+css是无法实现(*hegz: div+css其实是可以实现的,利用jQuery比较容易实现浏览器的兼容性),所以需要js来辅助. 主要通过 jQuery.resize() 这个方法,也就是当窗口大小改变时重新计算布局的高宽.其它直接看代码即可. Html代码 <div id="header"></div> <div id="left"></

jQuery获取对象简单实现方法小结_jquery

监控一个容器,当用户点击时弹出 代码如下 $(function(){ $("Element").click{function(){ alert("点击我哦!"); } } }); 基本对象获取(注意这里获取的都是Jquery对象而不是Dom对象哦,但是他俩是可以转换滴) 代码如下 复制代码 代码如下: $("*") '表示获取所有对象 但是我至今没这样用过 $("#XXX") '获得 id=XXX 的元素对象(id可以是标签的

thinkphp-php写的论坛,要怎么保留用户发帖文本的原有样式同时又能防注入呢?

问题描述 php写的论坛,要怎么保留用户发帖文本的原有样式同时又能防注入呢? 要防注入就不得不对用户输入的文本进行过滤,比如去掉一些标签什么的再存进数据库,但是这样一来再显示用户发帖内容的时候,原有的格式就被破坏了,麻烦各位老手指点应该怎么做.我用的thinkphp框架,还有kindeditor的插件,用I方法获取数据之后,那些什么加粗斜体颜色或者换行空格就都被破坏了. 解决方案 富文本内容要替换掉js代码主要防止xss,不是防止注入,防注入参数化写数据库就好了,或者将单引号替换为实体对象 正则

js-jquery mobel 1.4.5版本在ie7下样式显示不全求大神!!!

问题描述 jquery mobel 1.4.5版本在ie7下样式显示不全求大神!!! jquery mobel 1.4.5版本在ie7下样式显示不全求大神!!! 解决方案 jquery mobile是基于html5的,你在ie7下玩,怎么可能能正常呢. IE9,IE10起

android-Android使用TypefaceSpan给文本设置字体样式

问题描述 Android使用TypefaceSpan给文本设置字体样式 通过TypefaceSpan可以给文本设置字体样式,但是发现只能设置系统自带的字体,有没有方法能设置自己下载的字体呢? 解决方案 印象中的TextView: TextView 就是用于显示文本的控件,可以在布局文件中通过 android:text 属性设置需要现实的字符,或者通过Context对象的findViewById(XXX) 方法获得TextView对象后,通过setText()方法动态赋值,通过android:si

jQuery对象的链式操作用法分析_jquery

本文实例讲述了jQuery对象的链式操作用法.分享给大家供大家参考,具体如下: jQuery对象的链式操作 首先来看一个例子: 复制代码 代码如下: $("#myphoto").css("border","solid 2px#FF0000").attr("alt"," good"); 对一个jQuery对象先调用了css()函数修改样式,然后使用attr()函数修改属性,这种调用方式象链一样,所以称为&qu

CSS3改变选中文本的默认样式

浏览器选中文字的默认样式 每种浏览器的默认样式都不太一样,我用的是xp(我们就以xp 默认主题),当网页先中文后默认的背景色是一种蓝色,不同浏览器的颜色有些许差异,但大致相同,文字颜色也近乎白色,如下图所示: 在CSS3来没出现的时候,要改变页面上选中文字的背景色以及文字颜色,是一件相当甚至无法做到的事情.但是,随着CSS3到来,越来越多的浏览器认可并支持,一切又显得那么自然而然.虽然有些顽固的糟老头(如IE浏览器)还不认可这个新生的CSS3,但是,丝毫不影响其在其他浏览器上对UI的又一次改进.