我正在寻找一种有效地在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;
,因此文本看起来好像流入了页面的其余部分。我要实现这种外观,但也要在文本的顶部,而不仅仅是底部。我尝试过的
我试过了:
padding
元素的margin
和0
都设置为h1
。 vertical-align
的各种值。 height
设置为许多不同的值。 h1
的父元素的padding
和margin
设置为0
。 我相信我所面临的问题是我正在使用的字体(和大多数字体)的顶部有一定的空间。这就是为什么我希望能够实现负填充,以便在不移动内容框的情况下在屏幕上向上移动文本的原因。
最佳答案
它完全取决于您使用的字体,但是在特定情况下,height: 34px
和line-height: 34px;
可以满足您的要求:
h1 {
background-color: #375E97;
color: #FFFFFF;
font-size: 50px;
font-family: 'Righteous', cursive;
text-transform: uppercase;
text-align: center;
padding: 0px;
margin: 0 auto;
height: 34px;
line-height: 34px;
}
<!DOCTYPE html>
<html>
<head>
<link href="https://fonts.googleapis.com/css?family=Righteous|Roboto:400,700,400i" rel="stylesheet">
</head>
<body>
<h1>Lorem Ipsun Al</h1>
</body>
</html>