javascript - CSS 在类切换上添加删除边框

标签 javascript jquery html css

我最近在添加或删除基于添加或删除类的边框时遇到了问题。我已经解决了问题,但我对解决方案不满意。

我做了一个jsfiddle说明问题。即使在两个类上都有过渡,边界也会正确过渡,但会突然过渡。

编辑:通过设置具有相同属性的边框属性解决了这个问题。设置一个“border: 0px solid red;”在 .boxy 上修复它,但只设置“边框:0px;”没有。

这是工作 jsfiddle 代码:

HTML:

<div class="boxy"></div>

CSS:

.boxy {
   width: 100px;
   height: 100px;
   background-color: black;
   border: 0px solid red;
   -webkit-transition: border 300ms linear 0s;
   -moz-transition: border 300ms linear 0s;
   -o-transition: border 300ms linear 0s;
   transition: border 300ms linear 0s;
}

.selected {
  border: 10px solid red;
}

Javascript:

$('.boxy').click(function(event){
    $('.boxy').toggleClass('selected');
})

最佳答案

只需在 .boxy 上定义正确的边框并将其宽度设置为 0px

像这样 border: 0px solid red;,所以你将在 0px10px 之间应用 transition

解释

It enables you to define the transition between two states of an element.


Source

因此在您的情况下,您必须定义边框的初始状态。 (border: 0px solid red)

Fiddle

关于javascript - CSS 在类切换上添加删除边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33541530/

相关文章:

javascript - 如何在动态创建的 HTML 标签内容中转义单引号

javascript - 如何创建幻灯片计时器并添加功能选项卡

jquery - 如何将 anchor 标记添加到字符串中的 URL

html - 从 html5 日期选择器中禁用某些日期

javascript - 限制用户上传带有特殊字符的文件

javascript - Marionette:如何将 LayoutView 作为一行添加到 CompositView 表中?

javascript - jQuery验证textarea验证

javascript - jQuery的append和wrap的区别

javascript - 如何在元素消失后 slider

html - 是否可以在不在 HTML 代码的某些部分周围添加 div 容器的情况下使用 Flexbox 制作此 "complex"布局