jquery width,innerWidth,outerWidth

广告位招租
扫码页面底部二维码联系

jquery中获取/设置一个元素的宽度/【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】高度,我们通常使用width()、hei【转载请注明来源】【本文首发于唐霜的博客】ght()这两个方法,但是除了width著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。之外还有innerWidth和outer著作权归作者所有,禁止商业用途转载。【本文首发于唐霜的博客】Width,你知道吗?对应的,heigh【原创不易,请尊重版权】【访问 www.tangshuang.net 获取更多精彩内容】t也有innerHeight和outer未经授权,禁止复制转载。【本文首发于唐霜的博客】Height。

【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。

这就必须讲到盒子模型,盒子模型将一个元素【本文首发于唐霜的博客】【转载请注明来源】的宽高用盒子模式表达出来,包括元素内容的转载请注明出处:www.tangshuang.net【转载请注明来源】宽高(width)、包含内边距的宽高(p【未经授权禁止转载】转载请注明出处:www.tangshuang.netadding)、再向外包含边框粗细的宽高【本文受版权保护】【关注微信公众号:wwwtangshuangnet】(border-width)、再向外包含本文版权归作者所有,未经授权不得转载。【作者:唐霜】元素外边距的宽高(margin)。

【本文首发于唐霜的博客】本文作者:唐霜,转载请注明出处。【原创不易,请尊重版权】【版权所有】唐霜 www.tangshu【关注微信公众号:wwwtangshuangnet】【访问 www.tangshuang.net 获取更多精彩内容】ang.net

在不同版本的浏览器中,使用css设置wi【关注微信公众号:wwwtangshuangnet】【本文首发于唐霜的博客】dth值并不一定能得到相同的结果,但现代【版权所有】唐霜 www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】浏览器基本都统一了盒子模型,所以总体上基本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshuangnet】本不会有差别。

【版权所有,侵权必究】【未经授权禁止转载】【原创内容,转载请注明出处】

在盒子模型的基础上,jQuery的wid【原创不易,请尊重版权】著作权归作者所有,禁止商业用途转载。th相关方法就可以获取上面所说的四种宽度【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。的任意一种。

【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。

0042_04_04

【未经授权禁止转载】【作者:唐霜】原创内容,盗版必究。

width()获取/设置的是元素的内容的未经授权,禁止复制转载。原创内容,盗版必究。实际宽度。比如我们举一个例子:

【本文首发于唐霜的博客】【版权所有】唐霜 www.tangshu【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.netang.net【本文受版权保护】
#test {
  width: 100px;
  padding: 10px;
  border: #ccc solid 5px;
  margin: 15px;
}

#test的width就是100px。由【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net于重叠的margin值会被忽略,所以这个【转载请注明来源】【关注微信公众号:wwwtangshuangnet】盒子实际上最终的外部宽度是100px +【原创不易,请尊重版权】【作者:唐霜】 10px * 2 + 5px *2 +本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。 15px[*2]. 如果我们通过$(&著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】#8216;#test’).【原创内容,转载请注明出处】未经授权,禁止复制转载。width(50)设置元素宽度,只有10【原创不易,请尊重版权】【未经授权禁止转载】0px会变成50px其他值不会发生变化。

【原创内容,转载请注明出处】著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。

0042_04_05

本文版权归作者所有,未经授权不得转载。【本文首发于唐霜的博客】【本文受版权保护】

#test的innerWidth就是wi本文作者:唐霜,转载请注明出处。【转载请注明来源】dth+padding的宽度,倘若我们使【原创内容,转载请注明出处】【未经授权禁止转载】$('#test').innerWidth(150)进行设置,你会发现,上述四个值中,后两个本文作者:唐霜,转载请注明出处。【原创不易,请尊重版权】值不会变化,而前面的padding值其实【访问 www.tangshuang.net 获取更多精彩内容】本文作者:唐霜,转载请注明出处。也不会变化,但是它会被计算在变化后的in【版权所有,侵权必究】原创内容,盗版必究。nerWidth中,所以其实这个时候,w【版权所有,侵权必究】【本文受版权保护】idth会变为130px。

本文版权归作者所有,未经授权不得转载。【版权所有,侵权必究】【本文首发于唐霜的博客】原创内容,盗版必究。

0042_04_06

【原创内容,转载请注明出处】【本文受版权保护】【版权所有】唐霜 www.tangshu原创内容,盗版必究。【作者:唐霜】ang.net

innerWidth不会把边框计算在内,著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。但是outerWidth则正好包括边框。【关注微信公众号:wwwtangshuangnet】【未经授权禁止转载】例如我们使用$('#test').outerWidth(200),这个时候要把边框也计算到变化的宽度中,本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshuang.net因此实际上此时的width值变为了170【作者:唐霜】【版权所有】唐霜 www.tangshuang.netpx。

【原创不易,请尊重版权】未经授权,禁止复制转载。

使用var outerWidth = $('#test').outerWidth(true)可以获得包括margin在内的整个盒子模【访问 www.tangshuang.net 获取更多精彩内容】【版权所有,侵权必究】型外边界的宽度。但是由于margin所在本文版权归作者所有,未经授权不得转载。原创内容,盗版必究。的视界并不会被用于计算变化的宽度,所以我【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。们无法通过这种方法设置整个盒子模型外边界【访问 www.tangshuang.net 获取更多精彩内容】【本文受版权保护】的宽度。但是实际上,我们在实际开发中,会【原创不易,请尊重版权】著作权归作者所有,禁止商业用途转载。通过先忽略margin后进行计算的方法使原创内容,盗版必究。本文作者:唐霜,转载请注明出处。用outerWidth来设置盒子宽度。

【本文受版权保护】转载请注明出处:www.tangshua【访问 www.tangshuang.net 获取更多精彩内容】【未经授权禁止转载】ng.net

掌握这个知识点其实很重要,因为我们会经常【本文首发于唐霜的博客】原创内容,盗版必究。改变页面中元素的宽度,比如拖拽resiz【版权所有】唐霜 www.tangshuang.net【原创不易,请尊重版权】e等操作,如果在这些特定的场景下心中没有著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。盒子模型,很难得到我们想要的结果。

【关注微信公众号:wwwtangshua【版权所有】唐霜 www.tangshuang.net【作者:唐霜】ngnet】原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.n本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。et 获取更多精彩内容】

2016-06-17 4216 ,

为价值买单,打赏一杯咖啡

本文价值42.16RMB