Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以防止CSS样式被覆盖吗?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 我可以防止CSS样式被覆盖吗?

Javascript 我可以防止CSS样式被覆盖吗?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想对页面加载上的一些链接按钮应用CSS,但其中一个注销必须保持其样式,任何悬停或其他事件都不得更改其样式 LinkButton没有类,应用于所有链接按钮的css都是对标记执行的,如下所示: a { //style } a:hover { // style } 有可能吗?为什么不在所有要更改的链接按钮中添加一个类,而不将其添加到不想更改的链接按钮中呢 然后你可以打电话: $(".myClass").css("backgound-color", "blue"); 这会将类为myC

我想对页面加载上的一些链接按钮应用CSS,但其中一个
注销
必须保持其样式,任何悬停或其他事件都不得更改其样式

LinkButton没有类,应用于所有链接按钮的css都是对标记执行的,如下所示:

a
{
 //style
}

a:hover
{
  // style
}

有可能吗?

为什么不在所有要更改的链接按钮中添加一个
类,而不将其添加到不想更改的链接按钮中呢

然后你可以打电话:

  $(".myClass").css("backgound-color", "blue");
  • 这会将类为
    myClass
    的每个元素的背景色更改为蓝色背景
或者,您可以向链接按钮添加一个全新的类,该按钮的类为
myClass

  $(".myClass").addClass("myExtraClass");
  • 这将使链接按钮的
    class
    属性
    class=“myclass myExtraClass”

    • 您应该使用
      !重要信息
      在css中,如:

      a {
          /* style */
          background: #FFF !important;
      }
      
      a:hover {
          /* style */
          background: #FFF !important;
      }
      

      css根据定义是级联的,因此应用于标记的任何样式都将应用于这个特定的样式,除非覆盖它

      您必须为所有其他按钮分配一个类,或者覆盖此特定按钮的所有默认属性

      另外,不要忘记伪类:visted和:active。

      不,不能

      您可以使用更具体的选择器(甚至是带有style属性的内联CSS),这样它们就不太可能被意外覆盖

      您可以使用
      的(eugh)大锤!重要信息
      ,因此它们只会被另一个
      覆盖!重要
      规则


      但是,无法防止它们被重写。

      请避免使用
      !重要信息
      ,请尽可能。你会遇到许多恼人的问题和问题,从使用这个。我认为这是一个非常懒惰的黑客。 您要做的是将一个类附加到不希望被覆盖的链接中。类的优先级高于一般选择器(例如
      a
      p
      b
      )。因此,如果将此类附加到链接,CSS将覆盖为
      a
      设置的默认CSS

      CSS:

      HTML:

      
      

      这里有把小提琴给你看。第二个链接附加了一个保留原始样式的类:

      看到您的代码发布后,会更清楚地了解您想要做什么。试试这个:

      a {
          text-decoration: none;
          color: orange;
      }
      a:hover {
          text-decoration: underline;
          color: blue;
      }
      
      这将对所有
      应用默认样式。看看这是否会给你想要的结果。ID优先于类和默认元素样式。因此,如果您有一个要保持不变的元素,请相应地应用和标识特定元素并设置其样式。这还可以帮助您避免将类应用于多个元素。应用一个ID要比应用十二个类少。(只是一个夸张的例子。我不知道你有多少链接。)


      希望这能有所帮助。

      只要创建另一个样式表并将其放在html头部样式表链接的末尾,就可以覆盖css

      <head>
          <link rel="stylesheet" href="location/location/first_stylesheet.css">
          <link rel="stylesheet" href="location/location/revised_stylesheet.css">
      </head>
      
      
      

      然而,这并不是覆盖css的最有效的方法;我们最好通过简单地在元素中添加class属性来消除这种单独样式表的必要性。attr类将允许您修改基本的html元素、标记,并覆盖最后一层以“统领它们”。享受吧

      您可以尝试添加
      !重要信息
      在css行的末尾。不知道这是否有效。你应该添加
      !重要信息
      在样式定义的末尾。所以不要对该元素应用任何其他样式。从技术上讲?不。但是如果你控制CSS,这真的不必要。只是更好地管理你的代码。我喜欢这个答案。它能让你摆脱通常的坏习惯,这种坏习惯现在起作用,但以后会引起问题。这(并不总是)是真的!!我正在使用prestashop,例如,在那里,我有单独的自动加载自定义css文件,有时我必须使用这些文件!重要的是,我不必编辑核心模板文件,这使得所有内容都更加透明和结构化。它可以永远使用,你只需要知道什么时候使用它!!
      a {
          text-decoration: none;
          color: orange;
      }
      a:hover {
          text-decoration: underline;
          color: blue;
      }
      
      #lb1 {
          color: black;
          text-decoration: none;
      }
      #lb1:hover {
          color: black;
          text-decoration: none;
      }
      
      <head>
          <link rel="stylesheet" href="location/location/first_stylesheet.css">
          <link rel="stylesheet" href="location/location/revised_stylesheet.css">
      </head>