chrome中不可见字符引发的float问题
2024-10-01 13:01:21
起因是刷知乎时碰到这么个问题:https://www.zhihu.com/question/41400503
问题代码如下:
<!DOCTYPE html>
<html lang="zh-CN"> <head>
<meta charset="utf-8">
<style>
.cf {
zoom: 1;
}
.cf:after {
clear: both;
content: "";
display: block;
}
.cf:before {
content: "";
display: block;
}
.out {
width: 730px;
border: 1px solid #ccc;
}
.left {
float: left;
width: 90px;
height: 20px;
margin: 3px 5px;
background: #D7E9F7;
}
.other {
width: 10px;
background: red;
}
</style>
</head> <body> <div class="out cf">
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left"></div>
<div class="left other"></div>
</div> </body> </html>
在chrome中,最后一个.other会float到第一行的末尾:
最开始认为是before伪类的问题:
给出的解决方案是让提问者删掉.cf的before伪类,然后.other正常float到第二行最后。
后来细细想了下,没有听说过类似的问题,搜了下也没有发现类似案例,怀疑问题判断有误。copy提问者代码到sublime里面进行排错测试,习惯性把css代码compact,.other居然正常float。
恰巧前几天见过一个不可见字符导致页面显示错误的问题,灵光一闪地往这方面怀疑起来,设置sublime显示空白:"draw_white_space": "all"。果然有问题:
改用UltraEdit的16进制视图打开:
在display前面有两个编码为e38080的不可见字符,查编码对照表:
最近状态不佳,一直无所事事打酱油,碰到个问题不断往深处探究,感觉真是比打DOTA还爽!!!
UltraEdit
最新文章
- Chrome浏览器调试,console简述
- Java随机生成18位身份证号
- Windows安装Scrapy遇坑解决办
- 20150629_Andriod_06_插入_删除_弹出式操作数据
- mac下Android开发环境搭建
- .net core4
- CCNA实验(3) -- RIP
- cocos2d-x 不规则形状按钮的点击判定
- AtomicInteger的使用
- Socket层实现系列 — connect()的实现
- Android For JNI(三)——C的指针,指针变量,指针常见错误,值传递,引用传递,返回多个值
- 搭建k8s(一)
- How to recovery compiz
- 轻松学C#----第二篇笔记
- electron安装+运行+打包成桌面应用+打包成安装文件+开机自启动
- MyBatis 的缓存机制
- CentOS之Shell基础
- 谷歌开源OCR,tesseract-ocr使用笔记
- 子窗口访问父页面iframe中的iframe,top打开的子窗口访问父页面中的iframe中的iframe
- 竞赛题解 - Karp-de-Chant Number(BZOJ-4922)