`

用JS控制CSS基本样式

阅读更多
详见: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];  
}

分享到:
评论

相关推荐

    java控制css样式的读写

    以上就是关于“Java控制CSS样式的读写”的详细讲解,涵盖了从基本的文件操作到复杂的服务器端动态渲染的各种技术。通过灵活运用这些方法,开发者可以实现对CSS样式的全面控制,提升应用程序的用户体验和性能。

    js与css样式对照

    ### JS与CSS样式对照知识点详解 #### CSS样式与JavaScript属性对照表 在Web开发中,JavaScript经常被用来动态地修改CSS样式,实现页面元素的动态效果。为了方便开发者理解和使用,这里详细介绍了一些常用的CSS样式...

    云台控制器+css+jQuery+canvas

    在云台控制器中,jQuery可以用来监听用户的鼠标事件,如`mouseenter`和`mouseleave`,以便在用户将鼠标悬停在按钮上时触发相应的CSS样式改变。同时,jQuery的`.animate()`方法可用于创建平滑的过渡效果,比如按钮在...

    js改变css样式

    在本文中,我们将深入探讨如何使用JavaScript来动态地改变CSS样式,以实现如标题所示的效果——通过页面JS事件改变字体颜色和背景颜色。 首先,我们需要了解JavaScript的基本概念。JavaScript是一种解释型的、弱...

    Printer_js_css 纯js实现web打印服务,完全兼容

    Printer_js_css 提供了更高级的功能,例如预览、选择打印机、设置打印选项等,这些都是通过自定义的JavaScript代码和CSS样式来实现的。通过这种方式,我们可以确保打印出来的内容与屏幕显示的一致性,提高用户体验。...

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

    在前端开发中,CSS 是用于控制网页元素样式的重要技术,而JavaScript则常用于交互逻辑和动态效果。当需要在 JavaScript 中直接操作 CSS 规则时,将 CSS 转换为 JavaScript 对象就变得非常有用。 `objectify-css` 是...

    烟花效果JS+CSS+HTML

    总结来说,“烟花效果JS+CSS+HTML”是一个展示前端技术魅力的项目,通过HTML构建网页结构,CSS进行美化,JavaScript实现动态效果和交互。这个项目不仅展示了前端开发者的技能,也为网页设计提供了生动的创意元素。在...

    javascript Css 样式

    02 可能进一步讲解如何用JavaScript操作CSS,如动态添加CSS样式、读取和修改元素样式,以及使用CSS3的新特性。 03 可能涉及更高级的主题,如JavaScript与CSS动画的结合,事件监听和处理,以及如何实现更复杂的效果,...

    JS分页控件+CSS样式

    本文将详细介绍JavaScript(JS)实现的分页控件及其与CSS样式的结合应用。 一、JS分页控件的基本原理 JS分页控件主要是通过JavaScript来动态生成分页按钮,并处理用户点击分页按钮时的事件,以实现页面内容的切换。...

    js+css美化select,简单易用代码少,可以自己控制样式

    在这个场景中,JavaScript可以创建一个自定义的下拉菜单,模仿`&lt;select&gt;`的功能,同时允许我们完全控制其样式。例如,可以使用JavaScript监听`&lt;select&gt;`元素的事件,如`change`,并在用户做出选择时更新自定义菜单的...

    JS.CSS代码集合

    例如,一个基本的CSS样式可以改变元素的背景色和文字颜色: ```css .myElement { background-color: #f00; /* 红色背景 */ color: #fff; /* 白色文本 */ } ``` 还可能包括了CSS预处理器如Sass或Less的代码,它们...

    js控制CSS样式属性语法对照表

    CSS与JS紧密配合,为...下面就是JS 控制CSS样式表的语法对照: 盒子标签和属性对照 CSS语法(不区分大小写) JavaScript语法(区分大小写) border border border-bottom borderBottom border-botto

    DIV手工打造云台控制组件,适用场景广泛。八方向云台控制,近焦远焦控制,放大缩小控制html5 CSS.zip

    3. "1.html", "2.css", "3.js" 等未完全列出的文件,可能是组件的其他组成部分,"1.html" 通常是主页面文件,"2.css" 是样式表文件,定义了组件的外观,而"3.js" 很可能是包含组件逻辑的JavaScript脚本。 在开发...

    js css 模拟html下拉框

    在网页设计中,HTML的`&lt;select&gt;`元素通常用于创建基本的下拉框,但它的样式控制有限。为了实现更自定义的外观和交互效果,开发者常常会利用JavaScript(JS)和Cascading Style Sheets(CSS)来模拟HTML下拉框。这种...

    JS.css代码及教程

    1. **示例代码**:展示了如何用JS操作CSS的实例,包括改变样式、添加/移除类、控制动画等。 2. **教程文档**:详细讲解了JS与CSS交互的各种方法,帮助学习者理解如何结合两者进行网页开发。 3. **练习项目**:可能...

    JS控制打印指定div(且控制css样式)的一种另类思路

    打印指定div的插件并不多,使用JPrintArea进行指定div打印也并不好控制,此段js代码是在他人基础上融入了自己的想法,经过测试,纸张打印出来的样式在多个浏览器(ie6、ie7、ie8、火狐、谷歌)上可以做到基本统一,...

    天地图-离线地图使用的js和css

    CSS文件则可能包含了对地图界面元素样式的定制,如图层控制、比例尺、指北针等,以保证离线模式下的用户体验与在线状态接近。修改可能包括了对颜色、位置、大小等属性的调整,以适应内网应用的特定需求。 在实际...

    JS和CSS和C++互相调用

    标题 "JS和CSS和C++...JS通过DOM和CSSOM控制页面动态行为和样式,C++作为底层引擎提供高性能支持,而CSS则专注于页面布局和视觉表现。通过理解这些语言间的交互方式,开发者可以更好地构建高效、互动的Web应用程序。

    cssinjspackage用于将CSS转换为JS样式的Atom插件反过来也可以

    "cssinjspackage",即“css-in-js”插件,是一个专门为Atom编辑器设计的工具,它允许开发者将CSS样式转换为JavaScript代码,同时也支持反向操作,即将JavaScript样式还原为CSS。这个插件是JavaScript开发中,特别是...

    js+css3火焰燃烧动画特效

    3. `css`:同样是一个文件夹,通常包含CSS样式表文件,可能是`.css`格式。这些文件定义了火焰的外观,包括颜色、形状、阴影等,以及动画的关键帧,使得火焰在不同时间点有不同的状态,形成连续的燃烧动画。 在实现...

Global site tag (gtag.js) - Google Analytics