html – CSS – 如何清除元素之间不必要的边距?

前端之家收集整理的这篇文章主要介绍了html – CSS – 如何清除元素之间不必要的边距?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这似乎是一个常见的问题,但我发现的解决方案都没有为我工作。

HTML

  1. <html>
  2. <head>
  3. <link rel="stylesheet" href="c/lasrs.css" type="text/css" />
  4. </head>
  5. <body>
  6. <div class="header">
  7. <img src="i/header1.png">
  8. </div>
  9. <div class="content">
  10. <p>Lorem ipsum dolor sit amet,consectetuer adipiscing elit. Nam cursus.
  11. Morbi ut mi. Nullam enim leo,egestas id,condimentum at,laoreet mattis,massa. Sed eleifend nonummy diam. Praesent mauris ante,elementum et,bibendum at,posuere sit amet,nibh.</p>
  12. </div>
  13. </body>
  14. </html>

CSS

  1. body {
  2. min-width: 950px;
  3. background-color: #FFFFFF;
  4. color: #333333;
  5. }
  6.  
  7. .header {
  8. width: 950px;
  9. height: 171px;
  10. margin: 0px auto;
  11. padding: 0px;
  12. background-color: #CCCCCC;
  13. position: relative;
  14. }
  15.  
  16. .content {
  17. width: 950px;
  18. margin: 0px auto;
  19. padding: 0px;
  20. background-color: #E3EEF9;
  21. position: relative;
  22. }

我故意打破了图像路径,并为.header div设置了一个背景颜色,以便我可以看到它们是否触摸。这就是我的网页:

如您所见,我已经尝试将两个div上的填充和边距设置为0。

为什么还有差距?

解决方法

这是由于以下原因:

Browsers automatically add some space (margin) before and after each <p> element. The margins can be modified with CSS (with the margin properties).

所以尝试:

  1. p {
  2. margin: 0px;
  3. }

注意:浏览器在其他元素上添加默认样式!这在不同的情况下可能既有用又烦人。有三种方法可以解决这个问题:

>完全删除浏览器可能具有的任何默认样式。这是通过使用重置样式表来实现的。最流行的是Eric Meyer’s CSS Reset.如果你想全部出来,在任何浏览器中都有一个完全干净的开始,请使用Meyer的技术。该方法优于使用slow * {margin:0;填充:0; }复位方法(Read here why)
>将样式表规范化为您自己的默认值。网页设计师的一大烦恼是不同的浏览器使用不同的默认样式。然而,完全重置是重新定义所有元素的样式的耗时的麻烦。因此,您可以使用预定义的一组一致且合理的默认样式来规范浏览器的所有默认样式。通常的方法是使用normalize.css(Twitter,Github和SoundCloud使用这个!)
>在必要时调整默认值,或有意识地处理默认值。使用默认值最常用的方式(不是说最好的方法)是知道它们存在并在必要时进行调整。默认样式有一个原因:它们可以帮助开发人员快速获得它们的外观。看起来有点偏离吗?简单地调整样式。但是,请确保为正确的元素使用正确的标签。例如,不是删除< p> inline texts的边距,您应该使用< span>标签(无默认边距)

这应该可以帮助您了解幕后情况。

猜你在找的HTML相关文章