问一个css的问题,position相关
<style>
#main {
height: 100px;
width: 100px;
overflow: auto;
}
#child1 {
height: 100px;
width: 50px;
border: 2px solid red;
}
#child2 {
border: 2px solid green;
height: 100px;
width: 50px;
position: relative;
top: -100px;
}
</style>
<div id='main'>
<div id='child1'>
</div>
<div id='child2'>
</div>
</div>
主div使用了overflow: auto;
子div1很普通
子div2使用relative向上偏移
效果如图1所示
但是当滚动条向下是就会出现大量空白
效果如图2所示
因为这个空白是原来div2的位置,因为向上浮动了,所以留下了空白
请问能去掉空白吗?
限制:不能更改main的尺寸和overflow,不同iframe来替代main
------解决方案--------------------<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
#main {
height: 100px;
width: 100px;
overflow: auto;
}
#child1 {
height: 100px;
width: 50px;
border: 2px solid red;
}
#child2 {
border: 2px solid green;
height: 100px;
width: 50px;
margin-top: -100px;
}
</style>
</head>
<body>
<div id='main'>
<div id='child1'>
</div>
<div id='child2'>
</div>
</div>
</body>
</html>
这样试试