在用ie6浏览有框架的xhtml页面的时候,默认会水平和垂直滚动条会一起出现,这是ie6的一个
bug,在firefox上是正常的,出现的原因是其对XHTML 1.0 transitional doctype的解释缺陷.
对于这个bug一般有3种解决方案,
方法1:
代码:
[code=css]html { overflow-y: scroll; }[/code]
原理:强制显示ie的垂直滚动条,而忽略水平滚动条
优点:完全解决了这个问题, 允许你保持完整的XHTML doctype.
缺点:即使页面不需要垂直滚动条的时候也会出现垂直滚动条。
方法2:
代码:
[code=css]html { overflow-x: hidden; overflow-y: auto; }[/code]
原理:隐藏横向滚动,垂直滚动根据内容自适应
优点:在视觉上解决了这个问题.在不必要的时候, 未强制垂直滚动条出现.
缺点:只是隐藏了水平滚动条,如果页面真正需要水平滚动条的时候,
屏幕以外的内容会因为用户无法水平滚动,而看不到。
方法3:
代码:
[code=css]body { margin-right: -15px; margin-bottom: -15px; }[/code]
原理:这会在margin的水平和垂直方向上添加一个负值, IE添加了该精确数值后, 便会去除对滚动条的需求假象.
优点:在视觉上解决了这个问题.,垂直滚动根据内容自适应
缺点:由于"人为创建"了15px的外边距(margin), 所以无法使用该填充过的屏幕区域.
- 屏蔽IE浏览器(也就是IE下不显示)
- *:lang(zh) select {font:12px !important;} /*FF,
OP可见,特别提醒:由于Opera最近的升级,目前此句只为FF所识别*/
select:empty {font:12px !important;} /*safari可见*/
这里select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的。
- 仅IE7与IE5.0可以识别
- *+html select {…}
当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK。
- 仅IE7可以识别
- *+html select {…!important;}
当面临需要只针对IE7做样式的时候就可以采用这个HACK。
- IE6及IE6以下识别
- * html select {…}
这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。
html/**/ >body select {…}
这句与上一句的作用相同。
- 仅IE6不识别,屏蔽IE6
- select { display /*屏蔽IE6*/:none;}
这里主要是通过CSS注释分开一个属性与值,注释在冒号前。
- 仅IE6与IE5不识别,屏蔽IE6与IE5
- select/**/ { display /*IE6,IE5不识别*/:none;}
这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。不屏蔽IE5.5
- 仅IE5不识别,屏蔽IE5
- select/*IE5不识别*/ {…}
这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。
- 盒模型解决方法
- selct {width:IE5.x宽度; voice-family :"\"}\""; voice-family:inherit; width:正确宽度;}
盒模型的清除方法不是通过!important来处理的。这点要明确。
- 清除浮动
- select:after {content:"."; display:block; height:0; clear:both; visibility:hidden;}
在Firefox中,当子级都为浮动时,那么父级的高度就无法完全的包住整个子级,那么这时用这个清除浮动的HACK来对父级做一次定义,那么就可以解决这个问题。
- 截字省略号
- select { -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; }
这个是在越出长度后会自行的截掉多出部分的文字,并以省略号结尾,很好的一个技术。只是目前Firefox并不支持。
- 只有Opera识别
- @media all and (min-width: 0px){ select {……} }
针对Opera浏览器做单独的设定。
以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有的是写在HTML中的通过条件来链接或是导入需要的补丁样式。
- IE5.x的过滤器,只有IE5.x可见
- @media tty {
i{content:"\";/*" "*/}} @import ‘ie5win.css‘; /*";}
}/* */
- IE5/MAC的过滤器,一般用不着
- /*\*//*/
@import "ie5mac.css";
/**/
- IE的if条件Hack
- <!–[if IE]> Only IE <![endif]–>
所有的IE可识别
<!–[if IE 5.0]> Only IE 5.0 <![endif]–>
只有IE5.0可以识别
<!–[if gt IE 5.0]> Only IE 5.0+ <![endif]–>
IE5.0包换IE5.5都可以识别
<!–[if lt IE 6]> Only IE 6- <![endif]–>
仅IE6可识别
<!–[if gte IE 6]> Only IE 6/+ <![endif]–>
IE6以及IE6以下的IE5.x都可识别
<!–[if lte IE 7]> Only IE 7/- <![endif]–>
仅IE7可识别
以上内容可能并不全面,欢迎大家能和我一起把这些技巧都汇总起来,为以后工作的查询提供一个方便,同时在这里感谢那些研究出这些HACK的作者们。
并不是所有的Web 开发者都会对美化表格数据感兴趣,今天我们收集了20 个功能强大,外观漂亮的基于Ajax + CSS 的表格效果,你可以从这些示例中学习怎么使用这些表格提供的排序和过滤的功能来组织表格中的数据。
现在让我们来看看这些表格:
Tablecloth 由CSS Globe 开发,是一个轻量级的、易于使用的表格,以友好的方式将样式和行为添加到你当前的HTML 表格元素当中。

Ask the CSS Guy Table 演示了怎么样创建一个可以显示数据之间的关系的表格,例如在单击某个单元格时可以同时突出显示最顶端的行和最左边的列。

Veerle Duoh 为我们介绍了一种如何利用CSS 使表格更有吸引力的方法,并且在实现的过程中充分考虑了表格的可访问性。

Sortable Table ——演示了如何按升序或降序排列以及如何过滤显示表格中的数据。

演示了如何利用Javascript 和 CSS 实现“锁定行”的效果,选中的行会一直显示高亮效果直到用户再次点击才会消失。

