1、width:autocss
一、块级元素默认的宽度值,意味着浏览器会本身选择一个合适的宽度值。html
二、内容的宽度='margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right'浏览器
若是margin-left' + 'border-left-width' + 'padding-left' + 'padding-right' + 'border-right-width' + 'margin-right'比较大,就减少width的值,若是比较小呢,就增大width的值,使其知足上面的表达式。布局
2、width:100%htm
当width设置为100%以后,它的宽度就是父级的width,而且随着父级的width自动变化,增长子元素的padding和margin以后,它的width仍是不变的,这是与设置为auto的区别。get
3、width:auto和width:100%的区别容器
一、width:100% 并不包含margin-left margin-right的属性值,直接取其父容器的宽度加上含margin-left /margin-right的值。若是设置了margin那新的width值是容器的宽度加上margin的值。就会发现加了 margin相对应的边就会多出设置的空白。并且会多出横向滚动条由于宽度已经超出了屏幕的范围,(这条相对于父容器是body)。margin
二、width:auto包含margin-left/margin-right的属性值。width:auto老是占据整行,这其中margin的值已经包含其中了,若是要设置margin的值那就用一整行而后减去margin的值就获得了如今的宽度了。减去的这个值就是相应边得空白。显著的特征是这个没有横向滚动条出现也就是宽度没有增长。di
三、通常width:auto使用的多,由于这样灵活,而width:100%使用比较少,由于在增长padding或者margin的时候,容易使其突破父级框,破环布局。co
参考资料: css中width:auto和width:100%的区别 http://www.studyofnet.com/news/965.html