You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在fieldset内垂直居中提交与重置按钮

如何在fieldset内垂直居中提交与重置按钮

嘿,我看你在尝试让fieldset里的提交和重置按钮垂直居中时碰了壁,用vertical-align: middle;在div上没生效对吧?这很正常——因为vertical-align属性默认只对行内元素、行内块元素或表格单元格生效,而div是块级元素,直接这么设置自然不会起作用。下面给你两种简单有效的解决方法:

方法一:用Flexbox布局(推荐,现代浏览器都支持)

Flexbox是现在做居中布局最省心的方式,只需要给包含按钮的fieldset加几个样式,就能轻松实现垂直+水平居中:

h1 { text-align: center; } 
fieldset { 
  width: 85%; 
  margin: 5px auto; 
  border: 2px solid #b0b0b0; 
  border-radius: 15px; 
} 
label { float: left; width: 20%; } 
#personalDetailsSet { background-color: #c4d7f5; } 
#personalDetails, #bookingDetails { background-color: #f0f0ff; } 
#bookingDetailsSet { background-color: #f5dfc4; } 
#password { width: 55ch; } 
.form-set { padding: 2px 0; } 
#single-room-div { margin-top: 15px; } 
.radio-set { margin-bottom: 15px; }

/* 新增/修改的样式 */
fieldset:last-of-type {
  display: flex;
  align-items: center; /* 垂直居中子元素 */
  justify-content: center; /* 可选:让按钮水平居中 */
  min-height: 80px; /* 设置一个最小高度,让垂直居中效果更明显 */
}

#submit-reset-div {
  /* 删掉原来的vertical-align: middle; */
}

解释一下:display: flex把fieldset变成flex容器,align-items: center会让容器内的子元素(也就是你的按钮div)在垂直方向上居中,justify-content: center可以顺便让按钮在水平方向也居中,按需选择就行。

方法二:用表格布局(兼容旧浏览器)

如果你需要兼容一些比较老的浏览器,表格布局也是个可行的方案:

/* 其他原有样式保持不变 */

/* 新增/修改的样式 */
fieldset:last-of-type {
  display: table;
  width: 85%; /* 和其他fieldset保持一致宽度 */
  height: 80px; /* 必须设置高度才能看到垂直居中效果 */
}

#submit-reset-div {
  display: table-cell;
  vertical-align: middle; /* 现在这个属性就生效了 */
  text-align: center; /* 可选:水平居中按钮 */
}

这里我们把fieldset模拟成表格,div模拟成表格单元格,这样vertical-align: middle就能正常工作,实现垂直居中。

你可以根据自己的需求选其中一种方法,替换掉原来的相关样式,就能看到按钮在fieldset里垂直居中的效果啦~

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 11:14:50