fieldset元素宽度撑开的问题
fieldset这个元素,估计用的人很少吧,或者说现在使用fieldset情况已经很少了,大部分都是使用其他元素模拟这个元素的ui。
今天我碰到一个很奇怪的现象。
fieldset里面的元素,他不会产生横向滚动条,哪怕我设置了外部所有父元素的宽度为100%,overflow-x: auto;
里面的子元素,如果比如pre这种代码块,不换行的,他会一直往右延伸,也就是超出原来的宽度,把fieldset撑的非常宽。
但是所有的父元素都是block,按道理宽度是自己占满不会超出的。
找了半天,理解出这么一段解释:
fieldset默认是以block方式解析的,也就是宽度是按照100%占满,但是他的默认css中,他有一个min-inline-size属性,他的值默认为min-content,可以理解为他的min-width默认是最小的内容宽度,加上min-width权重大于width,导致宽度失效并且发生溢出
那么我们的解决办法就很简单了,我们对min-width做一个限制,重置掉他的默认值即可。
min-width:none; none是默认值,所以我们换成其他的值就行了,比如:
min-width: inherit;
或者
min-width: 1px;
个人推荐固定一个px,如果这对你的布局无影响的情况下。
这样,fieldset元素宽度就会正常。
版权申明
本文系作者 @木灵鱼儿 原创发布在木灵鱼儿站点。未经许可,禁止转载。
暂无评论数据