问一个关于自动换行的诡异的问题!

jsuzzy 2010-03-25 12:58:34
div里的字数限制是12个字,一行6个,共两行。当输入的文字都是汉字时,没有问题,但当输入“】”(中文字符下),会发生诡异的折行现象。div的自动换行我是控制的(word-wrap:break-word;)

如输入“我是学生】】】】】】】】”,正常应该是第一行显示“我是学生】】”,然而,第一行却只显示了“我是学”,其他都跑到了第二行和第三行。如果十二个字符全是“】”,显示倒是正常的。如果写成了“我是学】】生】】】】】】”,显示也是正常的,这到底是为什么啊?有没有人碰到过这种现象?


...全文
120 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
gengjindong 2010-03-29
  • 打赏
  • 举报
回复
简单的说就是字符所占的字节数不同。
gengjindong 2010-03-28
  • 打赏
  • 举报
回复
楼主的问题其实和JAVA里的字符编码相类似。
首先我以ASCII码
英文的是0-2^3,中文的应该是0-2^6吧(很久以前学的忘的差不多了我就举个不恰当的例子吧)
汉字和英文明显就有了区别。
所以他们的编码类型不一样才导致这种事情的发生!!
gengjindong 2010-03-28
  • 打赏
  • 举报
回复
楼主的问题其实和JAVA里的字符编码相类似。
首页我以ASC
英文的是0-2^3,中文的应该是0-2^6吧(很久以前学的忘的差不多了我就举个不恰当的例子吧)
汉字和英文明显就有了区别。
所以他们的编码类型不一样才导致这种事情的发生!!
辰岡墨竹 2010-03-27
  • 打赏
  • 举报
回复
浏览器换行的时候会考虑语意。有很多标点是不能起头的。你可以用word-break:break-all;强制它断行。
sjmlsxp 2010-03-25
  • 打赏
  • 举报
回复
word-break:break-all; 看看
籽沫 2010-03-25
  • 打赏
  • 举报
回复
没有的 像他们说的这个是语法的常识呵呵,伱要解决的话第一将你的CSS的层宽加大点,第二就是尽量的调整你的写法啦,
因为一般在层里面就2个一是强制不换行,二就是自动换行,不管这2个那个估计都不能符合你的要求了
那你就只能从表面着手了,
ddcatlee 2010-03-25
  • 打赏
  • 举报
回复
标点符号不能作为行的开头



这个是语文的基础知识吧。
xshf12345 2010-03-25
  • 打赏
  • 举报
回复
主要是因为你的.nav_table div 设置width为80px了,不要设置,或设置更大一点
郭大侠_ 2010-03-25
  • 打赏
  • 举报
回复
或者这样:
<a href="#">我是学生】】<br/>】】】】】】</a>
郭大侠_ 2010-03-25
  • 打赏
  • 举报
回复

<a href="#"><pre>我是学生】】】】】】】】</pre></a>
jsuzzy 2010-03-25
  • 打赏
  • 举报
回复
2楼能再说清楚点么?“】”不也相当于汉字么?
这种问题没有解决方法?
jsuzzy 2010-03-25
  • 打赏
  • 举报
回复
代码如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style>
*{
margin:0;
padding:0;
font-size:12px;
}
/*标签*/
#GRG_nav { width: 1000px; margin: 0 auto; clear: both; }
.nav_table { width: 1000px; border-top: #1c7adb solid 1px; background-image: url(/Grid2008/library/template01/images/JGG_nav_bg.gif); background-repeat: repeat-x; background-position: center; border-bottom: #0556a2 solid 1px; height:40px; }
.nav_table div { text-align: center; float: left; vertical-align: middle; width: 80px; background-image: url(/Grid2008/library/template01/images/JGG_nav_bg2.gif); background-position: right center; background-repeat: no-repeat; padding: 6px 10px; font-weight: bold; height:28px; word-wrap:break-word; }
.td_nv a:link, .td_nv a:visited { text-decoration: none; color: #074dca; }
.td_nv a:hover, .td_nv a:active { color: #cc300e; text-decoration: underline; }


</style>
</head>

<body>
<div id="GRG_nav">
<div style="border-top: 0pt none;" cellspacing="0" cellpadding="0" class="nav_table">
<div class="td_nv" width="80"><a href="#">科研情报服务科研情报服务</a></div><div class="td_nv" width="80"><a href="#">学术情报】】】服务</a></div><div class="td_nv" width="80"><a href="#">其他读者】】服务</a></div><div class="td_nv" width="80"><a href="#">weeeeeed</a></div></div>
</div>
</body>
</html>
籽沫 2010-03-25
  • 打赏
  • 举报
回复
楼主你这个问题其实很简单,是这样的 在html里面的汉字字符当一行放不下时它会默认的自动换行处理,而英文和特殊符号等着会一直平铺下去超过层,所以当你按上面下的:“我是学生】】】】】】】】” 那他们前面一直到“我是学”就为一组了而后面的“生】】】】】】】】”着就会转译成另外一组了,本来这另外一组应该是不转行的,而你强制换行了所以也就撑一起都换下去了
这些都是正常的
xshf12345 2010-03-25
  • 打赏
  • 举报
回复
把代码贴出来看看

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