css中的behavior

本文深入探讨了CSS中的behavior属性,详细介绍了其语法、取值及应用案例,包括如何使用behavior属性保留网页刷新后的表单内容,以及如何通过该属性调用脚本实现元素的动态效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网页中我们经遇到刷新要保留表单里内容的时候,习惯的做法使用cookie,但是那样做实在是很麻烦,css中的behavior就为我们很好的解决了这个问题。

  behavior的语法:

    behavior : url ( url ) | url ( #objID ) | url ( #default#behaviorName )

  取值:

    url ( url ) : 使用绝对或相对 url 地址指定DHTML行为组件(.htc)

    url ( #objID ) : 使用二进制实现(作为 ActiveX® 控件)的行为。此处的 #objID 为 object 对象的 id 属性值

    url ( #default#behaviorName ) : IE的默认行为。由行为的名称标识( #behaviorName )指定

  说明:设置或检索对象的DHTML行为。多个行为之间用空格隔开。

  当多个附加到同一要素的行为发生冲突时,其结果取决于行为应用于要素的顺序。后一个行为的优先权高于前一个行为。同样的规则适用于不同行为提供的属性、事件、方法所发生的名称冲突。

  可以使用 addBehavior 方法动态的将行为附着到对象。

  此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。

  务必注意使用样式表(CSS)的 behavior 属性内联定义或使用 addBehavior 方法附着的行为不会在对象从文档树中移除时被自动分离。而在文档中的样式表规则定义的行为会在对象从文档树中移除时被自动分离。

  对应的脚本特性为 behavior 。

  示例:p { behavior: url(#default#download); }

     div { behavior: url(fly.htc) url(shy.htc); }

     div { behavior: url(#myObject); }

  应用1:刷新也保留输入框里面的文字

    .sHistory {}{behavior:url(#default#savehistory);}

  应用2:调用脚本

    <html>
    <head>
      <style>
      h1 { behavior: url(behave.htc) }
      </style>
    </head>
    <body>
      <h1>把鼠标放在这里</h1>
    </body>
    </html>
    behave.htc

    <component>
    <attach for="element" event="onmouseover" handler="hig_lite" />
    <attach for="element" event="onmouseout" handler="low_lite" />
    <script type="text/javascript">
    function hig_lite()
    {
      element.style.color=255
    }
    function low_lite()
    {
      element.style.color=0
    }
    </script>
    </component>

转载于:https://www.cnblogs.com/janey/archive/2010/01/12/1644762.html

### 使用 `scrollTop` 实现滚动效果 #### CSS 中的解决方案 对于希望仅依赖于CSS实现平滑滚动至页面顶部的情况,可以采用特定的选择器和属性组合。尽管无法直接操作`scrollTop`,但是能够借助`:target`伪类或是现代浏览器支持的`scroll-behavior`属性达成目的[^2]。 ```css html { scroll-behavior: smooth; } ``` 此段样式定义使得整个文档内的任何锚点链接跳转都将变得顺滑而非突兀。不过需要注意的是,这种方法并不适用于所有场景下的精确控制需求。 #### JavaScript 中的应用实例 当更精细地掌控滚动行为成为必要时,则需转向JavaScript来处理。`scrollTop`作为DOM元素的一个可读写属性,在这里扮演着至关重要的角色: - 获取当前已滚过的像素数; - 设定新的滚动位置以触发视觉上的位移变化。 下面是利用该特性制作返回顶端按钮的具体做法之一[^1]。 ```javascript document.getElementById('back-to-top').addEventListener('click', function() { window.scrollTo({ top: 0, behavior: 'smooth' }); }); ``` 上述脚本片段展示了如何绑定点击事件给某个具有ID为`back-to-top`的HTML标签,并在其被激活之后执行平稳向上的卷动动作直至最上方。值得注意的是,这里的`window.scrollTo()`函数同样接受对象参数形式指定目标坐标以及过渡动画模式,从而提供更加灵活多变的表现力。 另外一种常见应用场景涉及动态调整容器内部子项的位置排列,比如模拟无限加载列表或者构建轮播组件等复杂交互逻辑。此时往往需要频繁查询并更新多个节点各自的`scrollTop`值以便维持良好的用户体验[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值