【问题标题】:Removing space at the top left and right of div去除div左上角和右上角的空格
【发布时间】:2020-06-19 00:29:39
【问题描述】:

我开始使用 css 并遇到基本问题。

我有一个 div 元素:

.top {
  background-color: #3B5998;
  margin-left: 0px;
  margin-top: 0px
}
<div class="top">...</div>

颜色代码正在生效(好)。

我遇到的问题是 div 的左侧、顶部和右侧似乎有一些空白。我如何摆脱空白?例如,如果您查看 Facebook 页面,顶部是完全蓝色的,顶部没有空白。

【问题讨论】:

  • 虽然这个问题可能有特定的答案,但您应该考虑使用reset stylesheet。

标签: html css


【解决方案1】:

我有同样的问题。试试这个:

html, body {
    margin-top:-13px;
}

【讨论】:

    【解决方案2】:

    边距:0px;将删除元素周围的所有空格。

    填充:0px;清除内容周围的区域

    你可以试试:

    html, body {margin: 0px; padding:0px;}
    body {margin: auto;}
    

    带边距:自动;浏览器计算边距。

    你也可以使用

    * {margin: 0px; padding: 0px;}
    

    这将删除所有默认边距和空格。但使用时要小心:

    position: absolute; 
    

    “位置”属性可以采用 4 个值,静态、相对、固定和绝对。然后您可以使用 top、bottom、left、right 属性来定位您的元素。这取决于您的布局。这个链接可能有用https://www.w3schools.com/css/css_margin.asp

    【讨论】:

    • 请简要说明其工作原理或原因。
    • 我没有超能力(我也没有投反对票),但我相信这个问题现在好多了。
    【解决方案3】:

    如果其他答案不起作用,请尝试position:absolute; top: 0px; left: 0px; 或display:flex。

    【讨论】:

      【解决方案4】:

      我最近也遇到了这个问题,但即使我使用了 padding:0px 甚至在 body 上添加了 !important 也没有解决它......实际的问题是它的位置......你可以通过使用 background-头寸:50% 50%;或通过自动让它选择屏幕的中心位置..即margin:0 auto;或边距:自动;这为我解决了它......也希望你们所有人。在我尝试了@HAS 的回复后,我意识到保证金是需要的,谢谢你真棒……抱歉让帖子僵化了

      【讨论】:

        【解决方案5】:

        经过很长时间,我找到了适合我的正确解决方案:

        html, body {
          margin: 0;
          padding: 0;
          overflow-x: hidden;
        }
        

        我们需要在水平方向定义溢出。

        【讨论】:

        • 那很糟糕。你永远不能水平滚动!
        【解决方案6】:

        我用过这个,它对我有用:

        body {
            background-position: 50% 50%;
            margin:0px;
            padding:0px !important;
            height:100%;
        }
        

        【讨论】:

          【解决方案7】:

          如果你需要在 div 内添加一些内边距,你应该选择内边距:

          padding:top right bottom left;
          

          示例:

          padding:5px; /* 5px padding at all sides)*/
          padding:5px 3px; /* top & bottom 5px padding but right left 3px padding) */
          padding:5px 3px 4px; /* top 5px, bottom 4px padding but left right 3px) */
          padding:1px 2px 3px 4px; /* top 1px, right 2px bottom 3px & left 4px) */
          

          同样控制div外的空间,可以使用margin。

          保证金将使用完全相同的公式。

          【讨论】:

            【解决方案8】:

            您需要重置样式表中的默认 padding 和 ma​​rgin 属性:

            html, body {
                margin: 0;
                padding: 0;
            }
            

            正如@Jason McCreary 所提到的,您还应该考虑使用重置样式表。他链接到的 Eric Meyer 的 CSS 重置是一个很好的起点。

            您的 css 中似乎也缺少分号,它应该如下所示:

            .top
            {
                background-color:#3B5998;
                margin-left:0px;
                margin-top:0px;
            }
            

            【讨论】:

            • 天哪..我对这个发疯了...我完成了 3 篇关于 CSS 的教程,但没有一篇提到正文本身有边距/填充 :) 非常感谢!跨度>
            • 刚开始时我遇到了同样的问题;但如果您打算制作跨浏览器兼容的网站,我建议使用 css 重置样式表;本质上,它们重置了浏览器添加到元素的样式(对于不同的浏览器,样式可能不同)。只是我在这种事情上的 2 美分。一个快速的 google 用于 CSS 重置将提供许多选项。
            【解决方案9】:

            页面的<body> 上有padding。你可以这样解决这个问题:

            body
            {
                padding: 0;
            }
            

            【讨论】:

            • 谢谢。我做了改变,同样的问题。
            • 试试 *{margin: 0;填充:0; }
            猜你喜欢
            • 1970-01-01
            • 2021-08-21
            • 2013-05-10
            • 1970-01-01
            • 1970-01-01
            • 2013-12-22
            • 1970-01-01
            • 2012-02-17
            相关资源
            最近更新 更多