Hướng dẫn css ignore parent style

I'm wondering how to ignore a parent style and use the default style (none). I'll show my specific case as an example but I'm pretty sure this is a general question.



Ways I do not want to solve this problem:

  • I cannot edit the stylesheet where the "#elementId select" is set, my module won't have access that.
  • Preferably not override the height style using the style attribute.

For example using firebug i can turn off the parent style and all is well, this is the effect I am going for.

Once a style is set, can it be disabled or must it be overridden?

BoltClock

674k155 gold badges1361 silver badges1333 bronze badges

asked Jun 3, 2009 at 19:24

SeanDowneySeanDowney

16.9k18 gold badges80 silver badges89 bronze badges

You could turn it off by overriding it like this:

height:auto!important;

Trott

61.8k22 gold badges159 silver badges201 bronze badges

answered May 3, 2010 at 21:19

Fabian BrenesFabian Brenes

7481 gold badge8 silver badges12 bronze badges

5

It must be overridden. You could use:



then made the following single line change in the css. Added the line

#elementId div.classname {style to be applied !important;}

worked well!

answered Feb 24, 2012 at 20:11

If I understood the question correctly: you can use auto in the CSS like this width: auto; and it will go back to default settings.

Hướng dẫn css ignore parent style

Jeroen

1,1621 gold badge11 silver badges22 bronze badges

answered Jan 20, 2013 at 13:27

Hướng dẫn css ignore parent style

elad silverelad silver

8,5094 gold badges41 silver badges63 bronze badges

It would make sense for CSS to have a way to simply add an additional style (in the head section of your page, for example, which would override the linked style sheet) such as this:




and turn off all previously applied styles, but there is no way to do this. You will have to override the height attribute and set it to a new value in the head section of your pages.




Trott

61.8k22 gold badges159 silver badges201 bronze badges

answered Jun 4, 2009 at 20:34

There are a bunch of values that can be used to undo CSS rules: initial, unset & revert. More details from the CSS Working Group at W3C:

https://drafts.csswg.org/css-cascade/#defaulting-keywords

As this is 'draft' not all are fully supported, but unset and initial are in most major browsers, revert has less support.

answered May 19, 2020 at 7:48

Hướng dẫn css ignore parent style

cyberspycyberspy

96310 silver badges13 bronze badges

Please see below typescript for re-applying css class again to an element to override parent container (usually a framework component) css styles and force your custom styles. Your app framework (be it angular/react, probably does this so the parent container css was re-applied and none of your expected effects in css-class-name is showing up for your child element. Call this.overrideParentCssRule(childElement, 'css-class-name'); to do what the framework just did (call this in document.ready or end of event handler):

      overrideParentCssRule(elem: HTMLElement, className: string) {
        let cssRules = this.getCSSStyle(className);
        for (let r: number = 0; r < cssRules.length; r++) {
          let rule: CSSStyleRule = cssRules[r];
          Object.keys(rule.style).forEach(s => {
            if (isNaN(Number(s)) && rule.style[s]) {
              elem.style[s] = rule.style[s];
            }
          });
        }
      }
  • Mike Zheng

answered Dec 4, 2018 at 1:03

2