中国设计联盟
联网
Dreamweaver Flash Photoshop 其它周边 web标准 asp php .net CSS WAP网站攻略 专题
域名注册 虚拟主机 广州网站设计 域名注册 广州网站建设 上海网站建设 虚拟主机 广州网页设计  虚拟主机 域名注册 acg王国 ACG玩家
求创科技
上海网站建设
中国福网
招聘求职
中国互联
中国设计秀
中资源
当前位置:网络学院首页 >> 设计教程 >> web标准 >> 使文本保持在同一行中显示

使文本保持在同一行中显示 (1)

来源:中国设计秀    作者:sharon    点击:333     加入收藏
关键字:保持 WEB标准 css div

      最近有很多网友都在问一个问题:怎么能让多个不固定宽度的对象显示在一行上,如果有对象在剩余空间中显示不下,则换到下一行显示,而不是一个对象分两行显示。

的确,这是令初学者经常困惑的问题,也是经常在设计中用到设置。类似网站模板右侧的标签列表的应用。

下面请看这样一个例子:


        
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

      在IE6下运行后可以看到,第一行最后一个标签“乒乓球”就是换行显示。那么在Firefox下则不会出现这样的问题,如图:

      也许这才是您想要的效果,那么,在IE下能否实现呢?答案是肯定的,只要您记住一下的几个步骤:

      (1)如果对象是内联对象,则将其强制转换为块级对象。display:block。本例中用到的是链接标签a,是内联对象,所以,a标签要设置display:block

      (2)要设置对象的浮动属性。float:left。因为块级对象默认将占据整行的,这样做即可以使块级化了的内联对象显示在一行中,又可以使对象自适应内容。注意:如果对象同时有设置了左、右外边距,在IE6下很可能会出现双倍边距的Bug。此时,可以将display:block替换成display:inline来解决此问题。

      (3)强制内容显示在一行上。word-break:keep-all。这是IE专有的属性,参见word-break

      (4)建议设置对象的高度。height

      向CSS的“a {...}”中加入:“display:block; float:left; word-break:keep-all;”,本例中的问题就可以解决。但有一种情况例外,就是:如果文字中包含“-”或空格等字符的时候,如下例:


        
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

      将原“乒乓球”改为“乒-乓球”,将原“basketball”改为“basket ball”后,在IE6下还是会出现两行显示一个对象的情况。解决办法就是设置对象的处理空格方式的属性“white-space:nowrap”。

 

0
顶一下
[1] [2]
2008-05-19 00:07:00    出处:w3cui.org
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明 | 网站公告 | 友情链接 | 留言 | 旧版入口