Pages: 43/44 First page Previous page 34 35 36 37 38 39 40 41 42 43 44 Next page Final page [ View by Articles | List ]
Aug 30
ie6div高度无法小于10像素解决方法
font-size:0; margin:0; padding:0; border:0;


用CSS 的定义一个DIV的高度时,在IE 7浏览器下可以正常显示。但是在IE 6 中,height 在10px以下就无法定义了。这点跟表格有点类似。解决的方法如下:
法一:定义overflow属性。比如想定义一个高度为2px 的线条。
<div style="height:2px;overflow:hidden;background:#000000;width:778px;"></div>

法二:将div 的字体大小属性fontsize 设置为跟高度相同。
<div style="height:2px;font-size:2px;background:#000000;width:778px;">&nbps;</div>
Aug 30
CSS hack是指我们为了兼容各浏览器,而使用的特别的css定义技巧。这是国外摘来的一张CSS hack列表,显示了各浏览器对css hack的支持程度,对我们制作兼容网页非常有帮助。
Highslide JS
Aug 30

css hack 不指定

tommyhu , 12:21 , 大前端 » CSS3 , Comments(0) , Trackbacks(0) , Reads(7739) , Via Original
  什么是CSS hack(http://www.cssplay.org.cn/css-hack/index.html)由于不同的浏览器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。
  这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。
  这个针对不同的浏览器写不同的CSS code的过程,就叫CSS hack,也叫写CSS hack。
  CSS Hack的原理是什么
  由于不同的浏览器对CSS的支持及解析结果不一样,还由于CSS中的优先级的关系。我们就可以根据这个来针对不同的浏览器来写不同的CSS。
  比如 IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_",而firefox两个都不能认识。等等
  书写顺序,一般是将识别能力强的浏览器的CSS写在后面。下面如何写里面说得更详细些。
  如何写CSS Hack
  比如要分辨IE6和firefox两种浏览器,可以这样写:
  <style>
  div{
  background:green; /* for firefox */
  *background:red; /* for IE6 */
  }
  </style>

  我在IE6中看到是红色的,在firefox中看到是绿色的。
  解释一下:
  上面的css在firefox中,它是认识不了后面的那个带星号的东东是什么的,于是将它过滤掉,不予理睬,解析得到的结果是:div{background:green},于是理所当然这个div的背景是绿色的。
  在IE6中呢,它两个background都能识别出来,它解析得到的结果是:div{background:green;background:red;},于是根据优先级别,处在后面的red的优先级高,于是当然这个div的背景颜色就是红色的了。
  CSS hack:区分IE6,IE7,firefox
  区别不同浏览器,CSS hack写法:
  区别IE6与FF:
  
background:orange;*background:blue;

  区别IE6与IE7:
  
background:green !important;background:blue;

  区别IE7与FF:
  
background:orange; *background:green;

  区别FF,IE7,IE6:

  background:orange;*background:green;_background:blue;
  background:orange;*background:green !important;*background:blue;

  注:IE都能识别*;标准浏览器(如FF)不能识别*;
  IE6能识别*,但不能识别 !important,
  IE7能识别*,也能识别!important;
  FF不能识别*,但能识别!important;
  IE6 IE7 FF
  * √ √ ×
  !important × √ √
  浏览器优先级别:FF  以:

" #demo {width:100px;} "为例;
  #demo {width:100px;} /*被FIREFOX,IE6,IE7执行.*/
  * html #demo {width:120px;} /*会被IE6执行,之前的定义会被后来的覆盖,所以#demo的宽度在IE6就为120px; */
  *+html #demo {width:130px;} /*会被IE7执行*/
  ---------------

  所以最后,#demo的宽度在三个浏览器的解释为:
  FIREFOX:100px;
  ie6:120px;
  ie7:130px;
  
  http://www.1987y.org
  详细的CSS资料参考
  http://www.cssplay.org.cn/
  玩转CSS - CSSPLAY中文官方网站
  一个致力于中国CSS技术的公益组织
Aug 28
采用CSS+DIV对网站重构日趋被大家重视起来了,尤其是大型站点,像阿里巴巴、163等大型门户站点就已经完成了重构工作。本人在去年就已经有了使用CSS+DIV来编写网页源码的习惯了,个人感觉这种方法确实比传统的TABLE形式的源码架构强多了。

1:表现和内容相分离

将设计部分剥离出来放在一个独立样式文件中,HTML文件中只存放文本信息。

2:提高搜索引擎对网页的索引效率

用只包含结构化内容的HTML代替嵌套的标签,搜索引擎将更有效地搜索到你的网页内容,并可能给你一个较高的评价。

3:提高页面浏览速度

对于同一个页面视觉效果,采用CSS+DIV重构的页面容量要比TABLE编码的页面文件容量小得多,前者一般只有后者的1/2大小。

还有因为标签是要等
下载好以后才可以显示的,所以整个网页是一下子跳出来的,这样让人感觉起来显示速度非常的慢。而使用css+div,
标签不用等
下载好就可以显示里面的内容的,所以让人感觉打开网页的速度非常之快。

4:易于维护和改版

你只要简单的修改几个CSS文件就可以重新设计整个网站的页面。

从以上的描述来看,采用CSS+DIV对网站重构可以大大提升网站用户与搜索引擎的友好度。

CSS+DIV所以成为目前网页布局主流,在我看主要核心原因,其实不仅仅是其符合W3C标准,而是通过采用CSS+DIV,网页工程从此:

表现与内容分离

现在div+css已经很风靡了,各大网站都纷纷重构为div+css模式,网易就是最好的例子,采用层和CSS后,给用户最直观的体验就是网页打开速度快了很多。能给用户好的体验,为什么不做呢?

今天我主要从SEO的角度来分析用DIV+CSS进行网站制作或重构的必要性:

1、用div+css构架的网站容易向W3C 标准靠拢,网站是否符合W3C标准是搜索引擎给网页排名的一个影响因素,特别是YAHOO,它看的比较重。

2、网站源代码简洁,除了几个div,ul,li,dl,dd,dt之类的标签外,几乎不用其他标签,这样,是网站内容完全裸露在搜索引擎的蜘蛛面前,便于抓取关键内容,增大关键内容的页面的比重,从而为排名因素增加比重。

3、可轻松做到关键内容先被蜘蛛读取。一般的站点都是左中右三栏式,页面的主要内容是在中间一栏,而蜘蛛读取页面内容是按照从上而下,从左至右的顺序进行的,如果你的左栏内容比较多,那就麻烦了,你的页面主要内容权值就会下降。而用div+css就可以把主要先写在前面,在写左栏,右栏内容,然后通过CSS一定位就可以了

4、方便调整网站结构布局。对于常用的表格布局,若想改下布局,可谓牵一发而动全身,网站层结构如果设计的合理,可以用CSS很轻松的改变网站的表现,这就是结构和内容,行为的分离。如果网站结构定期改动,自然对搜索引擎的蜘蛛吸引力不小的。
一个用层和css做好根基的网站,以后的优化工作自然会省力不少的。
Aug 28
1、Firefox设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width。

2、Firefox支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式,值得注意的是,一定要将xxxx !important 这句放置在另一句之上

如:

Firefox里的宽度为:500+5+5=510px,所以要把Firefox的宽度设置成490px才可以
IE里变500px

修改后的代码:


3、Firefox cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以

4、在firefox和IE中的BOX模型解释不一致导致相差2px解决方法:div{margin:30px!important;margin:28px;}

注意这两个margin的顺序一定不能写反,!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:div{maring:30px;margin:28px}

5、Firefox: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行

6、Firefox: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中
Aug 28
使用JS获取URL参数的函数,兼容多浏览器。
<script language = javascript>
function request(paras){
var url = location.href;
var paraString = url.substring(url.indexOf("?")+1,url.length).split("&");
var paraObj = {}
for (i=0; j=paraString[i]; i++){
paraObj[j.substring(0,j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=")+1,j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if(typeof(returnValue)=="undefined"){
return "";
}else{
return returnValue;
}
}
</script>

调用 类似asp获得地址栏参数
<script language = javascript>
var a=request('a');
</script>
Tags: , , , ,
Aug 25
Highslide JS
直接去blueidea看吧,写的挺好
http://www.blueidea.com/tech/web/2007/4545.asp
Highslide JS
Tags: , ,
Aug 24
以下代码在IE7下执行,则IE崩溃关闭!估计是处理点点的bug……

<style type="text/css">  
div{float:left;width:175px;}  
ul{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}  
li{position:relative;}  
</style>  
  
<div>  
<ul>  
<li>崩溃崩溃崩溃崩溃崩溃crash ie7</li>  
<li>崩溃崩溃崩溃崩溃崩溃crash ie7</li>  
</ul>  
</div>  
<style type="text/css">
div{float:left;width:175px;}
ul{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
li{position:relative;}
</style>

<div>
<ul>
<li>崩溃崩溃崩溃崩溃崩溃crash ie7</li>
<li>崩溃崩溃崩溃崩溃崩溃crash ie7</li>
</ul>
</div>

演示,请使用IE7打开

Pages: 43/44 First page Previous page 34 35 36 37 38 39 40 41 42 43 44 Next page Final page [ View by Articles | List ]