当前位置: 首页 > 图文教程 > 网络编程 > Javascript > CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)

Javascript
一个简单的收缩菜单效果
HTML-CSS群中单选引发的“事件”
打开超链需要“确认”对话框的方法
用js实现网页上模仿桌面右键菜单
可以文本显示的公告栏的js代码
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
极致之美:百行代码实现全新智能语言
表单(FORM)的一些实用效果代码
[原创]提供复制本站内容时出现,该文章转自等字样的js代码
javascript中巧用“闭包”实现程序的暂停执行功能
给网站上的广告“加速”显示的方法
[原创]jser必看的破解javascript各种加密的反向思维方法
用javascript代替marquee的滚动字幕效果代码
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
[原创]由亿起发(eqifa.com)的页面发现顶部的http://16a.us/8.js想到的js解密
[原创]站长必须要知道的javascript广告代码
js defineSetter -给js的 "class"自动增加一个set的属性(方法)
Javascript & DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
WordPress 插件:CoolCode使用方法与下载
文档处理系列:随时更新

Javascript 中的 CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 134 ::
收藏到网摘: n/a

最近在为学乐网开发图片显示功能时遇到一个问题:在一个table中有两行,上边显示图片(大小随机),下边显示对图片的相关说明(文字长度随机) 这就出现一个问题,如果图片过小,或文字过长,就会出现文字把整个表格撑得很大,即占用了很多空间,显示效果也非常不美观。
网上也有许多解决办法,但要么复杂,要么不能解决跨浏览器问题,要么不能自适应图片大小变化。
在我的这个方法中,解决了: 不需要在代码中指定图片大小、跨浏览器、非常简单。最后的效果如下图所示,当文字过长时,它会自动换行以适应图片宽度:
基于表格的图文混排
方法如下:
1)图片及图片说明代码如下:
<table class="mod_img" width="10" align="left" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td align="center"><a title="点击查看原图" href="/upload/tech/20091012/20091012094506_eb6fdc36b281b7d5eabf33396c2683a2.png" target="_blank"><img src="/upload/tech/20091012/20091012094507_f0e52b27a7a5d6a1a87373dffa53dbe5.png" vspace="0" border="0" hspace="0"></a></td></tr><tr><td align="center"><div class="mod_img_desc">香港殖民地最后的一面旗帜,由英国蓝旗和代表香港的殖民地徽所组成,1959年-1997年</div></td></tr></tbody></table>2)"mod_img" 的定义如下,它指定了表格及图片边框的CSS样式:
.mod_img {margin:6px; border:1px solid #AAAAAA; padding: 3px; }
.mod_img img{margin:3px; border:1px solid #AAAAAA; padding:0px; }
3)"mod_img_desc" 的定义如下,它指定了说明文本的CSS样式:
.mod_img_desc {font-size:12px;word-break:break-all;width:100%; overflow:auto;}
这里的关键是上边的 width="10" 这处,这是文本自适应图片宽度的关键,实际上10是个很小的值,一般图片都大于这个值,并且在表格中显示一个图片时,图片会按自己的实际大小把这个表格撑开,因此这个 width 并不会影响图片的显示,而在 3)处指定了文本的 width 为100%,就是说文字按照实际的宽度显示,而不管该宽度是多少,当文字超过宽度时,自动换行。
经过测试,该方法在 IE/Firefox/Safari/Opera等浏览器中均能完美正常工作!祝你愉快。