如何利用CSS控制文本只在一行显示?

html-css014

如何利用CSS控制文本只在一行显示?,第1张

用CSS让文字在一行内显示不换行的方法:

一般的文字截断(适用于内联与块):

.text-overflow{

display:block             /*内联对象需加*/

width:31em

word-break:keep-all       /* 不换行 */

white-space:nowrap        /* 不换行 */

overflow:hidden           /* 内容超出宽度时隐藏超出部分的内容 */

text-overflow:ellipsis    /*溢出时显示省略标记...;需与overflow:hidden一起使用*/

}

对于表格,定义有点不一样:

table{

width:30em

table-layout:fixed      /*只有定义了表格的布局算法为fixed,下面td的定义才能起作用*/

}

td{

width:100%

word-break:keep-all     /* 不换行 */

white-space:nowrap      /* 不换行 */

overflow:hidden         /* 内容超出宽度时隐藏超出部分的内容 */

text-overflow:ellipsis  /* 溢出时显示省略标记...;需与overflow:hidden一起使用*/

}

注:这个只对单行的文字的效,如果你想把它用在多行上,也只有第一行有作用的。 这个写法只有IE会有"...",其它的浏览器文本超出指定宽度时会隐藏。

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

实现两个div在同一行显示有多种方法,可以用设置浮动——用float,还可以用绝对定位position,等等。

这里只简单介绍使用浮动实现方法。

方法一:

<div style="float:left"></div><div></div>

方法二:

<div style="float:left"></div><div style="float:left"></div>

方法三:

<div style="float:left"></div><div style="float:right"></div>

这三种方法均可实现div同行显示。

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

我写了段CSS,但是左边的和右边的是在同一行,但右边的跑下边一行了,请教了

CSS代码 ---------------------------------

#icon_left {

height: 72px

width: 60px

font-family: Verdana, Arial, Helvetica, sans-serif, "宋体"

font-size: 12px

font-weight: normal

text-align: center

line-height: 20px

float: left

}

#icon_middle {

height: 72px

width: 60px

font-family: Verdana, Arial, Helvetica, sans-serif, "宋体"

font-size: 12px

font-weight: normal

text-align: center

line-height: 20px

margin-right: auto

margin-left: auto

}

#icon_right {

height: 72px

width: 60px

font-family: Verdana, Arial, Helvetica, sans-serif, "宋体"

font-size: 12px

font-weight: normal

text-align: center

line-height: 20px

float: right

}

DIV代码 -----------------------------------

<div id="icon_left"><img src=images/icon1.gif /><br />

战略&秘籍</div>

<div id="icon_middle"><img src=images/icon1.gif /><br />

地图下载</div>

<div id="icon_right"><img src=images/icon1.gif /><br />

任务下载</div>

解析:

试验了很久没搞出来,估计是float这个属性在块的行分布的计算上存在BUG,你看看这篇文章:

sace/members/persons/lpj/blog/CSS%2CFloat%2C01/

其中有一段:

“如果居左的浮动被放置在其容器的左上脚,并且其后跟随一个同向的浮动,该浮动会被放置在容器右上脚,然后移动到左侧,边界延伸到第一个浮动的右侧时停止。”

“最后的一种行为让我们创建整行的floats,每个都被放置在前一个的右侧(或者左侧,如果使用{float:right}). 同样,当一行中没有足够的空间时,多出来的floats绕到下一行,非常像行内元素那样。这对于制作可点击的图像“简略图”非常方便,因为矩阵会自动调整到屏幕的尺寸,只是简单地在需要时进行回绕。”

似乎说明了你的要求无法实现的原因……

如果你坚持采用这样的页面布局,可以考虑用表格,用表格要快的多了……

哈,参考了这篇文章:

ziyihome/bbs/dispbbs?boardid=13&id=498&page=1

搞出来了,你得把处于中间的那个块在代码中放在最后面……