如果你有大量的数据但是没有足够大的空间来显示它,这会是一个很好的解决办法。通过CSS 固定表格的页眉和页脚,但是内容却可以滚动显示。

利用HTML 和CSS 建立的树状表格。

利用DOM 和CSS 建立的可折叠的表格效果。表格页脚部分包含的箭头有一个名为“footcollapse”的类,通过为之添加Javascript 代码可以让表格展开或折叠。

为jQuery 定制的插件,它的主要功能包括允许多列排序,支持<TH> 元素的rowspan 和colspan 属性。

利用Javascript 为指定表格中的行定义交替颜色,并添加onmouseover 和onmouseout 事件。

利用MooTools 框架高亮显示鼠标悬停的单元格所在的行和列。

又一个利用CSS 高亮显示鼠标悬停当前行时的表格效果。

为jQuery 框架开发的表格排序、过滤插件,可以通过Ctrl + 鼠标单击选择多重列。

支持所有主流浏览器,自动填入数据,利用后台PHP / MySQL 可以实时滚动、排序、编辑、添加、过滤数据。包括默认、MS Office 2007 、 MS Office XP Excel 三种样式。

只需为你想要排序的表格添加一个名为“sortable ”的class ,就可以实现表格的排序功能。

A List Apart为我们提供了一个极好的利用Javascript 和 DOM 为表格的单元格应用背景色的示例。

Standardista Table Sorting 是一个可以让你按照表格的任何列进行排序的Javascript 脚本。

利用Ext Js 框架,功能强大的表格。

利用MooTools 框架开发的又一个可排序的表格。

利用Javascript 和 CSS 实现的可以拖曳、排序列表的效果。

昨天晚上安装zend,安装成功了可是用phpinfo()检查的时候zend Optimizer却没有激活,一直以为是配置的问题,找了半天,最后发现是SElinux和Zend冲突的问题,关闭SElinux就好了。
通过安装linux和配置服务器暂时学会了以下命令安装rpm软件 rpm -ivh 文件名查找安装的软件 rpm -qa|grep 文件名卸载rpm软件 rpm -e 软件名强制卸载 rpm -e –nodeps 软件名升技rpm软件 rpm -uvh 文件名 解压tar包 tar xzvf 文件名 查找文件 find / -name 文件名
ie不支持min-width/max-width min-height/min-width有时候做些效果有些不便,这个js可以让IE支持这个效果 minmax.js
以下是网页中图片超过指定大小自动缩放,并且可以点击看大图的代码
[CODE=javascript] //改变图片大小 function resizeImg() { var contentwidth=565;//设置图片最大宽度 var imageAll=document.getElementById("con").getElementsByTagName("img");//con为图片所在层的ID var turewidth,tureheight; if (imageAll !=null) { for (i=0; iimageAll[i].width) { if(imageAll[i].height==tureheight) { imageAll[i].style.height=imageAll[i].height/turewidth*imageAll[i].width+"px"; } imageAll[i].onclick=function(){window.open(this.src)}; imageAll[i].style.cursor="pointer"; imageAll[i].title="点击查看原始尺寸:"+turewidth+"*"+tureheight+"px"; } else { imageAll[i].style.width=turewidth+"px"; } } } } if (window.addEventListener) window.addEventListener("load", resizeImg, false); else if (window.attachEvent) window.attachEvent("onload", resizeImg); else window.onload=resizeImg [/CODE]
经常有些JS代码明明在别人网页上可以运行,拷贝过来运行却出错,这个时候可以检查下是不是DOCTYPE声明的问题
在没有DOCTYPE声明的情况下:
document.body.clientWidth
document.body.clientHeight
为当前窗口的宽度/高度;
在DOCTYPE声明以后
document.body.clientWidth
document.body.clientHeight
为整个页面的宽度/高度;
document.documentElement.clientWidth
document.documentElement.clientHeight
为当前窗口的宽度/高度;
同样增加DOCTYPE声明后
document.body.scrollLeft
document.body.scrollTop
要改为
document.documentElement.scrollLeft
document.documentElement.scrollTop
网上搜索的一段代码,但是加上DOCTYPE后就不能用了,于是乎修改了一下,现在完美支持FF和IE
JS代码如下:
- var img = document.getElementById("img");
- var xPos = 20;
- var yPos = document.documentElement.clientWidth - img.offsetHeight;
- var step = 1;
- var delay = 5;
- var height = 0;
- var Hoffset = 0;
- var Woffset = 0;
- var yon = 0;
- var xon = 0;
- var pause = true;
- var interval;
- img.style.top = yPos + "px";
- function changePos() {
- width = document.documentElement.clientWidth;
- height = document.documentElement.clientHeight;
- Hoffset = img.offsetHeight;
- Woffset = img.offsetWidth;
- img.style.left = xPos + document.documentElement.scrollLeft + "px";
- img.style.top = yPos + document.documentElement.scrollTop + "px";
- if (yon) {
- yPos = yPos + step;
- } else {
- yPos = yPos - step;
- }
- if (yPos < 0) {
- yon = 1;
- yPos = 0;
- }
- if (yPos >= (height - Hoffset)) {
- yon = 0;
- yPos = (height - Hoffset);
- }
- if (xon) {
- xPos = xPos + step;
- }
- else {
- xPos = xPos - step;
- }
- if (xPos < 0) {
- xon = 1;
- xPos = 0;
- }
- if (xPos >= (width - Woffset)) {
- xon = 0;
- xPos = (width - Woffset);
- }
- }
- function start() {
- img.visibility = "visible";
- interval = setInterval(‘changePos()’, delay);
- }
- start();
最近评论