html - <fieldset> 在包含 <pre> 代码时不适应 <form> 的宽度

标签 html css width overflow fieldset

我有以下代码。

form {
  outline: 3px solid blue;
  width: 50px;
  /* why doesn't it hold? */
}
.container {
  border: 2px solid green;
}
code {
  display: block;
  overflow: auto;
  white-space: pre;
}
<form>
  <fieldset class="container">
    <code>
&lt;some&gt;
	&lt;very&gt;
		&lt;looooooooooooooooooooooooong&gt;
			&lt;html&gt;
				&lt;code&gt;
			&lt;here which=&quot;should break in multiple lines, or be scrollable&quot;&gt;
    </code>
  </fieldset>
</form>

问题是,<fieldset>似乎适应了 <code> 的宽度元素在里面,而不是在外面<form> .绿色框应该包含在蓝色框内,并且代码应该是可滚动的。

但相反,绿色盒子从蓝色盒子中爆炸出来:

enter image description here


如何制作 <code><fieldset> 调整宽度它应该根据 <form> 调整其宽度?

最佳答案

设置min-width:0<fieldset>做的伎俩。 从<fieldset> resizes wrong; appears to have unremovable `min-width: min-content`得到的想法

form {
  outline: 3px solid blue;
  width: 200px;
  /* why doesn't it hold? */
}
.container {
  border: 2px solid green;
}
code {
  display: block;
  overflow: auto;
  white-space: pre;
}
/* This does the trick */

fieldset {
  min-width: 0;
}
<form>
  <fieldset class="container">
    <code>
&lt;some&gt;
	&lt;very&gt;
		&lt;looooooooooooooooooooooooong&gt;
			&lt;html&gt;
				&lt;code&gt;
			&lt;here which=&quot;should break in multiple lines, or be scrollable&quot;&gt;
    </code>
  </fieldset>
</form>

关于html - <fieldset> 在包含 <pre> 代码时不适应 <form> 的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28580734/

相关文章:

javascript - 时刻.js : only certain localizations

html - 用图像替换 Font Awesome 社交媒体图标

javascript - “How to fix the ' div panel' 在 CSS 或 JavaScript 中关闭

html - 使用#container div 使子元素拉伸(stretch)到全宽居中内容

android - 以编程方式设置对话框大小

jquery - html5视频播放器进度条点击功能

jquery - 在 jquery 中使用 chrome 开发人员工具调试 Dom 异常

css - Compass CSS Framework 如何在没有表示类的情况下制作更清晰的标记?

javascript - 将图像移动到预定义的 x,y 位置

jquery - 保持标题宽度与图像相同,并让周围的文本换行