一、CSS在页面中能够帮忙用户实现如下工作:

  • 显隐特效:借助CSS的display和visibility实现。再联合渐隐、渐显和各种动画序列,能够设计出简单的视觉效果
  • 尺寸缩放:应用CSS的width和height实现。在变形动画中常见,如设计图像、栏目、页面开展、膨胀等;动态控制指标对象的大小,设计变动的页面布局等
  • 对象定位:应用CSS的position、left、top、right、和bottom等,在位移动画中常见,如开发网页游戏
  • 视图管制:应用CSS的clip、overflow、visibility,能够动静的管制页面对象的显示方式和显示内容
  • 通明设计:应用CSS的opacity,个别与显隐、缩放、位移动画配合应用,加强渐进、渐弱成果
  • 对象成果:动静扭转字体款式、文本版式、网页布局版式等,设计图像特效等
  • UI交互:配合CSS+HTML,设计弱小性能的交互表格、交互表单,设计富裕变动的网页皮肤

二,引入css样式表的三种形式:

1)行内款式(内联款式)
概念:称行内款式、行间款式,是通过标签的style属性来设置元素的款式;

根底语法

<标签名 style="属性1:属性值1;属性2:属性值2;">内容</标签名>

毛病:没有实现款式和构造的拆散

2)外部样式表(内嵌样式表)

是将css代码集中写在HTML文档的head头部标签中,并且用style标签定义;

根底语法:

<head>    <style type="text/css">        div{            color: red;            font-size: 12px;        }    </style></head>

毛病:没有彻底拆散

3)内部样式表(外链式)

概念:是将所有的款式放在一个或多个以.css为扩展名的内部样式表文件中,通过link标签将内部样式表文件链接到HTML文档中;

根本语法:

<head>    <link rel="stylesheet" type="text/css" href="css文件门路"></head>

留神:

  • link是一个单标签;
  • link标签要放在head头部标签中,并且指定link的三个属性;

属性:

  • rel:定义以后文档与被链接文档之间的关系,在这里须要指定为"stylesheet",示意被链接的文档是一个样式表文件;
  • type:定义所链接文档的类型;
  • href:定义所有链接内部样式表文件的url,能够是绝对路径也能够是相对路径;

毛病:须要引入

次要讲讲行内款式

三、操作行内款式;

CSS的很多属性都时有复合名的,应用连字符“-”,如border-right 、margin-left等,但在脚本中(js代码)连字符会被定义为减号,会主动参数表达式的运算;解决这个问题 须要应用 小驼峰命名:borderRight 、marginLeft等

1,应用style对象:

elementNode.style.fontFamily="Arial,Helvetica,sans-serif";elementNode.style.cssFloat="left";//float是js中的保留字,须要应用cssFloat来示意float属性elementNode.style.color="#ff0000";elementNode.style.width="100px";//单位不能脱漏elementNode.style.top=top+"px";//设置动静属性

2,应用getPropertyValue()办法,晚期IE不反对,但间接应用elementNode.style.width拜访款式属性:

var value=elementNode.style.getPropertyValue(propertyName)

例:

window.onload = function(){var  box = document.getElementById("box");//获取<div id="box">var  width = box.style.getPropertyValue("width");<=>var width = box.style.widthbox.innerHTML = "盒子宽度:"+width;var marginLeft=box.style.getPropertyValue("margin-left"); //须要连字符的款式属性box.innerHTML = "盒子外边距:"+marginLeft;}

3,setProperty()办法:为指定元素设定款式;不兼容晚期的IE,elementNode.sytle.width="500px";

elementNode.setProperty(propertyName,value,priority); // 参数解释:属性名,属性值,是否设置!important优先级window.onload = function(){var  box = document.getElementById("box");//获取<div id="box">box.style.setProperty("width","400px","");box.style.setProperty("height","400px","");//兼容晚期的IE box.style.width= "400px";box.style.height = "400px";}

4,removeProperty()办法:移除指定CSS的款式申明

 elementNode.removeProperty(propertyName)

5,item()办法:返回style对象中指定索引地位的CSS属性名称

element.style.item(index);

6,getPropertyPriority()办法:获取指定的css属性中是否附加了!important,有则返回important,无则返回空字符串

<div id="box" style="width: 100px;height: 100px;background-color: red;border: solid 50px blue;"></div>window.onload = function(){//不兼容IE                var box=document.getElementById("box");                box.nmusever=function(){                    box.style.setProperty("background-color","blue","");                    box.style.setProperty("border","solid 50px red","");                }                box.nclick=function(){                    box.innerHTML=(box.style.item(0)+":"+box.style.getPropertyValue("width"));                    box.innerHTML=box.innerHTML+"<br>"+(box.style.item(1)+":"+box.style.getPropertyValue("height"));                }                box.nmuseut=function(){                    box.style.setProperty("background-color","red","");                    box.style.setProperty("border","solid 50px blue","");                } window.onload = function(){//兼容ie                var box=document.getElementById("box");                box.nmusever=function(){                    box.style.backgroundColor="blue"                    box.style.border="solid 50px red";                }                box.nclick=function(){                    box.innerHTML="width:"+box.style.width;                    box.innerHTML=box.innerHTML+"<br>"+"height:"+box.style.height;                }                box.nmuseut=function(){                    box.style.backgroundColor="red";                    box.style.border="solid 50px blue";                }            }

拓展:非IE浏览器反对style拜访,然而它无奈获取style对象中指定序号地位的属性名称,能够应用cssText属性获取全副的style属性值,通过String的split()把字符串转为数组再操作;

应用getAttribute("style")办法,也是获取style的属性值,不过该办法放回值保留style属性值的原始模样,比方色彩应用的是rgb,

而cssText的返回值可能会通过浏览器解决,且不同浏览器返回值 略有不同

<div id="box" style="width: 600px;height: 200px;background-color: #81F9A5;border: solid 2px blue;padding:10px;"></div> window.nlad=function(){                  var box=document.getElementById("box");                  var str=box.style.cssText;//获取全副style属性的字符串               //var str=box.getAttribute("style");                  var a=str.split(";");                  var temp="";                  for(var b in a){                      var prop=a[b].split(":");                      if(prop[0]){                          temp+=b+" : "+prop[0]+"="+prop[1]+"<br>";                      }                  }                  box.innerHTML="box.style.cssText="+str;                  box.innerHTML=box.innerHTML+"<br><br>"+temp;              }