父元素固定高度并設(shè)置overflow:auto;
子元素中有個(gè)下拉框,當(dāng)里面元素足夠多(高度超出父元素高度)時(shí),內(nèi)容被父元素遮擋
原諒我打碼。
我也考慮過(guò)把overflow:auto移到最外層,但是與需求還是有點(diǎn)區(qū)別,所以想問(wèn)下有沒(méi)有更好的實(shí)現(xiàn)方法
簡(jiǎn)單粗暴的例子如果是父元素固定高度,overflow:auto,當(dāng)子元素下拉框超過(guò)其父元素時(shí)并不會(huì)被遮擋。所以查找下你的代碼,看哪里是否有設(shè)置z-index或者其他之類的。
聲明一下,因?yàn)轭}主之前說(shuō)的是select下拉框加option,所以我上面那個(gè)回答是回答他之前那個(gè)問(wèn)題的,現(xiàn)在可以忽略這個(gè)回答。
--------------------------------更新分割線----------------------------------
可以設(shè)置下拉框樣式為position:fixed,然后點(diǎn)擊選擇時(shí),計(jì)算該選擇器距離左邊和頂部的距離,然后賦值給模擬的下拉框的樣式來(lái)實(shí)現(xiàn)
例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Document</title>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
</head>
<style>
.table{width:500px; height:100px; overflow-y:auto; border:1px solid #000;}
*{padding:0; margin:0;}
ul li{list-style:none;}
.choose-wrap{text-align:center;}
.choose-wrap p{width: 200px; border:1px solid #000; margin:0 auto;}
.choose-list{position:fixed; width:200px; text-align:center; border:1px solid #efefef; display:none; background-color:#fff;}
</style>
<body>
<div class="table">
<div class="choose-wrap">
<p onclick="showChoose();">請(qǐng)選擇</p>
<ul class="choose-list">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
</div>
</div>
<script>
function showChoose(){
$('.choose-list').css({'left':$('.choose-wrap p').offset().left,'display':'block','top':$('.choose-wrap p').offset().top+$('.choose-wrap p').height()})
}
</script>
</body>
</html>外層有了overflow,內(nèi)層無(wú)法脫離這個(gè)范圍,即使絕對(duì)定位也不行。
像這個(gè)地方,有個(gè)思路,因?yàn)檫@里的下拉是div模擬的,可以把模擬的下拉框?qū)懺谀阍O(shè)置overflow的元素外,然后點(diǎn)擊下拉框,把模擬下拉框的東西通過(guò)位置計(jì)算定位過(guò)來(lái)。
舉栗:
這個(gè)下拉就脫離不了外層的overflow。
但是這個(gè)日期就可以:
因?yàn)檫@個(gè)日期寫在這個(gè)overflow元素的外面(body最后),然后當(dāng)我點(diǎn)擊文本框,它計(jì)算位置然后把這個(gè)日期控件給定位過(guò)來(lái)顯示。
寫在父元素外面,通過(guò)position: fixed;定位到你點(diǎn)擊你那個(gè)下面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.box{
width: 200px;
}
ul{
overflow-y: auto;
height: 100px;
overflow-x: hidden;
}
ul li{
position: relative;
width: 200px;
}
.a{
position: fixed;
background: red;
z-index: 100;
display: none;
width: 500px;
height: 500px;
}
</style>
</head>
<body>
<div class="box">
<ul>
<li>11111</li>
<li>11111</li>
<li>11111</li>
<li>11111</li>
<li>11111</li>
<li>11111</li>
</ul>
</div>
<div class="a">jjjjjffffffffffjj</div>
<script>
var list = document.querySelectorAll('li');
var a = document.querySelector('.a')
list.forEach(function(el){
el.onclick=function(event){
a.style.display = 'block';
a.style.top =el.offsetTop+'px';
a.style.left =el.offsetLeft+el.offsetWidth/2+'px';
}
})
</script>
</body>
</html>
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。