详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp29

用JS控制CSS基本样式的方法

CSS code

.class1

{

width:10px;

background-color: red;

}

HTML code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<link rel="stylesheet" type="text/css" href="abc.css" />

<TITLE> New Document </TITLE>

<script>

window.onload=fnInit;

function fnInit(){

// 访问 styleSheet 中的一条规则, 将其 backgroundColor 改为蓝色。

var oStyleSheet=document.styleSheets[0];

var oRule=oStyleSheet.rules[0];

oRule.style.backgroundColor="#0000FF";

}

</script>

</HEAD>

<BODY>

<div class="class1">aaa</div>

</BODY>

</HTML>

(2)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

<style type="text/css">

<!--

#apDiv1 {

position:absolute;

width:399px;

height:195px;

z-index:1;

border:1px solid #000;

background-color:#CCCCCC;

}

-->

</style>

<script>

window.onload = function(){

alert(document.getElementById('apDiv1').currentStyle.width)

}

</script>

</HEAD>

<BODY>

<div id="apDiv1">aaa</div>

</BODY>

</HTML>

还可以用   document.styleSheets(i).href   可以知道当前页面中引用的每个css的文件!

另:CSS属性与JavaScript编码对照表

(一定要注意, 上次本人_何向阳,在使用js修改css的中margin-left属性时,总报"left"未定义,后来,找了好多资料,才发现在js中,margin-left的写法为:marginLeft,恍然大悟,希望遇到相同问题的朋友,谨慎对待。)

CSS与JS紧密配合,为我们的页面增添了很多别致的效果。为了达到某种特殊的效果我们需要用Javascript动态的去更改某一个标签的CSS属性。

    比如:鼠标经过一个图片时我们让图片加一个边框,代码可能是这样:JavaScript中style后面的属性应该是什么?

<script type="text/javascript">  

function imageOver(e) {  

e.style.border="1px solid red";  

}  

function imageOut(e) {  

e.style.borderWidth=0;  

}  

</script>

<img src="css.png" onmouseover="imageOver(this)" onmouseout="imageOut(this)" />

    JavaScript CSS Style属性对照表

    盒子标签和属性对照

CSS语法 (不区分大小写)   JavaScript语法 (区分大小写)

border   border

border-bottom   borderBottom

border-bottom-color   borderBottomColor

border-bottom-style   borderBottomStyle

border-bottom-width   borderBottomWidth

border-color   borderColor

border-left   borderLeft

border-left-color   borderLeftColor

border-left-style   borderLeftStyle

border-left-width   borderLeftWidth

border-right   borderRight

border-right-color   borderRightColor

border-right-style   borderRightStyle

border-right-width   borderRightWidth

border-style   borderStyle

border-top   borderTop

border-top-color   borderTopColor

border-top-style   borderTopStyle

border-top-width   borderTopWidth

border-width   borderWidth

clear   clear

float   floatStyle

margin   margin

margin-bottom   marginBottom

margin-left   marginLeft

margin-right   marginRight

margin-top   marginTop

padding   padding

padding-bottom   paddingBottom

padding-left   paddingLeft

padding-right   paddingRight

padding-top   paddingTop

颜色和背景标签和属性对照

CSS语法 (不区分大小写)   JavaScript语法 (区分大小写)

background   background

background-attachment   backgroundAttachment

background-color   backgroundColor

background-image   backgroundImage

background-position   backgroundPosition

background-repeat   backgroundRepeat

color   color

样式标签和属性对照

CSS语法 (不区分大小写)   JavaScript语法 (区分大小写)

display   display

list-style-type   listStyleType

list-style-image   listStyleImage

list-style-position   listStylePosition

list-style   listStyle

white-space   whiteSpace

文字样式标签和属性对照

CSS语法 (不区分大小写)   JavaScript语法 (区分大小写)

font   font

font-family   fontFamily

font-size   fontSize

font-style   fontStyle

font-variant   fontVariant

font-weight   fontWeight

文本标签和属性对照

CSS语法 (不区分大小写)   JavaScript语法 (区分大小写)

letter-spacing   letterSpacing

line-break   lineBreak

line-height   lineHeight

text-align   textAlign

text-decoration   textDecoration

text-indent   textIndent

text-justify   textJustify

text-transform   textTransform

vertical-align   verticalAlign

obj.style方法,这个方法只能JS只能获取写在html标签中的写在style属性中的值(style="..."),看一下代码

XML/HTML代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<title>JS获取CSS属性值</title> 

<style type="text/css"> 

<!--

