对内联文字的疑惑
作者:林小志 来源:林小志博客 发布时间:2008-04-18 12:19:00
无聊的人在无聊的时间做无聊的事打发自己,结果在无聊的事情中发现了IE对内联文字解释的一些疑惑。以下问题在FF2中没发现,而我也只在IE6 IE7 FF2中测试了。
CSS部分
span {border:1px solid #f00;}
xhtml部分
<span>simsun</span>
<span>宋体</span>
xhtml/css的测试雏形
运行上面的内容可以发现下图的样式,在IE中的表现是上下的边线是没有的。
补充说明一下,在几个朋友的测试下,貌似不同版本的IE解释也会有不同,有些可以正常显示,有些显示跟我的是一样效果。
这个是IE7的版本号:
7.0.5730.11
7.0.6001.18000
当时看到这个问题我首先想到的字体大小跟字体的设置问题,所以对span加上了font-family:"宋体";然后看到的效果是英文是正常显示,而在IE6中中文的显示样式是不同的。
设置了字体解决了一半的问题,那会不会是跟文字大小有关系呢?既然怀疑那就测试一下font-size:12px;结果发现的是问题还是一样保留着,文字是缩小了。
设置了字体大小还是不行,那就再加上行高吧,从line-height:12px;开始调试,一直到line-height:21px;的时候看到文字边框都正常显示了,但是在IE中可以很明显的看到文字的位置有掉下来的感觉。所以呢暂时我放弃了line-height,也因为这个文字位置掉下来的感觉,抱着玩的心态加上了
* {margin:0;padding:0;}
结果发现在FF跟IE中的表现又不一样,原本按理说加上了*后,是对所有的标签都有作用的,但为什么FF顶到页边而IE没有呢,试探性的ctrl+a了一下,结果发现原来文字上面还是有空间存在。难道是传说中的haslayout吗?那就给让IE产生haslayout看看效果怎么样好了。分别span加上了float:left;、zoom:1;、position:relative;结果发现我最初要解决的问题解决了,红色边线出来了。
但刚刚说的页边顶到的问题在加上float:left;也解决了,而zoom:1;和position:relative;并没解决这个问题,但他们的共同点是让IE产生了haslayout,所以红色边线也出来了。既然是haslayout的问题,那跟字体设置没关系了,去掉前面测试的所有内容,最后CSS部分是以下三个中的其中一个了
span {border:1px solid #f00;float:left;}
span {border:1px solid #f00;zoom:1;}
span {border:1px solid #f00;position:relative;}
从上面的图中可以看到,IE虽然跟FF一样也有边框了,但表现还是有所不一样,不过这个不是我今天的疑惑,不鸟他,知道边框为什么不出现就OK了。
PS:在测试的过程发现一下的结构表现是不一样的,换行后IE中间会多一个占位符。
同行
<span>simsun</span><span>宋体</span>
换行
<span>simsun</span>
<span>宋体</span>
猜你喜欢
- bool assert ( mixed $assertion [, string $description ] ) — 检查一个断言是否为
- 前面我讲解了如何将树莓派(Raspberry Pi)打造成无线路由,感觉每次通过命令ssh管理显麻烦,于是自己动手编写Web界面,主要是使用
- 昨天我的电影网站在生成内容静态页面的时候出了问题,提示下标越界,以前从来没有遇到过的,所以根本不知道是什么东西,于是就到处在网上找答案,但是
- 本文实例讲述了python去除文件中空格、Tab及回车的方法。分享给大家供大家参考,具体如下:在最近的开发工作中,为了应付比赛赶进度,服务端
- win10系统如何安装Sql Server 2014呢?请看教程,希望对大家能有所帮助。如图,双击Sql Server 2014安装包然后点
- 如果你是个赛车手,并且按一下按钮就能够立即更换引擎而不需要把车开到车库里去换,那会是什么感觉呢?MySQL数据库为开发人员所做的就好像是按按
- 页面大小、窗口大小和滚动条位置这三个数值在不同的浏览器例如Firefox和IE中有着不同的实现。即使在同一种浏览器例如IE中,不同版本也有不
- 今天开发时,使用axios返回的response中data有多个数据:如果是获取cn里的数据的,可以用:response.data.cn但是
- 1. 安装yaml库想要使用python实现yaml与json格式互相转换,需要先下载pip,再通过pip安装yaml库。如何下载以及使用p
- 用类和对象实现一个银行账户的资金交易管理, 包括存款、取款和打印交易详情, 交易详情中包含每次交易的时间、存款或者取款的金额、每次交易后的余
- 前言在对数据进行处理时我们常常会用到format与round函数。二者都能保留若干位小数,但在处理过程上稍有不同。不同之处返回类型不同:fo
- 一、什么是类类(class),作为代码的父亲,可以说它包裹了很多有趣的函数和方法以及变量,下面我们试着简单创建一个吧。这样就算创建了我们的第
- 也许是这样的。下面我们来推荐一个简单的分页程序,代码和说明见下(两段虚线“-----”间的代码是实现该功能的重要语句):chunfeng.a
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&
- 有很多种方法来实现图片的预加载,通常大部分使用Javascript让事情滚动。不要再受Javascript预载的束缚了吧,用CSS你就可以毫
- 本文实例为大家分享了python实现求纯色彩图像的边框,供大家参考,具体内容如下先上效果图,这里显示有点色差, 实际数值是纯色的, 而不是混
- PHP输出JSON格式数据常用框架封装好的方法来输出JSON数据,但是手动去书写的时候却遇到了问题,因为输出的数据类型为字符串类型,导致不能
- 这是我为了学习tkinter用python 写的一个下载m3u8视频的小程序,程序使用了多线程下载,下载后自动合并成一个视频文件,方便播放。
- EF Core 是一个ORM(对象关系映射),它使 .NET 开发人员可以使用 .NET对象操作数据库,避免了像ADO.NET访问数据库的代
- 使用Django服务网页时,只要用户执行导致页面更改的操作,即使该更改仅影响页面的一小部分,它都会将完整的HTML模板传递给浏览器。但是如果