存档

作者存档

解决ie6png格式bug

2009年11月29日 hongsite 没有评论

    PNG(Portable Network Graphics)格式图片可以表现更为绚丽多彩的颜色,常见的一些具有矢量效果的图片、图标都采用png格式,但是具有透明背景的png格式图片在IE6中却不是背景透明的,透明背景部分会显示出#DBEAED的淡灰色,表现效果很糟糕,为了使用透明背景图片只有采用gif格式了,但是gif格式会出现明显的锯齿效果,所以只有设法修复IE6的这个问题。解决的办法就是使用IE的Microsoft.AlphaImageLoader滤镜。

    如果希望使用png格式图片作为DOM元素的背景,那么就可以使用滤镜来加载png图片:
    css代码:.png{background: url(images/angel.png) no-repeat !important;_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=”images/angel.png”);background:none;  width:100px;height:100px;}
    HTML代码:<div class=”png”>背景PNG透明</div>

    如果png格式的图片不是用来做元素背景,而是直接引入的img图像,那么此时可以把此img标签的src属性替换为一张空的透明gif图像,然后再把png图片加载为元素的背景就可以了。首先要准备一张空白透明的gif图片,一般命名为blank.gif(可自己另起名字),然后就可以替换png图像了。但是手工替换不太现实,最好一段代码就解决问题:
    css代码:
    .mypng img {
      azimuth: expression(
         this.pngSet?this.pngSet=true:
       (this.nodeName == “IMG” &&  this.src.toLowerCase().indexOf(’.png’)>-1?
      (this.runtimeStyle.backgroundImage = “none”,
      this.runtimeStyle.filter = “progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’” + this.src + “‘,sizingMethod=’image’)”,
      this.src = “blank.gif”)
      :  (this.origBg = this.origBg?
      this.origBg
      :this.currentStyle.backgroundImage.toString().replace(’url(”‘,”).replace(’”)’,”),
      this.runtimeStyle.filter = “progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’” + this.origBg + “‘, sizingMethod=’crop’)”,
      this.runtimeStyle.backgroundImage = “none”)),
      this.pngSet=true);
    }
    html代码:<div class=”mypng”><img src=”图片路径” /></div>

分类: DIV+CSS 标签:

Div+CSS的优点

2009年11月3日 hongsite 没有评论

    Div+CSS布局的优点:

    业界越来越关注DIV+CSS的标准化设计,大到各大门户网站,小到不计其数的个人网站,在Div+CSS标准化的影响下,网页设计人员已经把这一要求作为行业标准。那么什么是Div+CSS标准?Div+CSS的标准化设计到底有什么好处?

    Div 全称 division 意为“区分”使用 DIV 的方法跟使用其他 tag 的方法一样。

    如果单独使用 DIV 而不加任何 CSS, 那么它在网页中的效果和使用 <P></P> 是一样的。DIV本身就是容器性质的,你不但可以内嵌table还可以内嵌文本和其它的HTML代码。

    CSS是Cascading style Sheets的简称,中文译作“层叠样式表单”,在主页制作时采用CSS技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。只要对相应的代码做一些简单的修改,就可以改变同一页面的不同部分,或者页数不同的网页的外观和格式。在网上没有使用过CSS的网页可能不好找。不管你用什么工具软件制作网页,都有在有意无意地使用CSS。用好CSS能使你的网页更加简炼,同样内容的网页,有的人做出来有几十KB,而高手做出来只有十几KB。

    Div+CSS标准的优点:

    1.大大缩减页面代码,提高页面浏览速度,缩减带宽成本。

    2.结构清晰,容易被搜索引擎搜索到,天生优化了seo。

    3.CSS非常容易编写。你可以象写html代码一样轻松地编写CSS。

    4.缩短改版时间。只要简单的修改几个CSS文件就可以重新设计一个有成百上千页面的站点。

    5.强大的字体控制和排版能力。CSS控制字体的能力比糟糕的FONT标签好多了,有了CSS,我们不再需要用FONT标签或者透明的1 px GIF图片来控制标题,改变字体颜色,字体样式等等。 

    6.提高易用性。使用CSS可以结构化HTML,例如:<p>标签只用来控制段落,heading标签只用来控制标题,table标签只用来表现格式化的数据等等。你可以增加更多的用户而不需要建立独立的版本。
 
    7.更好的控制页面布局。不用多说。

    8.表现和内容相分离。将设计部分剥离出来放在一个独立样式文件中,你可以减少未来网页无效的可能。

    9.更方便搜索引擎的搜索。用只包含结构化内容的HTML代替嵌套的标签,搜索引擎将更有效地搜索到你的内容,并可能给你一个较高的评价(ranking)。
 
    10.另外如果你不是javascrput的高手,你可以不必去写ID,只用class就可以。当客户端程序员写完程序,需要调整时候,你可以在利用他的ID进行控制。

    11.Table 中布局中,垃圾代码会很多,一些修饰的样式及布局的代码混合一起,很不利于直观。而Div 更能体现样式和结构相分离,结构的重构性强。

    12.在几乎所有的浏览器上都可以使用。

    13.以前一些非得通过图片转换实现的功能,现在只要用CSS就可以轻松实现,从而更快地下载页面。

    14.使页面的字体变得更漂亮,更容易编排,使页面真正赏心悦目。

    15.你可以轻松地控制页面的布局 。

    16.你可以将许多网页的风格格式同时更新,不用再一页一页地更新了。你可以将站点上所有的网页风格都使用一个CSS文件进行控制,只要修改这个CSS文件中相应的行,那么整个站点的所有页面都会随之发生变动。

    17.Table 布局灵活性不大,你只能遵循 table tr td 的格式。而div 你可以 div ul li 也可以 ol li 还可以 ul li ……但标准语法最好有序的写。

分类: DIV+CSS 标签: