水平居中引导图标



我在按钮内的Bootstrap图标居中时遇到问题。正如您所看到的,图标不是水平居中的。我无法让它发挥作用(我尝试过文本对齐、带对齐内容的flexbox…),因为很明显;字母";它本身在右边占据了一些额外的空间——至少在我看来是这样。有人能帮我吗?

body {
display: flex;
justify-content: center;
align-items: center;
}
button {
padding: 4px;
font-size: 24px;
text-align: center;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.6.1/font/bootstrap-icons.css">
</head>
<body>
<button>
<i class="bi-play"></i>
</button>
</body>

这与文本无关,因为您试图居中的是i元素。因此,该按钮需要显示为flex并设置居中。

body {
display: flex;
justify-content: center;
align-items: center;
}
button {
display: flex;
justify-content: center;
align-items: center;
padding: 4px;
font-size: 24px;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.6.1/font/bootstrap-icons.css">
</head>
<body>
<button>
<i class="bi-play"></i>
</button>
</body>

*{
padding:0;
margin:0;
}
button {
display: flex;
justify-content: center;
align-items: center;
height: 30px;
width: 60px;
font-size: 30px;
border-radius: 5px;
background-color: red;
}
.bi-play{
color: white;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.6.1/font/bootstrap-icons.css">
</head>
<body>
<button>
<i class="bi-play my4"></i>
</button>
</body>

现在检查它是否解决了您的问题。我认为它现在是居中的。