我可以使用简写边距语法来改变左右值吗?

时间:2016-03-12 02:23:22

标签: html css

如果我想在margin-left: automargin-right: auto单独离开时添加margin-topmargin-bottom,我可以使用速记保证金语法吗?

基本理念:

.center {
    margin: dont-specify auto;
}

谢谢!

编辑:简而言之,答案是没有这样的关键字。为清楚起见,通过'dont-specified',我并不是指'删除规范','回滚规范'或'指定低特异性'。我的意思是,“这个规则不应该指定一个新值”。我不负责任。确实很容易解释“不要指定”多种不同的方式!谢谢大家的回答!

4 个答案:

答案 0 :(得分:1)

不是速记没有。可能的值有:

margin:10px; // top/right/bottom/left
margin:10px 10px; // top/bottom left/right
margin:10px 10px 10px; // top right/left bottom
margin:10px 10px 10px 10px; // top right bottom left

答案 1 :(得分:1)

OP评论

  

如果被样式化的元素具有margin-top:20px和margin-bottom:   目前10px,不会使用“auto”,覆盖那个?

A:是的,你可以,这完全取决于你的特异性。

body {
  margin: 0
}
main {
  border: solid green
}
div,
span,
article,
section {
  display: block; /* needed for span */
  margin-left: 20px;
  margin-right: 10px;
  width: 100px;
  height: 100px;
  border: dashed red 1px
}
/* override margin-left/right */
[class*="class-"] {
  margin: auto; /* shorthand for top right bottom left - or - top/bottom right/left */
}
<main>
  <span class="class-1"></span>
  <div class="class-2"></div>
  <article class="class-3"></article>
  <section class="class-4"></section>
</main>

答案 2 :(得分:0)

不幸的是,总有一天会有选择:

  

https://drafts.csswg.org/css-cascade/#defaulting(关于继承,未设置,初始和恢复)

但似乎还没有在任何地方实施:(,所以你仍然需要写:

margin-left : auto;
margin-right: auto;

在使用revert的测试下方,随意复制并与其他3个值交换revert

&#13;
&#13;
div {
  float: left;
  width: 50%;
  border: solid;
  box-sizing: border-box;
  background: orange
}
p {
  width: 80%;
  margin: revert auto;
  border: solid;
  background: turquoise
}
div:first-child p:first-child {
  margin: auto;
  background: tomato;
}
div + div p:last-child {
  margin-left: auto;
  margin-right: auto;
  background: lime;
}
&#13;
<div>
  <p>margin:0;</p>
  <p>margin test</p>
  <p>margin test</p>
  <p>margin test</p>
</div>
<div>
  <p>margin test</p>
  <p>margin test</p>
  <p>margin test</p>
  <p>margin-left:auto; margin-right:auto;</p>
</div>
&#13;
&#13;
&#13;

答案 3 :(得分:-1)

.center {margin:0 auto;}

假设您知道您的上边距和下边距是相同的值。第一个值是你的顶部和底部。第二个是你的左右。