哇哇哇,开年头一篇文章呀,为了镇得住场面,特意起了这么个标题。没错,就是标题党。
事情还得从上周五开始说起,那天下午,我正在公司改产品妹子提的需求,改了一会后,就切换到Chrome看看效果,走走单元测试,呵呵呵。但是我突然就发现一个问题呀,这个flex item显示的不对呀,而且在FF和Chrome都显示“不对”,倒是在IE11里显示“正常”。
正常的话就是上面这个图所显示的,html和css代码如下图:
但是现在却显示成这个鬼样子了,↓↓↓
看到这个,我脑子里第一蹦出来的是第二个select框option里内容太多了。可是我的三个filter-item的flex值都是1呀,对应起来可是flex: 1 1 0,标准的三等分呀。当时时间比较赶,我就给select写了个max-width属性,临时算看着没毛病。
可是周末在家,想想,这也不是个事呀,我可是通读过flex规范的呀,怎么能容忍这种不受我控制的样式出现呢。于是,我又通读了一遍规范,呵呵呵,脸好疼。
突然,脑子里蹦出来,之前在Firefox里出现过这种情况,当时在stackoverflow搜到的解决方法时加个min-width: 1px; 还说这个是Firefox的bug,可是这个情况现现在在Chrome和FF里都出现了,那它现在是不是bug就存疑了,随后拿关键字搜了一下,呵呵呵。
链接在这:
然后又顺着找到了这里:
链接在这:
呵呵呵,FF和Chrome的flex item的min-width的initial value现在是auto了,贴一段官方的描述:
To provide a more reasonable default minimum size for flex items, this specification introduces a new auto value as the initial value of the min-width and min-height properties defined in CSS 2.1.On a flex item whose overflow is visible in the main axis, when specified on the flex item’s main-axis min-size property, the following table gives the minimum size...
上面一段blabla,意思就是说,flex item如果它的overflow属性值是visible的话,那么现在min-width和min-height的initial value是auto啦,至于这个auto最后是怎么计算的,它是根据specified size、transferred size、content size三者由一些规则算出来的,有兴趣可以找找官方文档自己看看,在我写的页面里呢,最后计算胜出的是content size,再贴一段官方描述:
The content size is the min-content size in the main axis, clamped, if it has an aspect ratio, by any definite min and max cross size properties converted through the aspect ratio, and then further clamped by the max main size property if that is definite
所以在我这里确实是第二个select的某个option的text太长了,所以并不是什么bug,呵呵呵。
解决办法,就是把flex-item的visible属性设为非visible的合法值,或者手动设置一下min-width或者min-height的值为非auto的其他合法值。
同时放在了在github上的something of css,这里会长期写一些关于css的文章

公众号网页更新缓存,这玩意儿,说简单也简单,说复杂也够你喝一壶的。你辛辛苦苦更新了公众号文章,结果用户打开还是老版本,这滋味,谁受得了?这篇文章,咱就来扒一扒这背后的弯弯绕绕,以及如何优雅地解决这个问题。读完之后,你就能轻松应对各种缓存难题,让你的用户始终体验到最新鲜的内容。先说点基础的。网页缓存,说白了就是浏览器或者服务器为了提高访问速度,把一些静态资源(比如图片、CSS、JS)或者页面内容存储起来。下次访问时,直接从缓存里取,不用再重新下载,速度自然快。但这玩意儿,也是个双刃剑。新版本上线,

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文展示了使用CSS为网页中添加有效的PNG边框。 它认为,与JavaScript或库相比,CSS提供了出色的性能,详细介绍了如何调整边界宽度,样式和颜色以获得微妙或突出的效果

本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

本文解释了HTML5< time>语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

Atom编辑器mac版下载
最流行的的开源编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Dreamweaver Mac版
视觉化网页开发工具