CSS在类切换中添加-删除边框
CSS add remove border on class toggle
我最近在添加或删除类的基础上添加或删除边框时遇到了一个问题。我已经解决了这个问题,但我对解决方案不满意。
我做了一个小提琴来说明这个问题。即使在两个类上都有转换,边界也会正确地转换进来,但会突然转换出去。
EDIT:通过设置具有相同属性的边界属性来修复此问题。在.boxy上设置"border:0px solid red;"可以修复它,但仅设置"bordr: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;
类似,因此您将在0px
和10px
之间应用transition
解释
它使您能够定义元素的两种状态之间的转换。
源
因此,在您的情况下,您必须定义边界的初始状态。(border: 0px solid red
)
Fiddle
我认为您不需要在两个类上都添加转换,请尝试以下操作:
.boxy {
width: 100px;
height: 100px;
background-color: black;
border: 10px solid #fff;
-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;
}
编辑:使用新的JSFiddle,您需要以下内容:
.boxy{
border: 0;
}
相关文章:
- 根据Select值添加/删除表行
- 添加/删除类淡入淡出不起作用
- p5.js声音库:如何添加/删除p5.第5页中的短语().零件()
- 在django表单集中添加/删除表单的Javascript
- 添加/删除子元素
- 添加/删除/更改输入文本的部分值
- jQuery - 添加删除类 - 设置输入值
- 向具有唯一Id的表添加/删除行
- DateTimePicker:函数从minDate maxDate添加删除日期
- 由 JavaScript 控制的 CSS3 单向转换在按顺序添加/删除类时不起作用
- 添加/删除类在 Chrome 中对我不起作用
- JQuery 测试元素是可见的还是隐藏的,然后添加删除类
- Jquery切换和添加/删除
- 克隆字段上的“添加-删除”按钮
- (X-Editable)与(Select2标签)不工作,可以't填充当前标签并跟踪添加/删除的标签
- 添加/删除要与Jquery进行比较的产品
- 添加/删除类并使用Cookie记住所选内容
- 如何使用延迟添加/删除类
- 如何根据数组内容添加/删除数组中的元素
- 单击单选按钮,添加/删除表单元素的类