您的位置:首页 > Web前端 > CSS

关于宽度100% 出现横向滚动条的问题 以及注意您的显示器...

2017-03-25 12:06 627 查看
今天在做题的时候遇到这样一道题:



看一下感觉不难,然后就撸起来了。大体采用绝对定位,ie的盒模型(比标准盒模型好酸多了),感觉应该没啥问题的,走你->

主体代码是这样的:

<style type="text/css">
*{
margin: 0;
padding: 0;
}
html,body{
height: 100%;
}
header{
border:1px green solid;
box-sizing: border-box;
height: 120px;
left: 0px;
margin: 10px;
padding: 10px;
position: absolute;
top: 0px;
width: 100%;
}
header #logo{
border: 1px red solid;
float: left;
height: 96px;
width: 96px;
}
header #user{
border: 1px black solid;
float: right;
height: 23px;
margin-top: 75px;
width: 200px;
}
header #user span{
color: black;
font-size: 20px;
line-height: 23px;
text-align: right;
}

aside{
position: absolute;
right: 10px;
top: 120px;
width: 200px;
}

#content{
border: 1px purple solid;
bottom: 40px;
box-sizing: border-box;
left: 10px;
position: absolute;
right: 220px;
top: 140px;
}

footer{
border: 1px black solid;
bottom: 0px;
box-sizing: border-box;
height: 25px;
left: 0px;
margin: 10px;
position: absolute;
width: 100%;
}
</style>
</head>
<body>
<header>
<div id="logo"></div>
<div id="user">
<span>用户名</span>
</div>
</header>

<div id="content"></div>

<aside></aside>

<footer></footer>
</body>
what???怎么是这个鬼样,下面怎么多了个滚动条啊??还有右边的margin呢???



真是淡淡的忧伤,想了下,盒子那些都算计好了的啊,不应该啊,咦,下面那个-20是什么情况(取的是header标签):



我量了下显示器的显示区域宽度和content+margin的宽比较了下,刚好少了20px,难怪右边没有显示全,突然发现自己脑残了,把width射程100%,又还是ie的盒模型,还设置了margin,自己作,好吧ie盒模型width是不包括margin的,所以这里最后的宽度是100%+20px,当然就唧唧了。那就改改。就不贴代码了,就是去掉margin,并将对应的top,bottom,left,right做修改。

结果,好像没有变化啊。。。只是上面的-20就没有了。。。但效果还是老样子,熟悉的滚动条,看不完的右边。。。真是万千草泥马奔涌,思来想去不得姐,问问度娘,寻思着张鑫旭大神说不定遇到过,但没找到,网上的说法是还是和那个width:100%有关,说把百分比调小一点就好,当然这样可以,但是调小多少不精确,收缩窗口会影响效果,我是有点强迫症的。难道left,right和margin一样都是width之外的东西,并且还是从左到右占着屏幕位置,再次测量确实是这样子的。

那好办,我们就不用width百分比了,不是已经用绝对定位了吗,而且left,right俱在,直接把width去掉

效果很好,滚动条没有了,等等,右边为什么还是少了点,我就不卖管子了,这里是个巨坑,我纠结了将近半个小时,原来是我这显示器的大黑边害的,右边的内容盖在黑边下,我就奇了怪了,咋左边不盖呢,反正就是这样了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CSS width 滚动条
相关文章推荐