Проблема с масштабированием веб-браузера Silverlight

#asp.net #css #silverlight-4.0 #cross-browser

#asp.net #css #silverlight-4.0 #кросс-браузер

Вопрос:

Я разработал веб-сайт Silverlight. Проблема, с которой я сталкиваюсь в настоящее время, заключается в том, что когда я использую масштабирование браузера, он отображает увеличенную версию сайта без полос прокрутки браузера. Содержимое обрезается. Пожалуйста, проверьте эти изображения, которые отображают мою проблему.

http://demo.digi-corp.com/withzoom.jpg

http://demo.digi-corp.com/withoutzoom.jpg

Ниже приведен дизайн-код на моей странице aspx, где размещен объект silverlight.

<идентификатор формы =»form1″ runat=»server» style=»высота: 100%;»> <идентификатор div=»silverlightControlHost» style=»background: #9EEE69;»>тип= «application / x-silverlight-2» ширина = «100%» высота = «100%»>

     html, body
    {
        height: 100%;
        width:100%;
        overflow:auto;
    }
    body
    {
        padding: 0;
        margin: 0;
    }
    #silverlightControlHost
    {
        height: 100%;
        text-align: left;
        width: 100%;
     }
  

Ответ №1:

создать функцию javascript

функция bodyLoadEvent() {
this.form1.style.высота = (parseInt(document.body.offsetHeight) — 5).toString() «px»;
this.form1.style.width = (parseInt(document.body.offsetWidth) — 5).toString() «px»;
document.getElementById(«myhtmlbody»).style.высота = (parseInt(document.body.offsetHeight) — 5).toString() «px»;
document.getElementById(«myhtmlbody»).style.width= (parseInt(document.body.offsetWidth) — 5).toString() «px»;

}

и вызовите эту функцию при загрузке тела. т.е.
<body onload=»bodyLoadEvent();»>
<идентификатор формы =»form1″ runat=»сервер» style=»высота:100%;»>
…….
</ форма>
</body>

Комментарии:

1. Иногда это создает проблему в Chrome, он также отображает полосу прокрутки на 100%, если это происходит в вашем приложении, тогда не устанавливайте ширину для формы и тела и применяйте стиль для обоих как 100%.

Ответ №2:

@brijesh; вы должны определить min-width в своем body теге следующим образом:

 body
    {
        padding: 0;
        margin: 0;
        min-width:1000px;
    }
  

Комментарии:

1. Спасибо, это отлично работает, когда я увеличиваю масштаб в браузере. Но когда я сбрасываю масштаб браузера, он учитывает параметр min-width и не помещается в браузер

2. «не помещается в браузер», что вы хотите сказать, можете ли вы объяснить это подробнее. Спасибо

3. я уверен. когда я сброшу масштаб до 100% и просмотрю его в формате 1024 * 768, на нем отобразится полоса прокрутки, поскольку минимальная ширина указана как 1000 пикселей. Итак, что я хочу сделать, это когда масштаб установлен на 100%, то есть значение по умолчанию, которое должно вписываться в браузер без полосы прокрутки.

4. это всего лишь пример, в котором вы можете установить минимальную ширину для себя, например, 980 пикселей.

5. Но этот сайт можно просматривать на любом компьютере с любым разрешением. Тогда как я могу управлять своей минимальной шириной в соответствии с разрешением?