我正在寻找一种有效地在CSS中实现负内边距的方法。
问题
我的网页上有一个 h1
元素,目前与其相关的代码如下:
h1 {
background-color: #375E97;
color: #FFFFFF;
font-size: 50px;
font-family: 'Righteous', cursive;
text-transform: uppercase;
text-align: center;
padding: 0;
margin: 0 auto;
height: 49px;
}
<head>
<link href="https://fonts.googleapis.com/css?family=Righteous|Roboto:400,700,400i" rel="stylesheet">
</head>
<body>
<h1>Lorem Ipsun Al</h1>
</body>
您可以看到,由于我添加了:height: 49px;
,文字看起来就像流入到页面的其余部分。我想要实现这个效果,但同时也想让文字顶部看起来与底部一样。
我的尝试
我已经尝试过:
- 将
h1
元素的padding
和margin
都设置为0
。 - 尝试不同的
vertical-align
值。 - 将
height
设置为许多不同的值。 - 将所有
h1
的父元素的padding
和margin
都设置为0
。
我认为我面临的问题是我正在使用的字体(以及大多数字体)顶部有一些空间。这就是为什么我想能够实现负填充,将文本向上移动而不移动内容框的原因。