How to make padding:auto work in CSS?

前端 未结 5 900
孤街浪徒
孤街浪徒 2021-01-07 18:02

I am working on a legacy project that has CSS Reset with *{ margin:0; padding:0 } applied to everything. Now, my new code doesn\'t need that as it relies on Nor

相关标签:
5条回答
  • 2021-01-07 18:14

    You can reset the padding (and I think everything else) with initial to the default.

    p {
        padding: initial;
    }
    
    0 讨论(0)
  • 2021-01-07 18:15

    The simplest supported solution is to either use margin

    .element {
      display: block;
      margin: 0px auto;
    }
    

    Or use a second container around the element that has this margin applied. This will somewhat have the effect of padding: 0px auto if it did exist.

    CSS

    .element_wrapper {
      display: block;
      margin: 0px auto;
    }
    .element {
      background: blue;
    }
    

    HTML

    <div class="element_wrapper">
      <div class="element">
        Hello world
      </div>
    </div>
    
    0 讨论(0)
  • 2021-01-07 18:16

    if you're goal is to reset EVERYTHING then @Björn's answer should be your goal but applied as:

    * {
      padding: initial;
    }
    

    if this is loaded after your original reset.css should have the same weight and will rely on each browser's default padding as initial value.

    0 讨论(0)
  • 2021-01-07 18:31

    You should just scope your * selector to the specific areas that need the reset. .legacy * { }, etc.

    0 讨论(0)
  • 2021-01-07 18:35

    auto is not a valid value for padding property, the only thing you can do is take out padding: 0; from the * declaration, else simply assign padding to respective property block.

    If you remove padding: 0; from * {} than browser will apply default styles to your elements which will give you unexpected cross browser positioning offsets by few pixels, so it is better to assign padding: 0; using * and than if you want to override the padding, simply use another rule like

    .container p {
       padding: 5px;
    }
    
    0 讨论(0)
提交回复
热议问题