html+css中惊奇发现一不能解释的怪现象(高手都没发现,值得一看)???

lenovo836 2008-10-20 12:04:16
<!--版权所有@www.ntjmrc.cn-->
<!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>
</head>
<body>
<table width="500px" border="0">
<tr>
<td>
<span style="width:150px;background:red;">123</span>
</td>
</tr>
</table>
</body>
</html>
高手都没发现的漏洞:
去掉<!--版权所有@www.ntjmrc.cn-->这句话
span中的width设置居然有效;而去掉这句话就没用了!
尚不能用理论解释!!
也是一个疑问啊????
...全文
96 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cyril_Tam 2008-10-20
  • 打赏
  • 举报
回复
看看你代码怎么写的

在span里加上 float:left;

加了浮动以后,如果多加几个span,肯定会换行, 因为你总的table设了500px, 你几个span 加一起的宽度肯定超500px, 所以挤到下一行去了

如果这样可以加大table宽度,或者设100%, 如果不能设%的话,非要设固定宽度,那么你算好有几个span,然后再算出table的宽度就不会换行了
lenovo836 2008-10-20
  • 打赏
  • 举报
回复
如果多加几个span它就换行了,怎么样才不换行呢?????
lenovo836 2008-10-20
  • 打赏
  • 举报
回复
如果多加几个span它就换行了,怎么样才不换行呢?????
Cyril_Tam 2008-10-20
  • 打赏
  • 举报
回复
大惊小怪的,呵呵

span属于行内样式定义元素,它的插入不会使原有结构发生任何变化,直到为它提供属性为止.

就是说span即使设置了width也不会占用页面空间,当设了display:block的时候,width才会生效

display的意思是指对象是否占用页面空间,display:block 指的是对象以块显示
sjmlsxp 2008-10-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhiyu27 的回复:]
-_-!!
DTD声明之前不能有任何东西 包括注释..
[/Quote]
加上别的可能导致DTD无效,所以~
汉森cd 2008-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 rabbit0404 的回复:]
哪知道ie搞什么东东阿,firefox下都无效。
[/Quote]
因为span是行元素,宽度随内容增加,如果你想定义它,就像3楼哥们说的那样定义成块元素,或者想其他办法。
mrshelly 2008-10-20
  • 打赏
  • 举报
回复
<span style="width:150px;background:red;display:block;">123</span>

注意 display:block;
aay.zhang 2008-10-20
  • 打赏
  • 举报
回复
-_-!!
DTD声明之前不能有任何东西 包括注释..
汉森cd 2008-10-20
  • 打赏
  • 举报
回复
哪知道ie搞什么东东阿,firefox下都无效。

61,112

社区成员

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

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