pre会撑开父辈fieldset的宽度

阅读数:1913 发布时间:2016-06-15 06:35:43

作者:zzl005 标签: 朱忠来005 HTML标签
CSS 属性权重:

min-width > width

<fieldset>标签在 chrome 中,
min-width: -webkit-min-content;

如果 <fieldset> 标签中的<pre>标签内容很多时,即使设置了<fieldset> 的宽度为固定值width :80px,<pre>标签中的内容也是会将<fieldset>撑开。

复写min-width属性

这个时候,可以通过复写<fieldset>标签的min-width属性,min-width: 100%,或者 min-width: inherit;

但这时候,<fieldset>宽度固定了,<pre>的内容会溢出,如果设置 <pre>标签的 overflow: auto;,则内容不再溢出,会以滚动显示的形式出现

参考文章:

<pre>会撑开父辈<fieldset>的宽度,怎么能让pre的宽度随filedset的宽度

stackflow 上的解答

6月15日修改:

在 CSS 中CSS-width
The min-width and max-width properties override width.
最小宽度和最大会复写掉设定的宽度值。

<fieldset></fieldset>在 chrome 中的 min-width 默认为:
min-width: -webkit-min-content;

当这个时候,<fieldset>中包含有<pre>时,当<pre>标签内容小于<fieldset>width时,<fieldset>显示为正常宽度,而当<pre>内容很多时,超过了<fieldset>width,这个时候<fieldset>min-width = -webkit-min-content;起了作用,<fieldset>的宽度由<pre>的内容决定了。
显示的效果就是:<pre> 把外层的<fieldset>撑开了。

那究竟如何才能让<fieldset>的宽度固定?

既然,<fieldset>min-width:-webkit-min-content;,那么只需要复写掉 min-width 就可以解决了。
我们可以设定<fieldset>min-width: 100%,或者 min-width: inherit;

又有问题了,<fieldset>宽度是固定了,但是,里面<pre>标签的内容又出现了溢出,这个时候,从<pre>标签入手解决,可以设定其 overflow 属性为 auto ,即 overflow:auto<pre>标签里面内容会以滚动条形式显示。

在 stackoverflow 里,也有回答说可以设定 <fieldset>min-width: 0;,不过有些小问题是,在一些 Android4.1.2的浏览器中,不起作用

In WebKit, you just set min-width: 0; on the fieldset to override the default value of -webkit-min-content.

总结一下:如果我们要固定<fieldset>的宽度,需要做的是,复写其min-width属性

相关文章推荐: