换肤主要是通过切换css样式来实现,如何切换css样式呢?首先要定义A.B两套css样式,css样式A,有前缀.classA,css样式B,有前缀.classB,假如插件层最外层div的class为widgetContainer。
html结构:
<div class='widgetContainer' id='widget'>
<div class='div1'></div>
<div class='div2'>
<div class='div3'></div>
</div>
</div>
cssA:
.classA.widgetContainer{....}
.classA .div1{....}
.classA .div2{....}
.classA .div3{....}
cssB:
.classB.widgetContainer{....}/*该选择器表示,当该dom元素同时具有这两个class时,呈现的样式*/
.classB .div1{....}/*通过子孙选择器来确定样式*/
.classB .div2{....}
.classB .div3{....}
当需要给widget换肤时,只需要添加一个类名。该类名可以是classA或者classB。