防止字段集调整内容大小

Prevent fieldset from resizing contents

我试图调整 <fieldset> 元素的大小,但它自动将其内容变小了。然后,我在我的 CSS 文件中添加了 display:inline-block (正如许多关于类似主题的答案所建议的那样)。但是,这根本没有帮助,一切都保持不变。我应该怎么办?我想要一个新手友好的解决方案,因为我不太擅长 CSS,您可能已经注意到了。干杯!

fieldset {
  display: inline-block;
  border: 1px solid blue;
  background-color: white;
  width: 40%;
}

legend {
  display: inline-block;
  padding: 4px 8px;
  border: 1px solid blue;
  font-size: 15px;
  color: white;
  background-color: blue;
  text-align: left;
}

label {
  width: 100px;
  margin-right: 30px;
  display: inline-block;
  text-align: left;
}

input[type=text] {
  width: 25%;
  padding: 10px 20px;
  margin: 0px 0;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}
<fieldset>
  <legend>XXX</legend>
  <label for="username">Username:</label>
  <input type="text" name="username">
</fieldset>

如果你在内容的宽度上使用百分比,它会根据容器(fieldset)的宽度而改变。

只需删除百分比值。

fieldset {
  display: inline-block;
  border: 1px solid blue;
  background-color: white;

}

legend {
  display: inline-block;
  padding: 4px 8px;
  border: 1px solid blue;
  font-size: 15px;
  color: white;
  background-color: blue;
  text-align: left;
}

label {
  width: 100px;
  display: inline-block;
  text-align: left;
}

input[type=text] {

  padding: 10px 20px;
  margin: 0px 0;
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}
<fieldset>
  <legend>XXX</legend>
  <label for="username">Username:</label>
  <input type="text" name="username">
</fieldset>