论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > div+css教程
Tag:css,入门,技巧,div,实例,示例,菜单,布局,web2.0,ul,li,经验,列表,web标准,xhtml,web标准,浏览器,兼容,css hack,表格,视频教程

{WEB标准}让Input支持background-attachment:fixed

文章类别:div+css | 发表日期:2010-5-6 9:02:11

办法很简单:

  • 给Input添加一个外围标记:Label
  • 给Label设置背景,用传统的background-position方式。
  • 设置Input的background:transparent;
  • 即可看到“底层”的背景了,且避免了使用background-attachment。



应该是完美了吧:
<!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>Test</title>
<style type="text/css">
#login{width:415px;height:36px;position:relative;background:#FC9A0C;}
#login .key{width:324px;height:25px;overflow:hidden;border:solid 1px #E68A0D;position:absolute;left:5px;top:4px;padding:0 5px;background:#efb url(http://home.blueidea.com/image/app/homepage.gif) 310px center no-repeat;}
#login .key input{width:324px;height:25px;overflow:hidden;background:transparent;padding:0;line-height:25px;border:none;color:#555;padding:0;outline:0;}
#login .smt_area{width:69px;height:27px;position:absolute;right:5px;top:4px;background:url(http://home.blueidea.com/attachment/201003/25/381636_1269525914BoDu.png);}
#login .smt_area input{filter:Alpha(opacity=0);opacity:0;width:69px;height:27px;cursor:pointer;}
</style>
</head>
<body>
<div id="login">
 <label class="key"><input type="text" name="key" /></label>
 <label class="smt_area"><input type="submit" value="Submit" onfocus="this.blur()" /></label>
</div>
</body>
</html>

看见文本框旁边的橙色按钮了吗,被Label套住并且完全透明的那个?灵感就来源于它。
同样的原理也适用于textarea:
<!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>textarea</title>
</head>
<body>
<div>
 <label style="background:url(http://home.blueidea.com/image/app/homepage.gif) 20px 20px no-repeat;display:inline-block;"><textarea rows="10" cols="50" style="background:transparent;">请输入超多字符!! </textarea></label>
</div>
</body>
</html>

另外,记得不要漏掉上面这个示例中个display:inline-block;,不然标准浏览器就看不见背景图了。

视频教程列表
文章教程搜索
 
div+css推荐教程
div+css热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058