.ss{color:#cdcdcd;}

--> 

</style> 

</head> 

<body> 

<div id="css88" class="ss" style="width:200px; height:200px; background:#333333">JS获取CSS属性值</div> 

<script type="text/javascript"> 

alert(document.getElementById("css88").style.width);//200px  

alert(document.getElementById("css88").style.color);//空白  

</script>     

</body> 

</html>

上面这个例子对id为"css88"的div设置了2种烦事的样式,包括style和外部样式class。

从alert出来的信息可以看到,document.getElementById("css88").style方法获取不到class为ss的属性和值。

那么这么样才能获取到class为ss的属性和值呢?

IE中使用的是obj.currentStyle方法,而FF是用的是getComputedStyle 方法。

网上一个比较方法是:

XML/HTML代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

<title>S获取CSS属性值</title> 

<style type="text/css"> 

<!--

.ss{background:blue; color:#cdcdcd; width:200px}

--> 

</style> 

</head> 

<body> 

<p id="qq" class="ss" >sdf</p> 

<script type="text/javascript"> 

function GetCurrentStyle (obj, prop) {    

if (obj.currentStyle) {       

return obj.currentStyle[prop];    

}     

else if (window.getComputedStyle) {       

propprop = prop.replace (/([A-Z])/g, "-$1");          

propprop = prop.toLowerCase ();       

return document.defaultView.getComputedStyle (obj,null)[prop];    

}     

return null;  

}  

var dd=document.getElementById("qq");  

alert(GetCurrentStyle(dd,"width"));  

</script> 

</body> 

</html>

当然,如果您是引用外部的css文件同样适用。

另:可以将上面的方法简化为

JavaScript代码

function getDefaultStyle(obj,attribute){ // 返回最终样式函数,兼容IE和DOM,设置参数:元素对象、样式特性  

return obj.currentStyle?obj.currentStyle[attribute]:document.defaultView.getComputedStyle(obj,false)[attribute];  

}

用JS控制CSS基本样式的更多相关文章

  1. JS 控制CSS样式表

    JS控制CSS所使用的方法: <style> .rule{ display: none; } </style> 你想要改变把他的display属性由none改为inline.  ...

  2. 用js控制css属性

    在用js控制css属性时,行内css属性可以任意控制,但若是在<style></style>中写的css属性,均不能用alert读取,但是赋值却有几种现象, 第一种:无法读取, ...

  3. JS控制css float属性的用法经验总结

    JavaScript与CSS属性的控制网上很常见,因此来说用js操作css属性是有一定规律的. 1.对于没有中划线的css属性一般直接使用style.属性名即可. 如:obj.style.margin ...

  4. 解决页面js、css代码样式失效

    解决方式 根据地址不同的层级深度,加上对应的 " . . / "(不推荐): 去掉所有的 " . . / ", 在js或css的路径前 加上 " / ...

  5. Vue.js 控制css样式

    <script src="https://unpkg.com/vue/dist/vue.js"></script> <style type=" ...

  6. js控制伪元素样式

    //获取伪元素// CSS代码 #myId:before { content: "hello world!"; display: block; width: 100px; heig ...

  7. tp5.0:替换修改js、css等样式文件路径

    首先, 我们要知道,TP5已经不支持绝对路径访问样式文件啦!所以我们不必去花时间去找使用$_SERVER来获取 手册位置:模板->内置标签->资源文件加载 方法一: 过程: 1.首先在模块 ...

  8. JS——控制标记的样式

    1.定义一个div,宽度为100px,高度为100px,背景色为粉色. 定义一个事件,鼠标移入时背景色变为蓝色,宽度变为200px. 定义一个事件,鼠标移出时背景色变为红色. html文件: < ...

  9. js控制css时注意

    font-size:10px--------e.style.fontSize="10px " 属性名:font-size--------fontSize; 属性值:10px---- ...

随机推荐

  1. AT NEW 和 AT END OF 的用法

    第一条记录:col1='1000',col2='AAA1',col3=1 第二条记录:col1='1000',col2='AAA2',col3=2 第三条记录:col1='2000',col2='AA ...

  2. [技术] OIer的C++标准库 : 字符串库<string>

    引入 上次我在博客里介绍了OI中可能用到的STL中的功能, 今天我们接着来发掘C++标准库中能为OI所用的部分. 众所周知, OI中经常用到字符串相关的处理, 这时善用字符串库可以使一些操作更加简洁易 ...

  3. HTML表单操作的记录

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. crm踩坑记(二)

    Linux tmux 如何查看 tmux如何进行滚动呢? prefix + [, prefix为tmux的前置动作,默认是ctrl + b. 使用方向键或者pageUp来进行翻页. q可以退出滚动模式 ...

  5. Java微信公众平台开发之OAuth2.0网页授权

    根据官方文档点击查看在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的"开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息"的配置选项中,修 ...

  6. MySQL- 5.7 sys schema笔记

            如果转载,请注明博文来源: www.cnblogs.com/xinysu/   ,版权归 博客园 苏家小萝卜 所有.望各位支持!       performance_schema提供监 ...

  7. Webapi文档描述-swagger优化

    一.前言 最近做的项目使用WebApi,采取前后端分离的方式,后台提供API接口给前端开发人员.这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员,最初打算使用word.Xmind思 ...

  8. [C#] out vs ref

    当需要从一个方法中有多个返回值时可以考虑使用out和ref这两个关键字.下面通过代码的方式来说明两者的用法和不同之处. 例如现在有一个如下的Add方法,Add方法只有一个返回值. static int ...

  9. JavaScript正则表达式检验与递归函数实际应用

    JS递归函数(菲波那切数列) 实例解析: 一组数字:0  1  1  2  3  5  8  13                 0  1  2  3  4  5  6  7 sl(0)=0; sl ...

  10. 总结一些php的面试题

    1.PHP语言的一大优势是跨平台,什么是跨平台?一.PHP基础: PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows.Linux等)上配置,不 ...