html - 为什么填充和边距不起作用?
问题描述
我有以下html页面:
<!DOCTYPE html>
<html>
<head>
<style>
html {
height: 100%;
}
body {
margin: 0;
padding: 0;
height: 100%;
}
.box {
height: 100%;
background-color: brown;
}
</style>
</head>
<body>
<div class="box">
<p>This is a paragraph.</p>
<p>This is a paragraph.</p>
</div>
</body>
</html>
如您所见,虽然body
设置为:
margin: 0;
padding: 0;
解决方案
这是由于利润率下降。
本质上,p
边距与父div
边距(然后再次与body
边距)相结合,以推动body
向下。
有(至少)3种方法可以解决这个问题:
margin-top
从 中删除p
,这具有删除所有p
标签的边距的负面影响。- 向容器 ( )添加
border-top
或,这会产生添加您可能不想要的填充或边框的负面影响。padding-top
.box
- 将
overflow: [something]
诸如添加overflow: hidden
到.box
容器中,这可能会以不希望的方式改变溢出。
<!DOCTYPE html>
<html>
<head>
<style>
html {
height: 100%;
}
body {
margin: 0;
height: 100%;
}
.box {
/* padding-top on the container is one solution */
padding-top: 1px;
height: 100%;
background-color: brown;
}
</style>
</head>
<body>
<div class="box">
<p>This is a paragraph.</p>
<p>This is a paragraph.</p>
</div>
</body>
</html>
推荐阅读
- amazon-web-services - 加密 S3 数据的 AWS Quicksight Athena 导入错误
- google-cloud-platform - 如何使用服务帐户从共享驱动器 GCP 导出文件
- html - HTML5 & Javascript Printer - 在 webapp 上使用移动打印机
- javascript - 如何使用一个重复键和另一个唯一键过滤一组对象
- sql - 加载表时找不到实现约束、键、索引的策略
- java - org.hibernate.bytecode.javassist.FieldHandled 类型无法使用休眠版本 5.4.18.Final 解析
- c# - 开发中同一端口和 url 上的多个服务
- html - 如何使用 CSS 和 HTML 为“___”和“-”等文本添加时尚的断线?
- javascript - Ajax 成功不适用于嵌套的 .ajax
- reactjs - 反应不渲染图像