`
jialonely
  • 浏览: 19894 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

js修改css样式表解析(转)

阅读更多
js修改css样式表解析(转)
2009-12-30 14:57

abc.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];   
}

分享到:
评论

相关推荐

    CSS样式表中文手册

    **CSS(层叠样式表)**是网页设计中不可或缺的一部分,它用于定义网页内容的外观、布局和结构。本资源包含一系列中文手册,帮助开发者深入理解CSS的核心概念和技巧。 1. **Cascading Style Sheet 样式表中文手册**...

    如何用JavaScript实现动态修改CSS样式表_.docx

    在本文中,我们将深入探讨如何使用 JavaScript 动态修改 CSS 样式表,从而实现对网页外观的实时更新。 首先,我们需要理解 CSS 样式表是如何工作的。CSS(Cascading Style Sheets)用于定义 HTML 或 XML(包括如 ...

    css样式表中文手册

    **CSS(层叠样式表)**是用于定义网页元素外观和布局的一种语言,它与HTML或XML等结构化语言一起工作,为网页带来丰富的视觉效果和动态交互性。本手册全面介绍了CSS的基础知识、选择器、属性、盒模型、布局方式、...

    Node.js-objectify-css将CSS规则转成JavaScript样式对象的CLI工具

    这个工具简化了处理 CSS 样式的过程,尤其适用于需要动态生成或修改样式表的场景,比如在服务器端渲染、CSS-in-JS 模式或者 Webpack 等构建工具中。 使用 `objectify-css`,你可以通过以下步骤将 CSS 文件转换为 ...

    用js动态改变css样式表.pdf

    在JavaScript中动态改变CSS样式表是一种常见的前端技术,它允许我们根据用户行为或者特定条件更改网页的视觉表现。本文将详细解析如何通过JavaScript实现页面样式表的切换,并探讨相关的关键知识点。 首先,为了...

    css样式表文档

    【CSS样式表文档】 在Web开发中,CSS(Cascading Style Sheets)样式表是一种用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的样式表语言。CSS能够分离网页的内容与表现,使得开发者可以更方便地...

    css样式表_深入透析样式表滤镜

    本文将深度解析CSS样式表滤镜,探索其强大功能及其应用技巧。 **一、CSS样式表滤镜概览** 样式表滤镜是CSS的一个扩展特性,允许开发者在HTML元素上添加可视化效果和转换,如图片、文本等。通过简单的语法,即可...

    js添加css样式小技巧

    ### js添加css样式小技巧 在前端开发过程中,经常需要使用JavaScript动态地为网页元素添加或修改CSS样式。本文将详细介绍几种使用JavaScript添加CSS样式的技巧,并解释它们的工作原理及适用场景。 #### 一、使用`...

    Ajax代码引用页面_样式表CSS

    在探讨“Ajax代码引用页面_样式表CSS”的主题时,我们深入分析了如何在动态网页中,尤其是在Ajax请求处理后,有效地引用和加载外部样式表(CSS)。这一过程对于实现网页元素的美观呈现、响应式设计以及提升用户体验...

    js获取样式表里面的内容

    在JavaScript(JS)中获取CSS样式表的内容是前端开发中常见的需求,这主要涉及到DOM(文档对象模型)操作和CSSOM(CSS对象模型)的应用。本文将深入探讨如何利用JavaScript来获取CSS样式表中的信息,特别是针对`...

    java控制css样式的读写

    CSS(层叠样式表)是用于定义HTML或XML(包括如SVG、MathML等各种XML方言)文档呈现的样式语言,而Java作为后端语言,可以通过多种方式与CSS进行交互,以实现动态修改网页样式的目的。下面我们将详细探讨如何在Java...

    Go-go-css用Go编写的一个非常简单CSS解析器

    在Web开发中,CSS(层叠样式表)是用于定义网页样式的标准语言。然而,有时我们可能需要对CSS进行处理,比如解析、转换或扩展功能,这时就需要用到CSS解析器。"Go-go-css"就是这样一个项目,它是一个使用Go语言编写...

    使用babel宏在构建时将CSS转换为ReactNative样式表

    `css-to-rn.macro`会解析`styles.css`中的规则,并生成一个与React Native样式表兼容的对象。注意,由于React Native不支持某些CSS属性,如`float`或`display: flex`,所以你可能需要根据React Native的样式规范进行...

    全国计算机类说课大赛一等奖:CSS样式表的使用教学设计.docx

    ### CSS样式表的使用教学设计知识点解析 #### 一、教材分析 **1. 知识内容分析** - **课程定位**: 本课程选自高等教育出版社的《网页设计与制作(HTML+CSS+JavaScript)》,重点讲解CSS的应用,旨在帮助学生理解...

    _[帮助文档大全][JS(VB)脚本+CSS样式表+JS案例大全].rar

    标题“_[帮助文档大全][JS(VB)脚本+CSS样式表+JS案例大全].rar”表明这是一个包含JavaScript (JS)、Visual Basic (VB)脚本和CSS样式的综合帮助文档集合。它是一个压缩文件,可能包含了多种教程、示例和指南,旨在...

    通过JS动态向网页中添加CSS样式语句代码

    在网页开发中,JavaScript(JS)是一种不可或缺的脚本语言,它允许我们与用户交互、处理数据、控制页面行为,包括动态地向网页中添加CSS样式。本文将深入探讨如何通过JS来动态创建和应用CSS样式,以及如何利用AJAX...

    使用Jsoup,抓取整个网站(包括图片、js、css)

    在这个项目中,我们使用Jsoup配合Java,实现了抓取整个网站的功能,包括其中的图片、CSS样式表和JavaScript文件。通过这样的工具,我们可以对网页进行离线浏览或者备份,甚至进行数据分析。 首先,我们要理解Jsoup...

    CSS层叠样式表在DHTML中的应用

    通过外部样式表,可以轻松更改整个网站的外观,而无需修改每个单独的HTML页面。 2. **减少源代码中的重复标注**:在没有CSS的时代,HTML中常常充斥着大量的内联样式,如`&lt;font&gt;`、`&lt;center&gt;`等,这使得代码冗余且...

    CSS下载软件CSS样式下载

    在IT领域,CSS(Cascading Style Sheets)是一种用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的样式表语言。它控制了网页的布局和外观,使得开发者可以分离内容与表现,使得网页设计更加灵活且易于...

Global site tag (gtag.js) - Google Analytics