CSS中的行为——HTC
2008-02-23 08:35:07来源:互联网 阅读 ()
最近对这些CSS中的行为有点兴趣,看了些文档作了个表单鼠标滑过效果。当然HTC的用途,大家最喜欢的要数自制组建,自定义标签了。
Quote
说明:
HTC是HTML component的缩写,
是IE5.0的主要扩展之一,
除了具备一般组件的可重用优点之外,
还具有易于开发使用等优点,
因为需要引入外部文件,这里就不举例了,宝库里有例子.
控件和组件
HTC提供了一个简单机制以在脚本中实现DHTML行为。一个HTC文件和HTML文件没有任何差别,并且以“.htc”为后缀。
关于demo,我看到一些表单的输入框,有鼠标滑过效果,或者背景变色或者边框变色。使用:hover很容易实现,可惜MS IE7以前的浏览器不能支持,那么就单独给IE5. 使用HTC定义鼠标行为。其实这个实用JS实现也挺容易,我就想拿HTC练练手。先看看效果?
下面是代码
XHTML结构来自ALA的Prettier Accessible Forms。这里多说一嘴,建议大家以后做表单的时候多采用下面的结构,Strict型xhtml建议<form>下不可以直接放置表单元素。而用<ol>来组织多个表单也是合理的。
<fieldset>
<legend>Delivery Details</legend>
<ol>
<li>
<label for="name">Name<em>*</em></label>
<input id="name" />
</li>
<li>
<label for="address1">Address<em>*</em></label>
<input id="address1" />
</li>
<li>
<label for="address2">Address 2</label>
<input id="address2" />
</li>
<li>
<label for="town-city">Town/City</label>
<input id="town-city" />
</li>
<li>
<label for="county">County<em>*</em></label>
<input id="county" />
</li>
<li>
<label for="postcode">Postcode<em>*</em></label>
<input id="postcode" />
</li>
<li>
<fieldset>
<legend>Is this address also your invoice »
address?<em>*</em></legend>
<label><input type="radio" »
name="invoice-address" /> Yes</label>
<label><input type="radio" »
name="invoice-address" /> No</label>
</fieldset>
</li>
</ol>
</fieldset>
HTC:input.htc
<PUBLIC:COMPONENT>
<PUBLIC:ATTACH EVENT="onmouseover" ONEVENT="Hilite()" />
<PUBLIC:ATTACH EVENT="onmouseout" ONEVENT="Restore()" />
<SCRIPT LANGUAGE="JScript">
<!--
function Hilite()
{
// save original values
element.style.border = "1px #f60 solid";
element.style.background = "#f5f5f5";
}
function Restore()
{
// restore original values
element.style.border = "1px #ccc solid";
element.style.background = "#fff";
}
-->
</SCRIPT>
</PUBLIC:COMPONENT>
CSS
<style type="text/css">
<!--
*{color:#666; font-size:11px;font-family:Arial, Helvetica, sans-serif;}
body{text-align:center;}
fieldset{border:1px #eee solid; width:310px; margin:0 auto; padding:8px; text-align:left;}
legend{padding:4px;}
fieldset label{float:left; width:70px; text-align:right;padding:0 10px;}
fieldset ol{list-style:none; margin:0; padding:0;}
fieldset ol li{clear:both; line-height:20px;}
fieldset ol li fieldset{width:280px;}
input{behavior:url(input.htc); border:1px #ccc solid; background:#fff; width:160px;}/*Only for ie 5.0 */
label input{width:14px;height:14px;border:0;} /*For input type is Radio*/
input:hover{border:1px #f60 solid;background:#f5f5f5;}/*For orther browsers*/
em{color:#ff0000;}
-->
</style>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash