为什么addClass没有优先权和边框显示?

时间:2014-12-28 06:12:14

标签: jquery css addclass

请参阅JSFddle - http://jsfiddle.net/ww2010ku/。下面是jQuery代码 -

$("#x").click(function () {
$(this).animate({
    "height": "45px",
        "width": "45px"
}, 100);
$(this).addClass("lg");
});

我有2个问题。 1)为什么点击时蓝色边框显示虽然我已经完成了border:none。 2)为什么没有" lg" class优先并显示绿色按钮,因为红色理想情况下首先是颜色集,然后是绿色,它是最后一个规则并且优先。

2 个答案:

答案 0 :(得分:2)

1)"蓝色边框"被称为轮廓,用于聚焦输入,无法添加

  

按钮:悬停{outline:0}

2)因为id在元素中是唯一的,但是类不是,所以id选择器具有更高的优先级,并且其中的属性将在类选择器中的属性之前获取,您可以更改"。 LG"到"#x.lg"。 css中的选择器越多,层次结构就越多。 PD:因为我的英语不好而被判入狱

答案 1 :(得分:1)

  1. 边框由元素上的:focus outline引起。你可以这样摆脱它:
  2. #x:focus {
        outline: 0;
    }
    
    1. #x.lg更具体,所以这就是背景颜色不优先的原因。您可以通过制作将再次赢得specifity battle
    2. 的css #x.lg来更改此设置

      jsFiddle here