为了账号安全,请及时绑定邮箱和手机立即绑定

小瑕疵:下拉框盖住搜索框-解决办法

老师讲的不错 就是最后提到的小瑕疵,下拉框盖住了搜索框,手动修改是不错,可是还是希望老师能讲清楚为什么造成这种情况,这样才能学透彻。<br>
查了相关资料,有了解决办法:<br>
jQuery中求控件宽度或高度有两种方式,返回结果是不同的,以宽度为例:<br>
(1)$("XXX").offset().width();<br>
(2)$("XXX").offset().outerWidth();<br>
例如一个div元素:<br>
< div id="box" class="box"></div><br>
它的css如下<br>
.box{width:500px;height:500px;border:1px solid #ccc;padding:10px}<br>
这个box除了500px宽度,还有1px边框和10px内边距。<br>
若用$("#box").offset().width(),求得的宽度是500px,没有内边距和边框宽度;<br>
若用$("#box").offset().outerWidth(),求得的宽度是522px,是算上内边距和边框宽度的。
所以下拉框会盖住搜索框是因为定位时下拉框的top应为:搜索框的offset().top加上搜索框的offset().outerWidth(),而不是offset().width(),因为在css设置中搜索框是有5px内边距的。

正在回答

2 回答

nice~

0 回复 有任何疑惑可以回复我~

6666,其实我疑问的是他为什么选的是seach-form中的height(),而不是seach-text

0 回复 有任何疑惑可以回复我~
#1

爱丽丝走丢了 提问者

下拉框肯定不能覆盖上搜索框,搜索框包含两个部分,输入框search-text和搜索按钮search-button,前者高度是25px,后者高度是29px,但是整个搜索框还有上下左右各5px内边距,所以整个搜索框高度是29+10=39px。下拉框若不想盖住搜索框,就要下移search-form的高度(39px),而不是search-text的高度。
2015-12-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
搜索框制作
  • 参与学习       66040    人
  • 解答问题       431    个

本课程从简入深讲解搜索框的制作,学习JQ与JS实现Ajax技术的不同点

进入课程

小瑕疵:下拉框盖住搜索框-解决办法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信