![]()
写代码的过程中才会发现问题,这篇文章将会简单介绍一下用 javascript 修改 dom 的 class 时,由于使用方法“不当”,导致 IE 浏览器不会对页面渲染的问题。
无聊地无聊地把模板文件改写了一下,换上了一些 html5 的标签,很初步地尝试和了解了一下 html5。
好在现在网上关于 html5 的信息很多,当然也包括 html5 在浏览器兼容方面的问题。
简单的 display:block; 就可以让很多浏览器兼容好。
对于 IE 和某些特殊的浏览器就得用 javascript 或者其他方法来解决问题了。
可以参考一下这篇文章:《How to get html5 working in ie and firefox2》
这个CSS问题就是在我写这个博客的新皮肤的时候发现的。我简单的测试了一下IE6,IE7,IE8beta1都存在该问题。问题代码如下
- <style>
- #sidebar { background:url(http://huangj.in/templates/One%20in%20Spring/img/bottomm.gif) repeat #093; }
- #sidebar ul { float:left; }
- .clear {clear:both;}
- </style>
- <div id="sidebar">
- <ul>
- <li>ul1 第一行 长度宽一点点</li>
- <li>ul1 第二行</li>
- <li>ul1 第三行</li>
- </ul>
- <ul>
- <li>ul2 第一行</li>
- <li>ul2 第二行</li>
- <li>ul2 第三行</li>
- </ul>
- <div class="clear"></div>
- </div>
http://huangj.in/demo/iefloatbg.html
用宽度较大的浏览器查看这段代码的时候,显示效果正常,背景图片会正常的平铺容器,但是,你尝试缩小浏览器宽度的时候,尤其是宽度无法容下两个ul并列的时候,第二个ul会被挤到第二行,同时,背景图片也被挤到了第二个ul。
你会问到,一般我不会调整浏览器宽度啊,但是,如果你的容器的宽度不足,并且使用float属性,容器会被挤换行,这个BUG出现同样会出现。
关于这个问题的解决方法,自己小小测试了一下,可以通过在每组相邻的两个ul之间,插入一个空白的段落<p></p>,或者插入一个 ,这样问题就解决了。但是加入空白的段落在IE6不知道为什么显示还有有问题,看来IE6只能插入一个可见字符了,比如 。
新模板已经做使用了2天了,使用的过程中,逐渐发现了一些小问题。这里把这些小问题总结一下。
首先不得不说让我心痛的IE,IE对图像的处理能力实在是让我头疼,虽然最后修改了定位的方式解决了页面底部草地的效果。这里说说问题所在。
第一是IE6的不支持PNG透明的问题,这个大家都知道,就不多说了,第二是关于background的问题。在页面底部先设置了草地图片的repeat,在正常的FF下面,我在其子容器里面放置图片啊,输入框啊,都不会影响底部草地图片,但是在IE6和IE7下,都出现了含图片(或input标签)的子容器挤走父容器的背景图片的情况。结果就导致父容器背景变成了空白,惨不忍睹啊。解决方法,我尚未详细测试和总结,我只是去掉了图像,去掉了部分block属性,以及包含图片(img标签)的容器不要使用float属性。当然,这个是不完整的总结。以后再测试测试这个bug的成因。
默认情况下,文本的属性是display:inline;,这样的属性,我们不能够给它设置width和height,甚至padding这个属性都会使该文本产生负偏移。起初使用的是postion:relative;来把负偏移抵消掉。但是这个效果在IE和FF下面显示效果出现了差异,尽量不要使用css hack吧。
第二种想法是使用display:block;来控制padding,这样虽然能够轻松调整文字位置,但是出现了标题中说的问题,块状对象的宽度不能够随着内部文字变化,这个明显不能够符合我最初设计的。
为了不用css hack,又要让容器宽度能够自适应,又一次请教了 Tension 之后,得知,可以直接使用float属性。在使用了float属性之后,这一段文字能够使用padding来调整其边距,并且容器的长宽能够随着文字的增减变化。简直是太完美了。而且这个代码在IE和FF下都显示正常,特别高兴啊!
具体效果就是主页的文章标题部分,大家可以使用firebug来分别测试这三种效果。
我知道,访问我的网站的70%用户都是使用的IE核心的浏览器。而这次IE的严重漏洞却是覆盖了所有版本的Windows下的所有版本的IE。为此,转载本文,给大家提醒。
IE 最新 0day 波及了微软全线系统,目前暂时没有补丁。微软于近日发布了一份安全通报,指导您如何暂时屏蔽此漏洞。
漏洞出在 OLEDB32.dll 这个文件上。所以我们的目的就是屏蔽这个文件。对此,微软连出了4个杀手锏:
[Unicode]
Unicode=yes
[Version]
signature="$CHICAGO$"
Revision=1
[File Security]
"%ProgramFiles%Common FilesSystemOle DBoledb32.dll",2,"S:(ML;;NWNRNX;;;ME)"
将以上内容保存为 BlockAccess_x86.inf
然后在命令提示符里执行
SecEdit /configure /db BlockAccess.sdb /cfg <inf file>
其中
HKEY_CLASSES_ROOTCLSID{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}
打开注册表编辑器,将此键删除即可。
在命令提示符中输入 Regsvr32.exe /u "%ProgramFiles%Common FilesSystemOle DBoledb32.dll"
即可
在命令提示符中输入
cacls "%ProgramFiles%Common FilesSystemOle DBoledb32.dll" /E /P everyone:N
Vista 系统则需要输入3个命令:
takeown /f "%ProgramFiles%Common FilesSystemOle DBoledb32.dll"
icacls "%ProgramFiles%Common FilesSystemOle DBoledb32.dll" /save %TEMP%oledb32.32.dll.TXT
icacls "%ProgramFiles%Common FilesSystemOle DBoledb32.dll" /deny everyone:(F)
其中第一种方法影响最小(只影响 IE 对此 DLL 的访问)。
附:此漏洞影响的系统、软件列表
对于非 x86 系统请参考微软安全通报自行操作。
自己总结了一下自己在设计 CSS 过程中学会的和用过的 CSS hack 技术。相信看这篇文章的都不会是 CSS 白痴,所以 CSS 是层叠样式表我就不说了。
至于文中的 CSS hack 技术,要么是我从书上看到的,要么就是在学习别人的网站的 CSS 的时候发现的。
IE都支持*,IE6 不支持 !important,FireFox不支持 *
举例说明:
- color:#FFFFFF;/*FF显示的效果 */
- *color:#EE7EE7!important;/*IE7显示的效果 */
- *color:#EE6EE6;/*IE6显示的效果 */
叠放顺序必须如此,可以从中去掉某个。
IE7可以认+,IE6可以认-
举例说明:
- color:#FFFFFF;/*FF显示的效果 */
- +color:#EE7EE7;/*IE7显示的效果 */
- -color:#EE6EE6;/*IE6显示的效果 */
Firefox对于 i 会转换成为 i ,所以对于width, heigh, margin 等包含字母 i 的参数都可以用这套方法。
举例说明:
- width:30px;/*非FF的显示效果*/
- width:25px;/*FF的显示效果*/
有了这三种方法,一般的 hack 问题都能够解决。学习和制作 CSS 中继续总结心得。
最近校内上面多了许多应用程序,其中就有一个是男人系列游戏!
除了以前的是男人就下一百层以外,又出了个是男人就坚持20秒!这个坚持20秒就是用方向键控制一架小飞机,躲避来自四面八方的飞弹,难度还很高!
我的最好成绩19.698离男人就差一点点了!但是我明白了一点,男人不仅要身手敏捷,人品优秀,还得有个聪明的头脑!
起初我用firefox 3.0进行游戏,飞弹速度好快啊!反应不过来,最好成绩10秒多一点点。这个时候突发奇想,用变速齿轮,哇哈哈,去网上下变速齿轮,下好了不敢用,前几天刚因为流氓软件害我重装系统,放弃了这个方法,决定以后到学校了,用学校的机器试试变速齿轮,但是我今天想当男人啊!
不如让电脑因为卡而使游戏速度变慢吧!……打开了虚拟机,这个比较占资源,然后用Firefox打开了55个网页,唉……那个坚持20秒的速度还是飞快,依然没有减缓。
郁闷……
突发奇想,来IE8吧!首先打开了游戏,测试了一下游戏速度,接着打开了20个页面,哇!很明显游戏速度变慢了,但是似乎计时并没有变慢,我的成绩提升到了13秒。
继续努力,等打开了50来个网页的时候,游戏开始有轻微的跳帧,成绩到达了16秒,再开了10个网页,哈哈,成绩又上升了,达到了19.698秒!本来想继续努力一把,向男人冲刺的时候,这个时候我已经用IE8打开了80来个网页了,终于,终于,IE崩溃了!预料之中的啊!……80多个IE的进程啊!……这个时候笔记本的风扇也狂转起来了。
直接 taskkill /f /im iexplore.exe,哈哈,世界清净了!
IE8,感觉越升级越不好用了!
新增的收藏夹栏在傲游啊之类的上面早有的,那个还是很好用的。不过点上面搜藏夹里面的东西的时候,不是新开一个标签页,而是在原先的标签页上面打开,还得新开一个标签页,很不爽,一时习惯不过来。
浏览很多网站还是得在模拟IE7下浏览,可以说IE8内核的更新现在不仅不会带来便利,反而带来了麻烦,至少在中国是这样的。有人还反映淘宝一类的网站登录都出现了问题,我这里似乎还好。
还发现了一个小BUG,不知道大家有没有。就是鼠标用滚轮向下翻页的时候,如果鼠标下面有图片,滚动条会回到页面顶端,好不爽。但是鼠标下面没有图片的时候还好。
装了个插件ie7pro 2.2版的,这个还是好用。
就目前来看,单单为了个收藏夹栏继续用IE8吗?微软啥时候能够出IE8的正式版啊!
今天不知道在第几时间下载了IE8 beta1版本,装上来体验了一下!
IE8就是IE8,更新了啊!以前的一些网站显示都出问题了,不过我的BLOG似乎还好,就是下面多出来了一个水平滚动条很不爽!
有一个网页很有意思,<a href=""><img scr=""></img></a>,在IE8下面居然鼠标移动上去显示的是javascript:,然后再把鼠标移动出来,所有的超链接都变成javascript:了。似乎在模仿IE7的模式下面一切还能正常!目前也只是用模仿IE7看网站啊!
说说IE8的功能吧,增加的【收藏夹栏】,增加了【开发人员工具】(技术不行,用不懂)还有一些功能就不是那么明显,慢慢用,慢慢发觉吧!
希望IE8能一路走好,也希望中国很多代码不规范的网站能够一路走好……继续支持SABLOG-X!
这里是IE8 BETA1的下载网页,选择适合你的系统的版本吧!
打开注册表,在开始——运行——regedit
找到 HKEY_CURRENT_USERSoftwarePoliciesMicrosoftInternet ExplorerControl Panel
其实一般此键是不存在的,只存在HKEY_CURRENT_USERSoftwarePoliciesMicrosoft 所以后面一截你要自己建立
主键建立完后在Control Panel键下新建一个DWORD值数据,键名为HOMEPAGE(不分大小写)键值为1
现在看IE的主页,已经灰白,不能修改了!