我一直在使用带有站点管理员的 vs2010 中的默认模板在 ASP.net 中创建一个网站。我得到了奇怪的结果,其中带有跨度的图像不会对齐,因为它们之间总是有空格。我花了几个小时查看标记,最后绝望地创建了一个普通的 .htm 文件并将我的 html 复制到其中。令我惊讶的是,这实际上奏效了,所以在比较差异又一个小时后,我注意到模板创建了 site.master
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
而它创建 .htm 文件
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
谁能解释 Strict(这会导致我的布局出现错误)和 Transitional(这意味着布局与我预期的一样)之间的区别,如果在我的 aspx 页面中使用 Transitional 会在未来给我带来任何困难?
我在 VS 中有一个警告,指出
validation (xhtml 1.0 transitional): element 'h2' cannot be nested within element 'span'
我想这可能是使用 Strict 时错误的根源,但我不确定如何解决它。
编辑:这是导致错误的有问题的块
<a href="http://somelink.com">
<img src="Images/test.png alt="Test" />
<span class="Styling for hovering">
<h2>
Test
</h2>
<p>
This Is A Test
</p>
</span>
</a>
我正在尝试创建一个由图像及其下方的文本激活的链接。我想将文本保存在容器中。将鼠标悬停在该容器背景上时会发生变化。我还为跨度设置了固定大小。这是我需要在它们周围放置某种容器的主要原因。