,我看到的每个使用 CSS 水平居中元素的示例都说要将margin-left
和margin-right
设置为 auto
。我在CSS方面不是很有经验,所以我想知道是否有理由设置这两个属性,而不仅仅是将一个或另一个设置为50%
?会有副作用吗?
您在问题中添加了css3
标签。现代浏览器(http://caniuse.com/#feat=flexbox)中的一个选项是使用Flexbox。将display: flex; justify-content: center
添加到父级。这将以儿童为中心。
CSS Tricks有一个很好的Flexbox指南:http://css-tricks.com/snippets/css/a-guide-to-flexbox/
将左边距设置为 50% 将导致框的左边缘居中,这与将整个框居中并不完全相同。
另一种常用的方法是将 left
属性设置为 50%
,设置固定宽度,并将左边距设置为固定宽度的负一半。