码迷,mamicode.com
首页 > Web开发 > 详细

css中width:auto和width:100%的区别是什么

时间:2017-01-31 15:12:22      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:属性   块级元素   宽度   order   超出   pad   border   就会   并且   

width的值一般是这样设置的:

1,width:50px;//宽度设为50px

2,width:50%;//宽度设为父类宽度的50%

3,还有一个值是auto(默认值),宽度是自动的,随着内容的增加而增加,随着浏览器的宽度而换行

 

width:auto和width:100%的区别:

 

一、width:auto

1、块级元素默认的宽度值,意味着浏览器会自己选择一个合适的宽度值。

2、内容的宽度=‘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的值,使其满足上面的表达式。

 

二、width:100%

当width设置为100%之后,它的宽度就是父级的width,并且随着父级的width自动变化,增加子元素的padding和margin之后,它的width还是不变的,这是与设置为auto的区别。

 

三、width:auto和width:100%的区别

1、width:100% 并不包含margin-left  margin-right的属性值,直接取其父容器的宽度加上含margin-left /margin-right的值。如果设置了margin那新的width值是容器的宽度加上margin的值。就会发现加了  margin相对应的边就会多出设置的空白。而且会多出横向滚动条因为宽度已经超出了屏幕的范围,(这条相对于父容器是body)。

2、width:auto包含margin-left/margin-right的属性值。width:auto总是占据整行,这其中margin的值已经包含其中了,如果要设置margin的值那就用一整行然后减去margin的值就得到了现在的宽度了。减去的这个值就是相应边得空白。显著的特征是这个没有横向滚动条出现也就是宽度没有增加。

3、一般width:auto使用的多,因为这样灵活,而width:100%使用比较少,因为在增加padding或者margin的时候,容易使其突破父级框,破环布局。

 

css中width:auto和width:100%的区别是什么

标签:属性   块级元素   宽度   order   超出   pad   border   就会   并且   

原文地址:http://www.cnblogs.com/yll134/p/6358824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!