子元素脱离父元素

生物

可以说我们有这个html:

<!DOCTYPE html>
<html>
<head></head>
<body>
    <div id="navbar"></div>
    <div id="main">
        <textarea id="input"></textarea>
        <textarea id="output"></textarea>
    </div>
</body>
</html>

和这个CSS:

html,body,#main{
    height:100%;
}

html{ border: 1px solid red; }
body{ border: 1px solid green; }
#main{ border: 1px solid blue; }
#navbar{ height: 30px; }

textarea{
    width: 45%;
    height: 60%;
    resize: vertical;
}

#input{
    float: left;
}

#main{
    float: right;
}

如果查看结果,则可以看到此处body超出html标签,#main超出body和html标签。如何使所有元素都超出父级高度?所以我希望结果是这样的:

在此处输入图片说明

乔什·克罗齐耶(Josh Crozier)

一方面,body它的默认边距为8px;

首先重置它们。

body {
    margin:0px;
}

此外,borders不会将高度计算在内,而是将它们相加。因此,高度实际上是100%+ 2px边框。您可以通过添加来更改此设置box-sizing: border-box;

这将解决html/的问题body现在,#main发生这种情况的原因是,将a30px nav放置在其外部。#main实际上是100%,但是100%低于30px,这就是为什么您看到差距。

在这里更新了jsFiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章