我正在制作一个网站,我已经添加了一个按钮,当悬停时字母间距会略有增加,问题是当这种情况发生时,字母宽度会增加按钮向右的宽度,使其偏离未悬停时的位置.

运行它,明白我的意思,我希望按钮变得更宽,但保持其中心位置,就像标题一样,我该如何做到这一点?

代码:

header {
  background: rgb(53,65,83);
  margin:-8px;
  padding: 10px;
  font-weight: 600;
  color:aliceblue;
  letter-spacing: 1cap;
  align-content: center;
}

body {
  font-family:Verdana, Geneva, Tahoma, sans-serif;
  background-color: rgb(240, 241, 248);
}

button {
  margin-left:20px;
  font-weight: 500;
  font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
  border-radius: 4px;
  color: white;
  background-color: rgb(42, 43, 54);
  transition-duration: 0.4s;
  border: 1px solid rgb(42, 43, 54);
  float: left;
}
button:hover {
  letter-spacing: 2px;
  font-weight: 700;
  background-color: rgb(184, 186, 203);
  color: rgb(42, 43, 54);
}
button:active {
  scale: 90%;
}

.buttons {
  align-content: center;
}

h4 {
  width: fit-content;
  padding: 5px;
  border-radius: 4px;
  box-shadow: -2px 2px 5px rgb(138, 138, 138);
  
  transform: translateY(0px);
  border: 3px double  rgb(153, 156, 181);
  background-color: rgb(238, 238, 238);
  transition: transform 0.4s, border 0.4s, background-color 0.4s;
}
h4:hover {
  transform: translateY(4px);
  border: 3px double rgb(111, 112, 126);
  transition: transform 0.4s, border 0.4s, 0.4s;
}
h4::selection {
  color: white;
  background-color: black;
}
.title {
  text-align: center;
  width: fit-content;
  user-select: none;
  margin-left: auto;
  margin-right: auto;
  letter-spacing: 0px;
  transition: letter-spacing 0.2s;
}
.title:hover {
  letter-spacing: 5px;
  transition: letter-spacing 0.2s;
}
<!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">
  <title>J-ak-e</title>
  <link rel="stylesheet" href="index.css">
</head>

<body>
  <header>
    <div class="buttons">
      <button>Socials</button>
    </div>
    <div class="title">J-ak-e</div>
  </header>
  <h4>About me:</h2>
</body>

</html>

推荐答案

问题是,按钮没有在左侧增长的空间,所以它只能在右侧增长.通过将按钮包裹在一个大宽度的容器中,并将其居中放置在容器中,它将在其父级内部有空间生长到两侧.

Grid Solutionheader设置为具有指定列大小的网格

header {
    display: grid;
    grid-template-columns: 1fr 3fr 1fr;
    place-items: center;
}

这提供了与围绕按钮的容器相同的效果,并且由于值为place-items: center,因此在按钮内部居中.

Html相关问答推荐

Rmarkdown上的垂直标签集

如何使用bslb设置可导航页面侧边栏的样式

如何在htmlAngular 17的@for中使用索引

Bootstrap nav没有崩溃

渐变进度条位置

从网页中提取URL

带下划线的文本应该有延长的下划线,以使其图像悬停

在R中从网页上的特定iframe中提取图形数据

SVG的动态CSS

停止 Bootstrap 5 输入调整 CSS 网格单元的高度

使用简单的 HTML 设计公司徽标和文本

对齐列表项内的文本,使其不在元素装饰下

如何围绕中心zoom svg 并使父级达到其子级大小的 100%

表单中如何分别禁用/启用多个提交按钮?

更改标签标签的大小

不同屏幕尺寸的显示问题

增加第一个字母的大小不再正确居中文本

按部分划分的表行带

如何在 Tailwind CSS 中创建响应式网格布局?

如何计算没有根元素的先前 html 标记(lxml python3)编辑:还获取元素