我有这个代码:
<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 还有点陌生,但我仍在学习。提前感谢所有答案
默认样式,一致性的敌人
许多元素都有浏览器应用的默认边距。问题是每个浏览器(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 星形选择器被认为是有害的?