如何删除 HTML 标题元素之间的行距?

K4l*_*0ty 4 html css

我有这个代码:

<h1> Something </h1>
<h3> Somethings </h3>
<h3> Some other things </h3>
Run Code Online (Sandbox Code Playgroud)

我认为 HTML 会自动在它们之间添加 1 行间距。我希望它们没有 1 行间距,我的意思是逐行,而不是行间距。

我怎样才能做到这一点而不使用<br><h1>和之间肯定无法工作的元素<h3>,并且可能不是结构上良好的 HTML 实践,也许太正确了?

使用CSS底部边距可以解决这个问题吗?

我很抱歉问这么简单的问题,也许我对 HTML 和 CSS 还有点陌生,但我仍在学习。提前感谢所有答案

may*_*ign 5

默认样式,一致性的敌人

许多元素都有浏览器应用的默认边距。问题是每个浏览器(Chrome、IE 等)应用不同数量的边距。

这使得浏览器之间很难实现一致性,而一致性正是我们有效的网页设计所需要的。

CSS 重置来救援

研究一下“ CSS Resets ”的概念。使用这种方法,建议使用一些像这样的预构建代码: https: //github.com/murtaugh/HTML5-Reset将这些值重置为零,为您提供一个公平的竞争环境。

然后你可以决定你的标题有多少边距。

您在这里寻找的重置(仅针对此问题)是:

h1, h2, h3 {
 margin: 0px;
}
Run Code Online (Sandbox Code Playgroud)

然后应用你自己的风格

然后您将再次构建它,例如:

h1, h2, h3 {
 margin: 0px;
}
Run Code Online (Sandbox Code Playgroud)
h1, h2, h3 {
 margin: 0px;
}

h1 {
 margin-bottom: 20px;
} 

h2, h3 {
 margin-bottom: 10px;
}
Run Code Online (Sandbox Code Playgroud)

通用重置

一个非常简单的“完全”CSS 重置将是:

* {
 margin:0;
 padding:0;
}  
Run Code Online (Sandbox Code Playgroud)

但出于多种原因,尤其是性能方面,这是不可取的:(为什么)CSS 星形选择器被认为是有害的?