如果我想在margin-left: auto
和margin-right: auto
单独离开时添加margin-top
和margin-bottom
,我可以使用速记保证金语法吗?
基本理念:
.center {
margin: dont-specify auto;
}
谢谢!
编辑:简而言之,答案是没有这样的关键字。为清楚起见,通过'dont-specified',我并不是指'删除规范','回滚规范'或'指定低特异性'。我的意思是,“这个规则不应该指定一个新值”。我不负责任。确实很容易解释“不要指定”多种不同的方式!谢谢大家的回答!
答案 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
。
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;
答案 3 :(得分:-1)
.center {margin:0 auto;}
假设您知道您的上边距和下边距是相同的值。第一个值是你的顶部和底部。第二个是你的左右。