关于HTML两侧留白的解决以及解决过程

本文通过实例代码展示了如何消除HTML与Body元素的默认外边距,以避免页面顶部和左右两侧出现不必要的留白。文章解释了body标签默认具有外边距,并通过设置margin:0px;来消除这一默认样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先上代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>title</title>
</head>

<body>
    <div class="box">
    </div>
</body>

<style>
    html{
        background-color: black;
    }
    body{
        height: 300px;
        background-color: darkgoldenrod;
        /* padding: 0px; */
        /* margin: 0px; */
        /* border: 0px; */
    }
    .box{
        background-color: brown;
        width: 100%;
        height: 200px;
    }
</style>
</html>

页面效果如下:
在这里插入图片描述
这里黑色是html,可以看到是占满整个页面的,暗金色是body标签,红色是div标签
从上面可以看出,body标签是有默认外边距的
额。。控制台更容易看出默认外边距为8
在这里插入图片描述
因此,想要消除顶部和左右两侧的留白,就需要消除body的默认外边距,即

margin: 0px;

网上很大一部分是

padding: 0px;
margin: 0px;
border: 0px;

是考虑到内边距和边框是否有值的问题。

话题之外:
当我把html的背景色注释掉以后,会发现整个页面都变成了暗金色,这里body的margin为8并没有清除,而是当html不设置背景色时,body的背景将作为整个页面的背景色。从控制台看margin依旧是那个margin。

网页设计中,实现两侧留白版心居中是一种常见的布局策略,通常用于创建美观且对齐良好的页面结构。这种布局方法通常包括以下几个步骤: 1. 设置容器宽度:首先,确定一个固定或自适应的容器宽度,这个宽度应该包含你的主要内容区域。 2. 绝对定位或Flexbox/Grid布局:使用CSS中的position属性将容器设置为`relative`或`absolute`,或者利用Flexbox(`display: flex`)或Grid(`display: grid`)布局来创建一个灵活的网格系统。 3. 两侧留白:在容器的外层添加两个伪元素(`:before`和`:after`),并设置它们的内容为空,然后使用`content: ' '`和`margin`属性给它们添加等量的左右边距,这样就实现了两侧的空白。 4. 版心居中:在内容区域上设置`margin: auto`,这会让内容区域在容器内部水平居中。 示例代码(HTML和CSS): ```html <!DOCTYPE html> <html lang="en"> <head> <style> .container { position: relative; width: 80%; /* 或者自适应宽度 */ max-width: 1200px; /* 可选,限制最大宽度 */ margin: 0 auto; /* 垂直和水平居中 */ box-sizing: border-box; } .container::before, .container::after { content: ''; display: inline-block; height: 100%; vertical-align: middle; } .content { display: flex; justify-content: center; align-items: center; height: 100%; } </style> </head> <body> <div class="container"> <div class="content"> <!-- 这里是你的主要内容 --> </div> </div> </body> </html> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值