需要快速收录的请联系QQ:2303230985
当前位置:SEO网站目录 » 站长资讯 » 网站运营 » 文章详细 订阅RssFeed

Position为absolute的div或dropdown menu在设置了overflow的div中显示不完全(cropped)

来源:互联网 浏览:1057次 时间:2022-06-25
Three methods to solve: 三种方法

1. 假设你要将div4(absolute postion) 根据div3定位,但是显示区域会超过div1。而div1却有overflow,若没有div2,那么div4会显示不完全。
解决方案:在有overflow的div1和定位参考的div3之间,多加一层div2,使其position为absolute。但注意的是,这时div1不能有position:relative,否则div4还是会显示不完全。为了让div2显示的位置正确,可通过设置div1的padding属性来调整。

#div1 { overflow: hidden }
#div2 { position: absolute }
#div3 { position: relative }
#div4 { position: absolute }
<div id="div1">
<div id="div2">
<div id="div3">
<div id="div4"/>
</div>
</div>
</div>

2. 若需要absolute定位的div是根据有overflow的那个div来定位的,如下面的div2和div1,那么div2也会被cropped。

#div1 { overflow: auto; position: relative;}
#div2 { position: absolute}


<div id="div1">
<div id="div2"/>
</div>

解决方案:在有overflow的div外加一层div,使其大小根据div1变化,但是将relative position换到这个多加的div中,使div2直接根据div1-wrap定位,这样就不会被cropped了。


#div1-wrap {position:relative; height:auto; width:auto;}
#div1 { overflow: auto}
#div2 { position: absolute}
<div id="div1-wrap">
<div id="div1">
<div id="div2"/>
</div>
</div>


3. 最后一种方法我个人觉得是比较稳妥的(因为发现前两种方法在滚动div内不会随着滚动),也就是当需要该div出现时,用js实时定位其所在的位置。
像在下面的代码里,我有一个可滚动的列表,列表里有多个行(可动态添加和删除),每行内有个图标,点击该图标会出现一个紧挨着它的下拉菜单。之前用了方法1,后发现在列表末端(即需要滚动才能看得到的)行的下拉菜单会显示到很下面,且不会随着列表滚动而滚动。这里,$(ele)为图标元素,当点击该图标后,js实施获取其元素位置,然后根据该位置来定位下拉菜单的位置。



不过需要注意的是,获取元素位置有两种方式。一种是offset(),它获取的是元素在视窗内的位置,与页面内其他元素无关。例如offset().top获取的就是该元素到你浏览器显示范围的顶端的距离,注意,不是到页面顶端的距离。所以说当你的整个页面有滚动时,即使该元素在整个页面中的位置不变时,返回的值也会不同。另一种是position(),它返回的是相对父元素(有position:relative)的位置。在下面的例子当中,我将最顶层的整个大页面设置了position:relative,这样获取到的图标位置就是相对整个页面内的位置了。由于在最顶层页面和下拉菜单之间不存在别的position:relative的元素,下拉菜单也是相对这个最顶层页面定位的。因此可以正确定位,且不会被cropped。

var itop = $(ele) .position() . top;
var ileft = $(ele) .position() .left;
var utop = itop + 20;
var uleft = ileft 一115;
var $dropdownMenu = addTeamDropdownMenu() ;
$ ($d ropdownMenu) . css({"top" :utop+"px" ,"left" :uleft+"px"});
$(ele). parent() . append ( $d ropdownMenu) ;


最新点入

  • 阳光游戏阳光游戏

    阳光游戏网为玩家提供新的网络游戏,单机游戏,手机游戏,手游等资源,经过多年努力已成为游戏玩家首要选择的游戏资讯、游戏资源网站。

    www.shiciwang.com.cn
  • 站长交易平台站长交易平台

    2898站长资源平台作为站长资源交换平台,致力于为广大站长和网站运营人员提供最方便、最快捷的站长资讯、站长交易、链接交易、链接交换、资源交换等服务。

    www.2898.com
  • 香香腐宅_官网入口香香腐宅_官网入口

    香香腐宅平台最新版是一款备受漫画爱好者喜爱的阅读软件,它为用户提供了海量的漫画资源,香香腐宅官网涵盖了各种题材和类型,让用户能够轻松找到自己喜欢的漫画www.boylove88.com。

    www.boylove88.com
  • 全球網址提交網全球網址提交網

    全球網址提交網是全免費的網址提交目錄,收錄國內外、各行業優秀網站,為用戶提供全面的網站分類目錄網站、優秀網站參攷、友情連結交換平臺、網站推廣服務國內免費的網站提交入口(www.urlglobalsubmit.com)。

    www.urlglobalsubmit.com
  • 国际电子商务网国际电子商务网

    欢迎访问国际电子商务网,这里有各行业信息网/B2B电子商务网站,是最方便的免费网络推广平台,已成为无数商家网络营销/网络推广的首选网站!

    www.intbtb.com

推荐站点

  • BOSS直聘BOSS直聘

    BOSS直聘是权威领先的招聘网,开启人才网招聘求职新时代,招聘求职找工作,上BOSS直聘,直接谈!

    https://www.zhipin.com
  • 国聘招聘平台国聘招聘平台

    国聘招聘平台集成校园招聘和社会招聘等主渠道,通过多终端互联呈现,为企业提供信息发布、简历管理、线上笔面试、网络测评、云端咨询、背景审核等“一揽子”综合服务;为求职者提供信息真实、功能完整、环境友好、操作简便的平台界面;用放心、专心、热心的服务,高效匹配用人单位和求职者。

    https://www.iguopin.com/
  • 就业在线就业在线

    就业在线平台是由人力资源社会保障部组织建设的国家级招聘求职服务平台。汇聚各地、各类人力资源服务机构“旗舰店”,发挥公共就业人才服务机构和经营性人力资源服务机构作用,实现招聘求职信息实时、全面汇聚、共享和发布,支持跨区域、跨层级开展招聘求职服务。

    https://www.jobonline.cn/
  • 兼职猫app兼职猫app

    兼职猫是一个真实、可靠的兼职招聘平台,为广大学生、蓝领免费提供安全、靠谱的兼职工作信息,帮助求职者快速找到适合的岗位,找兼职就上兼职猫。

    https://www.jianzhimao.com/
  • 青团社兼职青团社兼职

    青团社兼职——找兼职,招兼职,全国大学生免费兼职服务平台。青团社兼职是国内首家免费兼职平台,为大学生提供海量安全兼职招聘信息,有高薪兼职、日结兼职、附近兼职、周末兼职各类兼职模块。更与世界500名企强强联合,为学生提供优质的兼职岗位。青团社兼职免费赠送兼职保险,为每一位兼职用户提供安全保障。找兼职,上青团社兼职!

    https://www.qtshe.com/