在网上跟着视频学习,真的迷惑行为,我在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和空气斗智斗勇了这么长时间,秃然发现这个宽度设置这么小会把右面的东西挤下去,难受