当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > CSS sprite实例教程:li:hover修改密码

CSS样式表
CSS网页设计 IE8和IE7共存
CSS2 打印属性让打印HTML文档不出问题
制作网页中设计段落缩进的方法
CSS border 属性使用说明
CSS border-style 属性使用方法
CSS border-color 属性使用方法
CSS border-width 属性使用教程
CSS padding属性定义边内补白
CSS margin 属性定义边外补白
网页布局教程 掌握CSS网页布局属性
css 背景样式属性说明
span margin 设置生效
html 滚动条在IE6和IE7中兼容性问题
IE6 两个div有间隙的问题(IE 3px bug)
CSS 数字和字母将容器撑大问题解决
换个角度看页面重构中的语义化
DIY属于个人开发使用的CSS Reset
CSS 空格引起网页布局间距问题
CSS 网页制作时遇到问题的快速参考技巧
css li 去掉点的样式写法

CSS样式表 中的 CSS sprite实例教程:li:hover修改密码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-03   浏览: 163 ::
收藏到网摘: n/a

Codemoz! 会员信息修改的部分用到了这个效果,说难不难。要点是li:hover(IE6下使用JS模拟),CSS sprite。效果见下图:

HTML部分:

<ol id="need">
  <li><label class="old_password">原始密码:</label> <input name='' type='password' id='' /></li>
  <li><label class="new_password">新的密码:</label> <input name='' type='password' id='' /><dfn>(密码长度为6~20字节。不想修改请留空)</dfn></li>
  <li><label class="rePassword">重复密码:</label> <input name='' type='password' id='' /></li>
  <li><label class="email">邮箱设置:</label> <input name='' type='text' id='' /><dfn>(Codemoz! 承诺绝不会给您发送任何垃圾邮件。)</dfn></li>
</ol>

 CSS部分:

/*demo所用元素值*/
#need {margin: 20px auto 0;width: 610px;}
#need li {height: 26px;width: 600px;font: 12px/26px Arial, Helvetica, sans-serif;background: #FFD;border-bottom: 1px dashed #E0E0E0;display: block;cursor: text;padding: 7px 0px 7px 10px!important;padding: 5px 0px 5px 10px;}
#need li:hover,#need li.hover {background: #FFE8E8;}
#need input {line-height: 14px;background: #FFF;height: 14px;width: 200px;border: 1px solid #E0E0E0;vertical-align: middle;padding: 6px;}
#need label {background: url(../images/icon_sprite.gif) no-repeat;padding-left: 30px;}
#need label.old_password {background-position: 0 -277px;}
#need label.new_password {background-position: 0 -1576px;}
#need label.rePassword {background-position: 0 -1638px;}
#need label.email {background-position: 0 -429px;}
#need dfn {display: none;}
#need li:hover dfn, #need li.hover dfn {display:inline;margin-left: 7px;color: #676767;}

 JS部分:

function suckerfish(type, tag, parentId) {
 if (window.attachEvent) {
  window.attachEvent("onload", function() {
   var sfEls = (parentId==null)?document.getElementsByTagName(tag):document.getElementById(parentId).getElementsByTagName(tag);
   type(sfEls);
  });
 }
}

hover = function(sfEls) {
 for (var i=0; i<sfEls.length; i++) {
  sfEls[i].onmouseover=function() {
   this.className+=" hover";
  }
  sfEls[i].onmouseout=function() {
   this.className=this.className.replace(new RegExp(" hover\\b"), "");
  }
 }
}
suckerfish(hover, "li");

 HTML部分采用了一个大家可能平时不是很常用的标签:<dfn>,<dfn>标签是W3C推荐使用的语义标签,它隶属于文本组件中的短语元素,用来定义一个定义项目,起到解释说明的作用。

 <dfn>允许被放置在以下父元素中:

a, abbr, acronym, address, b, bdo, big, button, caption, cite, code, dd, del, dfn, div, dt, em, fieldset, h1, h2, h3, h4, h5, h6, i, ins, kbd, label, legend, li, object, p, pre, q, samp, small, span, strong, sub, sup, td, th, tt, var

 当<dfn>标签被用作父元素时,它的内部容许放置以下子元素标签:

a, abbr, acronym, b, bdo, big, br, button, cite, code, del, dfn, em, i, img, input, ins, kbd, label, map, object, q, samp, script, select, small, span, strong, sub, sup, textarea, tt, var

 上面的DEMO下载地址请点击这里: LI:HOVER