锁定老帖子 主题:和小胖儿一起向<img>说再见.
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-06
笨笨狗 写道 不是什么都适合用背景的,比如你的网站logo,按照语义来说,就应该是图片,用img。另外,img标签有alt属性,这对残疾人士,或者说屏幕阅读器来说是非常有帮助了,请问你用背景图片如何传递此类信息?毕竟浏览器不是唯一的用户。什么东西都要考虑周全,要是img如此鸡肋,w3c大概早就遗弃它了吧。
确实不是所有的img都是无用的. 至于你说的那个 img的alt的问题很好解决 如果确实需要alt属性,那么就不要用 span+ background-image 的方式来代替img 你可以使用 <input type="image" />来代替. 例如 <input type="image" class="iamImg" alt="辅助说明" src="blank.png" disabled="disabled"/> 其中,blank.gif是一个固定的透明的图片. 样式如下 .iamImg { background-image:url(./defaultskin/images/testimage.jpg); border:none; width:80px; height:20px; cursor: default; } 笨笨狗可以试一试. 初看起来 <input type="image" class="iamImg" alt="辅助说明" src="blank.png" disabled="disabled"/> 比 <img src="/webcontextpath/common/defaultskin/images/testimage.jpg" alt="辅助说明" class="iamImg" /> 麻烦,但实际上带来的好处也是同样明显的. 当然凡是都有利弊了. |
|
返回顶楼 | |
发表时间:2007-09-06
当然 核心思想不是 为了不用img 而是为了让src和页面脱离关系
所以你可以还用 img 然后将 src指向 固定的blank图片 img的具体内容还用 css制定 |
|
返回顶楼 | |
发表时间:2007-09-06
更有意思的用法是把小图片集合在一个大图片里面,然后css里面指定background-image的poistion,显示不同的图片。
也是老方法了,大家不防试试,这样的话,一个系统换一个皮肤更简单。 |
|
返回顶楼 | |
发表时间:2007-09-07
楼上说的有道理,貌似网易邮箱、网盘页面上用的图片就是用的这种方法。
将图片设置到CSS背景属性上,还可以减少网络带宽占用,对于一个图片来说,用CSS它只要向服务器请求一次就行了,而用img的话,每一个<img>标签就要请求一次,这在一个图片在一个页面上多次出现的时候是很浪费带宽的。 我们现在就在有意识地用CSS来显示图片。 |
|
返回顶楼 | |
发表时间:2007-09-09
对于一个图片来说,用CSS它只要向服务器请求一次就行了,而用img的话,每一个<img>标签就要请求一次 ??
sure?以我的经历貌似不是这样的。 |
|
返回顶楼 | |
发表时间:2007-09-09
恩 楼上说的对 即使提到css里 对图片的请求次数还是不会少的
否则客户端无论如何也弄不到那些图片啊 呵呵 但是 这里面请求的时机有所不同了. 用img标签, 是浏览器在解析页面时发出请求, 在css里,是浏览器在解析css文件时发出请求. 但是这个细微的差别对开发人员来说几乎没有影响. |
|
返回顶楼 | |
发表时间:2007-09-09
fins 写道 恩 楼上说的对 即使提到css里 对图片的请求次数还是不会少的
楼上两位可能误解人家说的请求一次的意思了。
否则客户端无论如何也弄不到那些图片啊 呵呵 但是 这里面请求的时机有所不同了. 用img标签, 是浏览器在解析页面时发出请求, 在css里,是浏览器在解析css文件时发出请求. 但是这个细微的差别对开发人员来说几乎没有影响. 当使用我说的方法的时候,很多图片坐在一起,然后用css指定显示位置,这样的话,很多图片由于做在了一个图片里面,多以请求一次(也就是下载一个图片)就OK了。 当然这里面的图片肯定是常用图片,几乎每个页面都用的,比如倒角,影子等图片。 EXT的图片就是这么处理的。 |
|
返回顶楼 | |
发表时间:2007-09-10
客户端对一个CSS只会请求一次,而每遇到一个<img>标签就会请求一次,所以如果把图片做到CSS里,重复出现时只要向服务器请求一次就OK了。
例如,在一个数据列表里,可能经常需要出现删除、修改等按钮图片,我们以前都是直接用<img>标签,现在全换成用统一的CSS来实现,方便维护,也节省网络带宽,当然这点节约一般情况下可能感觉不出来,但在网络状况比较差的情况下就能看出效果了。 |
|
返回顶楼 | |
发表时间:2007-09-10
hlxiong 写道 客户端对一个CSS只会请求一次,而每遇到一个<img>标签就会请求一次,所以如果把图片做到CSS里,重复出现时只要向服务器请求一次就OK了。
那css里引用的图片信息 是怎么传给客户端的呢?? 你的意思是 图片文件的内容和css文件的内容一起传过去了 ?? |
|
返回顶楼 | |
发表时间:2007-09-10
hlxiong 写道 客户端对一个CSS只会请求一次,而每遇到一个<img>标签就会请求一次,所以如果把图片做到CSS里,重复出现时只要向服务器请求一次就OK了。
好像不是这样吧。。请求完css后,css里面的img还是都要请求一次的。 |
|
返回顶楼 | |