给一个小网站做了一个搜索功能,搜索框需要加一个清空按钮,功能很好做,但是按钮样式却让我犯了难。
一开始我想得很简单,用个大写字母X吧,电脑上看起来就是个叉,但是手机上一看,是个Sans Serif字体的字母,中间细,四脚粗。尝试改成Microsoft Yahei,电脑上看还是个叉,但手机上还是英文字母。
那就算了,不用字母。我的网站本身已经装了 font-awesome,清空按钮用fa-close这个样式就可以了,我调整了一下位置,也适配了移动端,一键更新。
此时在电脑浏览器的桌面窗口和模拟手机窗口预览的时候一切正常,但是真的在手机上打开,按钮却在偏上的位置,尺寸也比电脑上看的小一些。
我知道这多半是因为font-awesome依托文字格式,也许应该调整什么vertical-align line-height之类的,但是因为电脑上无法复现Safari上的环境,我没法在电脑上调试出手机上的效果,搞了半天还是不行。
那就不用font-awesome吧,改成用乘号的特殊字符×,也还是不行。只要跟文字格式有关的,都会导致这个结果。
那就只能手搓了,弄两个1 x 17 px的div,一个是transform: rotate(45deg)另一个是transform: rotate(-45deg),就好了。
其实这个问题跟vibe coding无关,因为我只是让DeepSeek做了搜索功能,它给我做的效果是打字的时候实时搜索,是我自己想加清空按钮,根本没问它,也许问了就没这么多问题了。