Css自动换行 背景固定 JS取CSS值

来源:互联网 发布:虚拟服务器软件 编辑:程序博客网 时间:2024/05/02 02:26

1. 实现页面背景不动的方法: background-attachment : fixed / scroll / inherit

2. JS获取Css样式类值:

IE: 

方法一:obj.currentStyle["attribute"] ; //获取的是最终应用在元素上的所有CSS属性对象,但只适用于IE;

方法二:obj.getAttribute("Css属性名·");

     

IE9 / FF / Chrome: 

方法一:document.defaultView.getComputedStyle("元素对象","伪类")["attribute"] ; 

方法二:getPropertyValue("Css属性");

   我们使用element.style也可以获取元素的CSS样式声明对象,但是其与getComputedStyle方法还有有一些差异的。

  1. 只读与可写
    正如上面提到的getComputedStyle方法是只读的,只能获取样式,不能设置;而element.style能读能写,能屈能伸。
  2. 获取的对象范围
    getComputedStyle方法获取的是最终应用在元素上的所有CSS属性对象(即使没有CSS代码,也会把默认的祖宗八代都显示出来);而element.style只能获取元素style属性中的CSS样式。因此对于一个光秃秃的元素<p>getComputedStyle方法返回对象中length属性值(如果有)就是190+(据我测试FF:192, IE9:195, Chrome:253, 不同环境结果可能有差异), 而element.style就是0

3. 关于vertical-align属性,vertical-align属性是不适用于块元素的,这就是为什么有些人使用vertical-align属性无效的原因。但是我们可以使用display属性,设置其值为table-cell,将块元素转化为单元格,然后再使用vertical-align属性。需要注意的是,上面这种方法是存在兼容性问题的。IE6以及以IE为核心的浏览器如世界之窗、360、遨游等浏览器不支持这种用法,而Chrome、火狐却能支持。

4.关于自动换行的问题

其实只要在表格控制中添加一句
<td style="word-break:break-all">就搞定了。
其中可能对英文换行可能会分开一个单词问题:解决如下:
语法: 
word-break : normal | break-all | keep-all 
参数: 
normal :  依照亚洲语言和非亚洲语言的文本规则,允许在字内换行 
break-all :  该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本 
keep-all :  与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本 

<br>是软回车,就是换行后还是紧接着上一行,没有</br> 
<p>是段落标签,由于例如居中、缩进等标签都是以段落为单位的,所以它可比<br>有更多作用,但每次换行都会多空一行,有</p> 

除此之外,例如表格、表单、水平线等都是强制换行,就是紧接着的标签前无论有没有换行标签,都强制换行。

注意:在Table中可能出现连续字符很长的情况,这样就会把表格撑宽,可以参考使用 table-layout:fixed属性来固定表格宽度。

原创粉丝点击