课程
/前端开发
/HTML/CSS
/初识HTML(5)+CSS(3)-升级版
如果修改margin:20px auto 中20px的值那么只有上下边距会发生变化,但是margin:20px auto这句代码不是说的是上下边距都为20px,然后左右边距为auto么???为什么修改20px的值后,只有上边距(margin-top)发生变化呢???
2016-03-24
源自:初识HTML(5)+CSS(3)-升级版 15-2
正在回答
底部没有参照当然看不出是改变了。居中设置,则左右边距值相对浏览器自动调整。上下边距自定义。你可以多加一行块代码在其后作为参照,就知道下margin-bottom也改变了。
it勒布朗
我也有跟题主一样的问题,我是这么觉得的,如果不设置上下,那么浏览器默认的是把元素贴在上端,然后设置了margin的top和bottom,虽然两者都有变化,但是上方是跟其父元素相靠近的,所以margin-top就产生了效果,和他父元素的距离就是margin-top,至于其下端因为没有参考物,所以显示不改变,
margin的left top不是我们以前给块状元素直接定位的left和top,他只是一个跟其他元素的距离,而left,right是在页面的距离
TheRedWolf 提问者
可是当你改变了margin:20px auto;中 20px的值后,却只有上margin-top变化了啊!这是为什么?
你要有父元素的概念。
div父元素是整个浏览器页面,高度固定,div高度野固定,margin-top和margin-bottom是无法同时设置的
举报
HTML(5)+CSS(3)基础教程8小时带领大家步步深入学习标签用法和意义
2 回答margin:20px auto
1 回答20px在margin:20px auto;中的意义是什么?
2 回答关于margin设置auto的问题
2 回答求解答.margin:auto margin-left:20px auto
3 回答div{ border:1px solid red; width:500px; margin:20px auto; }“没有width:500px;”margin中的auto也能起到作用?