7大属性:margin-left、border-left、padding-left、width、padding-right、border-right、margin-right 这7个属性的值加在一块儿必须是元素包含块的宽度,也就是元素父级元素的widthide
这7个属性中,只有3个属性能够设置为auto:元素内容width,以及左、右外边距,其他属性必须设定为特定的值,或者默认宽度为0code
width必须设置为auto或者某种类型的非负值。图片
假设:父元素的宽是400pxit
一、那么左外边距(margin-left)就是200pxim
p{margin-left:auto; margin-right:100px; width:100px;}
二、那么margin-right会强制为auto(只对从左向右读的语言),使其总和加起来为400pxmargin
p{margin-left:100px; margin-right:100px; width:100px;}
三、自动宽度img
p{margin-left:100px; margin-right:100px; width:auto;}
也就等价于下面语言
p{margin-left:100px; margin-right:100px;}
四、会自动给左右边距设置相等的长度,将元素在其父元素中居中di
p{margin-left:auto; margin-right:auto; width:100px;}
五、若是width为auto,那么设为auto的外边距会减为0co
p{margin-left:auto; margin-right:100px; width:auto;}
六、外边距都减为0
p{margin-left:auto; margin-right:auto; width:auto;}
七、负外边距
div{width:400px; border:3px solid black;} p.wide{margin-left:10px; width:auto; margin-right:-50px;}