У меня есть страница aspx с 1 таблицей, содержащей 2 строки:
<!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>
<style>
html, body
{
height: 100%;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<table style="height:100%; width:100%">
<tr>
<td>
<img src="img/Logo.png" />
</td>
</tr>
<tr>
<td style="height:100%;">
<asp:Silverlight
ID="sllUI"
runat="server"
Source="~/ClientBin/My.Silverlight.UI.xap"
MinimumVersion="2.0.31005.0"
Width="100%"
Height="100%"
OnPluginLoaded="sllUI_OnPluginLoaded"
PluginBackground="Transparent"
Windowless="true">
</asp:Silverlight>
</td>
</tr>
</table>
</div>
</form>
<body>
</html>
Таблица заполняет страницу правильно, и заполнение нижней строки увеличивается до оставшейся высоты таблицы, которую не заполняет верхняя строка, что я и хочу. Проблема в том, что элемент управления silverlight принимает высоту страницы, а не высоту строки, в которой он находится, что приводит к тому, что на моей странице появляются полосы прокрутки, поскольку верхняя часть элемента управления silver light находится в верхней части строки. в, но это высота 100% браузера. Я не знаю, вызвано ли это моим HTML или Silverlight. Все мои элементы управления Silverlight настроены на автоматическую высоту и ширину. Я также попытался использовать div вместо таблицы, и я получил тот же результат. Как я могу это исправить?
Я обнаружил, что (по крайней мере, в IE7) указанный мной тип документа приводит к тому, что он использует стандартный режим IE6, но, если я извлекаю тип документа, он переходит в режим странностей IE5 (я нахожу режим с помощью DebugBar v5 .1.1). Режим Quirks заставляет его отображаться правильно, но я думаю, что я предпочел бы избегать режима Quirks, если я могу получить правильное отображение в стандартном режиме.