Css 有没有办法只合并两个填充属性方向?

Css 有没有办法只合并两个填充属性方向?,css,Css,我经常遇到这样的情况:我想更改元素的左填充和右填充(或左边框和上边框,等等),但将上边框和下边框保持原样 2种选择: {padding left:D;padding right:C;} {填充:A B C D;} 其中,在选项2中,我必须使用Inspect元素获取A和C的当前值。选项1的缺点是冗长 那么,有没有第三个选项可以让我写{padding:abcd;},除了使用一些CSS单词,它意味着a和C如果我没有指定它会是什么?填充是CSS中的一个特殊属性,因为它有不同的“签名”。据我所知,您不能像

我经常遇到这样的情况:我想更改元素的
左填充
右填充
(或
左边框
上边框
,等等),但将
上边框
下边框
保持原样

2种选择:

  • {padding left:D;padding right:C;}
  • {填充:A B C D;}
  • 其中,在选项2中,我必须使用Inspect元素获取
    A
    C
    的当前值。选项1的缺点是冗长


    那么,有没有第三个选项可以让我写
    {padding:abcd;}
    ,除了使用一些CSS单词,它意味着
    a
    C
    如果我没有指定它会是什么?

    填充是CSS中的一个特殊属性,因为它有不同的“签名”。据我所知,您不能像填充:initial 1em 1em这样做,但您可以使用以下速记属性:


    不幸的是,如果您只想执行
    底部填充
    左侧填充
    ,或者类似的组合,那么您似乎必须将它们分别拼出来。

    填充是CSS中的一个特殊属性,因为它具有不同的“签名”。据我所知,您不能像填充:initial 1em 1em这样做,但您可以使用以下速记属性:


    不幸的是,如果您只想执行
    底部填充
    左侧填充
    ,或者类似的组合,则必须将它们单独拼写出来。

    默认情况下,所有四个填充属性都设置为0

    您可以使用速记符号设置填充,例如:

    .yourclass{
        padding: 0 10px 0 10px;
    }
    

    速记版本中元素的顺序为:顶部、右侧、底部、左侧。

    默认情况下,所有四个填充属性都设置为0

    您可以使用速记符号设置填充,例如:

    .yourclass{
        padding: 0 10px 0 10px;
    }
    

    速记版本中元素的顺序是:上、右、下、左。

    使用另一个类覆盖第一个类

    .first {
        padding: 5px;
    }
    
    .second {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    <div class="first second">no left/right padding</div>
    
    。首先{
    填充物:5px;
    }
    .第二{
    左侧填充:0!重要;
    右边填充:0!重要;
    }
    没有左/右填充
    
    使用另一个类重写第一个类

    .first {
        padding: 5px;
    }
    
    .second {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    <div class="first second">no left/right padding</div>
    
    。首先{
    填充物:5px;
    }
    .第二{
    左侧填充:0!重要;
    右边填充:0!重要;
    }
    没有左/右填充
    
    当涉及到填充时,您可以执行以下操作:

    .classname {padding: 10px inherit;}
    
    这将为顶部和底部设置10px,并且它将继承其父元素的填充

    另一个选择是:

    .classname {padding: 10px initial;}
    
    Initial将使用为该元素设置的默认值


    根据元素的类型,有时使用
    auto
    而不是
    initial

    填充时,可以执行以下操作:

    .classname {padding: 10px inherit;}
    
    这将为顶部和底部设置10px,并且它将继承其父元素的填充

    另一个选择是:

    .classname {padding: 10px initial;}
    
    Initial将使用为该元素设置的默认值


    根据元素的类型,有时使用
    auto
    而不是
    initial

    如果不想为A和C指定,则使用{padding:0b0d;}。@zsherman是正确的。如果您为填充、边距等指定值,它将覆盖任何“否则会是”的内容。没有类似的内容。使用冗长的方法。如果您不想为A和C指定,那么它将是{padding:0b0d;}。@zsherman是正确的。如果您为填充、边距等指定值,它将覆盖任何“否则会是”的内容。没有类似的内容。使用冗长的方法。我认为OP谈论的是已经样式化的属性,例如元素的预定义样式,他不想覆盖某些“边”,但不想将它们写出来,而是更愿意使用速记。顺便说一句,欢迎;)我认为OP讨论的是已经设置了样式的属性,例如元素的预定义样式,他不想覆盖某些“边”,但不想将它们写出来,而是更愿意使用速记。顺便说一句,欢迎;)不幸的是,这不起作用。这是一个很好的语法,但无论出于什么原因,我们没有它。见上面谢尔曼扎克的答案。不幸的是,这不起作用。这是一个很好的语法,但无论出于什么原因,我们没有它。见上面shermanzach的回答。