JS如何调用CSS样式表呢?

JS如何调用CSS样式表呢?,第1张

举例1:
<li onmouseover='thisclassName='AAAAA'' onmouseout='thisclassName='BBBBB''>
鼠标经过 样式表变化 可用于 颜色变化等
举例2:
用户名:<input type="button" class="input1" onclick="thisclassName='input2'">
鼠标点击 样式表变化
或者 单独写一个javascript函数
举例3:
<script language=javascript>
function ChangeStyle(idName,StyleName){
documentgetElementById(idName)className=StyleName
}
</script>
<input type=button onclick="ChangeStyle(Text1,"div2")" vaule="变换">
<div id=Text1 class=div1>啊哈哈哈哈</div>

你说的是浏览器前缀吧。
兼容的方法就是全部写上,浏览器不识别的就会自动忽略了,比如边框圆角的css3属性:
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
-o-border-radius: 10px;
border-radius: 10px;
各浏览器前缀如下表,更全的你到mozilla的MDN里查:
前缀 浏览器
-webkit-chrome、safari
-moz-  firefox
-ms- IE
-o- opera
还有一个更简单的方法,是用prefixfreejs这个插件,引入后它会自动检测并添加兼容前缀,这样你写的时候都不用加,这个插件在GitHub上有,你去搜下吧。

这个可以用CSS实现就好了。不必要使用JS
放大效果的话,建议用一个额外的 div层放置放大后的,这样布局就不会乱了。鼠标放上去就显示这个层。
img2{
/这里写你的所有都会用到的样式/
}
img2:first-child, img2:last-child{
/这里写第一个和最后一个会用到的样式/
}
img1:hover showBigImg{
display:block;
}
对于这个大图的div层的显示,可以稍加js控制,这样就可以所有共用一个div层来放置大图。
希望能帮助到你

JavaScript访问修改样式表,可以方便的动态修改页面:
一、访问元素中style属性的CSS样式
这个可以直接使用style对象方便的访问,例如:
<div id = "mdiv" style="background-color:blue;"></div>
访问CSS的方法是:
<script type="text/javascript">
//获得元素
var oDiv = documentgetElementyId("mdiv");
//访问元素的style对象,再访问对象中的属性,也可以修改属性的值,直接为他赋值
alert(oDivstylebackgroundColor);
</script>
二、访问外部定义的CSS样式(类定义的CSS样式)
这个没法使用上面的方法去访问,因为CSS数据不是存储在style属性中,它是存储在类中的。
访问方法:先取得定义类的样式表的引用,用documentstyleSheets集合实现这个目的,这个集合包含HTML页面中所有的样式表,DOM为每个样式表定义一个cssRules的集合,这个集合中包含定义在样式表中的所用CSS规则(注意:Mozilla和Safasi中是 cssRules,而IE中式rules)。
例如:
<style>
/第一条规则/
divss{
background-color:red;
width:101px;
}
/第二条规则/
abtn2{
background:url(imag/2-AccessCtljpg);
}
</style>
访问CSS:
var ocssRules = documentstyleSheets[0]cssRules||documentstyleSheets[0]rules;
//访问第一条规则
alert(ocssRules[0]stylebackgroundColor);
//设置值
ocssRules[0]stylewidth = "992px";
//访问第二条规则
alert(ocssRules[1]stylebackground);
//设置值
ocssRules[0]stylebackground = "url(imag/3-backjpg);";
以上内容是百度出来的

JavaScript动态建立或增加CSS样式表,参考如下:

1、简单的方法:

documentcreateStyleSheet()cssText = '标签{color:red;' +  
    // 这个注释只在当前JS中帮助理解,并不会写入CSS中  
    'width:300px;height:150px}' +  
    '类名{……}' +  
    '#ID们{……}'

2、比较完美的方法,防止重复添加,通过添加样式表ID并对其判断来实现:

if (!documentstyleSheets['要建立的样式表ID如theforever']) { //先检查要建立的样式表ID是否存在,防止重复添加  
 var ss = documentcreateStyleSheet();  
 ssowningElementid = '要建立的样式表ID如theforever';  
 sscssText = '标签{display:inline-block;overflow:hidden;' +  
  // 这个注释只在当前JS中帮助理解,并不会写入CSS中  
  'text-align:left;width:300px;height:150px}' +  
  '类名{……}' +  
  '#ID们{……}'  
 ;  
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13403665.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存