CSS样式高手进!有一棘手问题

我需要在一个弹出框中显示一条记录的详细信息,由于记录中有一个“说明”字段,这个字段中的文字较多,所以会出现顶开表格的边框现象,我在显示说明的表格<td>中加了一个<div... 我需要在一个弹出框中显示一条记录的详细信息,由于记录中有一个“说明”字段,这个字段中的文字较多,所以会出现顶开表格的边框现象,我在显示说明的表格<td>中加了一个<div>标记,并且设置当超过高度的时候显示垂值滚动条,以下是这个div的样式:
.PopupTdDescription
{
height:70px;
word-wrap:break-word;
overflow-y:auto;
}
但奇怪的问题出现了,只要显示中文,一切正常,但只要是英文,会不起作用依然会顶开边框,非常难看,请教高手解决,感谢感谢!
问题可见图示
展开
 我来答
ccrenway
2010-08-20 · TA获得超过999个赞
知道小有建树答主
回答量:242
采纳率:0%
帮助的人:280万
展开全部
出现这个原因是因为自动换行中判断的原则问题。

中文字符是2个字符一个字,所以,只要是到了限制的宽度就会自己换行;
英文字符中,判断换行的标准是“-”(连字符,即减号)和空格。

由你的内容可以看到,中文那边,你是有空格的,但是英文那部分却是一整串的字符,所以无法判断换行。

其实,你有两个办法处理这个问题:
1、实际应用中,是不会出现你英文中的情况的。所以,不修改也可以。(你可以加几个空格,或者复制一段完整的英文内容试试就清楚了。)

2、采用强制换行。下面是代码:

div{word-break:break-all;}

A,word-break:break-all 例如div宽200px,它的内容就会到200px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词截断,变成该行末端为conra(congratulation的前端部分),下一行为tulation(conguatulation)的后端部分了。

B,word-wrap:break-word 例子与上面一样,但区别就是它会把congratulation整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉的。
xue_seven
2010-08-20 · TA获得超过262个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:191万
展开全部
加个word-break:break-all;给它一个宽度width试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
catm3
2010-08-20 · TA获得超过511个赞
知道小有建树答主
回答量:234
采纳率:100%
帮助的人:356万
展开全部
word-wrap:break-word;

这个句子的意思不知道你是否明白,它的意思是按单词分行。
然后每个中文字都被认为是一个单词,所以连续的中文字之间总是能被换行。
再然后连续的英文字母被认为是一个单词,所以连续的英文字母不会被切成两半进行换行。

你可以试试 word-wrap:break-all; 此时总是换行。

不过在实际应用中基本用break-word,因为单词被切成两半不是很爽。然后正常的英文句子中,单词最多也就10来个字母,单词之间有空白,基本上换行都能正常进行(格子实在太窄就是应用设计问题了,没考虑周全)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式