我的代码如下:
HTML:
<div id="box">
<div id="left">Left</div>
<div id="right">Right</div>
</div>
CSS:
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
#box {
width: 100%;
height: 100%;
margin-bottom: -50px;
padding-bottom: 50px;
-moz-box-sizing: border-box;
box-sizing: border-box;
background: red;
}
#box > #left {
width: 100%;
height: 100%;
margin-right: -210px;
padding-right: 210px;
-moz-box-sizing: border-box;
box-sizing: border-box;
display: inline-block;
background: yellow;
/*overflow-y: scroll;*/
}
#box > #right {
width: 200px;
height: 100%;
display: inline-block;
/*float: right;*/
background: green;
/*overflow-y: scroll;*/
}
从this fiddle可以看出,CSS源代码中有3条评论(/* ... */
)。一个与位置#right
相关,而另一些与滚动条的存在相关联。查看结果屏幕...您可以在#right
右侧看到黄色长边。
我想使用float: right;
删除此(黄色边)(要解开float: right;
评论),但它不能正常工作...具体来说,#right
框变为无形。
我该怎么做才能解决这个问题?
然后我恢复原状(重新包装float: right;
注释),然后我打开overflow-y: scroll;
注释以启用滚动条。同样,它不能正常工作...... :(
滚动条叠加在同一空间上。我想正确地将#left
的滚动条放在#left
的右侧。遗骸是这样的。
如何解决这个问题?
总结......
Q1。如何完美地定位#right
?
Q2。如何完美地定位#left
和#right
的滚动条?
感谢。
答案 0 :(得分:0)
我终于在3个月后找到了答案。哈哈哈...
令人惊讶的是,答案很简单。
#left-wrap
以外添加新的#left
HTML标记。#left-wrap
CSS。#left
CSS移至#left-wrap
,但background
和overflow-y
除外。width: 100%; height: 100%;
CSS中添加#left
。overflow-y: scroll;
中的#left
以及#right
中的float: right;
和#right
。#right
中的停用,请添加position: relative; z-index: 10;
。 (如果足够大,你可以使用任何数字。)您可以在 this fiddle 中看到结果。
<强> HTML:强>
<div id="box">
<div id="left-wrap">
<div id="left">
Left<br />Left<br />Left<br />Left<br />Left<br />Left<br />
Left<br />Left<br />Left<br />Left<br />Left<br />Left<br />
Left<br />Left<br />Left<br />Left<br />Left<br />Left<br />
Left<br />Left<br />Left<br />Left<br />Left<br />Left<br />
Left<br />Left<br />Left<br />Left<br />Left<br />Left<br />
Left<br />Left<br />Left<br />Left<br />Left<br />Left<br />
</div>
</div>
<div id="right">
Right<br />Right<br />Right<br />Right<br />Right<br />Right<br />
Right<br />Right<br />Right<br />Right<br />Right<br />Right<br />
Right<br />Right<br />Right<br />Right<br />Right<br />Right<br />
Right<br />Right<br />Right<br />Right<br />Right<br />Right<br />
Right<br />Right<br />Right<br />Right<br />Right<br />Right<br />
Right<br />Right<br />Right<br />Right<br />Right<br />Right<br />
</div>
</div>
<强> CSS:强>
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
#box {
width: 100%;
height: 100%;
margin-bottom: -50px;
padding-bottom: 50px;
-moz-box-sizing: border-box;
box-sizing: border-box;
background: red;
}
#box > #left-wrap {
width: 100%;
height: 100%;
margin-right: -210px;
padding-right: 210px;
-moz-box-sizing: border-box;
box-sizing: border-box;
display: inline-block;
}
#box > #left-wrap > #left {
width: 100%;
height: 100%;
background: yellow;
overflow-y: scroll;
}
#box > #right {
width: 200px;
height: 100%;
display: inline-block;
float: right;
background: green;
overflow-y: scroll;
/* To prevent the disabled. */
position: relative;
z-index: 10;
}
感谢。