人间迷惑行为:为栅格的Col使用calc函数设置min-width时,栅格样式失效

tech2023-11-04  100

在网上跟着视频学习,真的迷惑行为,我在Col中使用calc函数设置min-width样式的时候,出现了栅格样式失效的情况

 

不要写成100% - 30px,盛不下,把右面的内容挤下去了。

 

事情是这样的:

跟着老师一起打的以下代码:

.nav-left { min-width: calc(100% - 30px); height: calc(100vh); background-color: aqua; }

老师的完美显示,我的栅格样式失效,成以下形式:

我明明和老师写的一模一样啊,为什么?

然后就开始一行一行试错,最终定位在min-width属性的设置上

 

我去查看了min-width这个属性,有一句话引起了我的注意:

 

是不是因为块级元素的问题,所以就尝试如下代码:

.nav-left { min-width: calc(80% + 10px); height: calc(100vh); background-color: aqua; }

显示如下:

继续:

.nav-left { min-width: calc(80px + 10px); height: calc(100vh); background-color: aqua; } .nav-left { min-width: calc(800px - 10px); height: calc(100vh); background-color: aqua; }

以上均正常

 

此时不知道是%的问题还是calc的问题,所以控制变量,不使用calc函数,直接使用%

.nav-left { min-width: 80%; height: calc(100vh); background-color: aqua; }

显示如下:

栅格样式显示正常

 

再试一试其他情况

.nav-left { min-width: 80% - 50%; height: calc(100vh); background-color: aqua; }

显示如下:

正常

 

此时敲定应该是calc函数的问题,而且只在函数中使用%号有减号的时候栅格才会失效,好玄幻哦,不知道为什么

 

然后,我又把代码修改成:

.nav-left { width: calc(100% - 30px ); height: calc(100vh); background-color: aqua; }

没有问题,栅格样式完美显示

 

 最后结论:min-width属性中使用calc函数,慎用%和 - 的组合 

 

我真的是服了,这篇文章还没发出去的时候,我又试了一下,它竟然显示的还不一样,我真的是佛了,也给了我灵感

我tm和空气斗智斗勇了这么长时间,秃然发现这个宽度设置这么小会把右面的东西挤下去,难受

最新回复(0)