margin: 0 auto 在IE中无效的正解——缺少DOCTYPE

今天做个页面,想居中,代码简化如下:

<body>
<div style="width:1003px; margin:0px auto;">
...
</div>
</body>

在Firefox和Opera中均能正确居中,而IE却始终居左,先前做网页都用同样的方法,却只有这次不行。

由于实际代码比较复杂,怕是其他代码干扰所致,干脆全部注释掉了再看——终究还是不行。看了看自己以前所做页面的源代码,也看不出个所以然来 ,只好上网搜索。

有的说这个CSS是兼容浏览器的写法,也有说这个CSS在IE中不起作用的。

说兼容,我这次明明是写了一样的代码却不成;说不起作用,以前都这样写的却能正确显示。

终于找到了一篇文章让我找出了问题的根本,该文作者提到

CSS 兼容要点:DOCTYPE 影响 CSS 处理

我再比较了代码,确实这次没有在<html>标签之前加上<!–DOCTYPE ... –> ,于是把以前的文件中的复制了过来。再保存、刷新。果然就能正确显示了。到此终于弄明白了margin: 0 auto ;在IE中无效的真正原因。

对于前面提到的两种说法,原来都可以说是正确的,只是没有说清楚前提,或者作者根本没意识到有这么个前提 ……其实细想之下,出现这种情况也在情理之中,DOCTYPE中可供选择的规范有很多,但很少有人去关心这些规范之间的差别,很多网页制作工具都能自动生成这一行,就算用文本编辑器写页面的人,也不至于把这些规范的写法都背下了,总是要的时候去以前的代码,或者随便打开个网页,把头几行内容都复制过来,慢慢再改。再加上现在的浏览器的超强容错性,大家就不去在意这些了……

更多

我的第一个MCP,以及开发过程中的经验感悟

起心动念 上周开发完 sheetex 后,发了条朋友圈。有小伙伴建议搞个 MCP 玩,正好我本来也想学,于是这周就花了一天完成了 sheetex-mcp-server,一个将对话中生成的表格保存成 Excel 的 MCP 服务。 做之前快速调查了一下 smithery 和 modelscope ,发现已经有好几个 Excel 相关的:实现上既有调用本机上的 Office 软件进行操作的,也有用库读写文件的;功能就更加眼花缭乱,从简单读写数据,到插入图表,甚至可以截图保存。 看来是打不过了,好在只是做个练习,开搞。 一天下来,学到不少东西,也填了好几个坑,本文以坑为主。 那么下面就按顺序来了。 新手上路 Build an MCP Server 是官方的教程,新手入门刚刚好,它通过调用天气相关的接口演示了 MCP Server 的开发过程。

By 熊立丁

12KB的Excel导出库sheetex是怎么来的

这是一个关于前端 Excel 导出库 sheetex 的故事:我为什么要做这个库,它为什么会这么小,以及你是否值得一试。 如过你问我“为什么非要在前端导出”,那将是另一个故事。 我的数据导出史 不知道你是否还记得自己是从什么时候开始接触数据导出的? 我对自己的“数据导出史”还算有些印象:在还没有正式工作的时候,如果有人问我要数据,我会在数据库管理工具里写个查询语句,然后视对方的用途,导出成SQL 语句、CSV 文件或者Excel 等;待到工作了,需要开发面向最终用户的系统,就不能再这么手工处理,导出功能成为系统标配,用户点击一个按钮,就要下载到相应的文件。 最早是 CSV 格式,因为其生成相对容易,而且也可以通过 Excel 软件进行查看,加上主要是内部用户,偶有无法打开也只要简单培训就能解决。 但随着用户类型变得广泛起来,这种“偶尔”也逐渐变成无法忍受,那么干脆直接导出 Excel 文件吧,反正开源库也已经成熟,于是使用 SheetJS

By 熊立丁
浙ICP备15043004号-1