css3PIE или PIE.htc в Asp.net

Ну, я использовал css3pie в asp.net, который не работает. Я пробовал все возможные решения. Искал много форумов, но не смог правильно использовать PIE в asp.net. Позвольте мне показать вам структуру моего проекта.

У меня есть мастер-страницы и внутренние мастер-страницы в иерархии проектов.
css3pie работает с теми страницами, которые не используют мастер-страницы. Мои файлы css и .htc выглядят следующим образом

  • Root
    • css
    • сценарий

Когда я использую css3PIE без главной страницы, это работает:

<script type="text/javascript" src="../Scripts/html5.js"></script>        

<link href="css/IE.css" rel="stylesheet" type="text/css" />

Приведенный выше код работает. Но когда я использовал любую страницу с master. Это не работает. Мой css выглядит примерно так:

behavior: url('../Scripts/PIE.htc');

CSS помещается в файл IE.css. Вы можете увидеть приведенный выше код. Помните, я пробовал все возможные комбинации для ссылки на .htc в css

behavior: url('../Scripts/PIE.htc');

behavior: url('/Scripts/PIE.htc');

behavior: url('/PIE.htc');

behavior: url('PIE.htc');

with and without quotes

Еще кое-что. Многие говорят, что это связано с относительным путем. Ну, я тестировал эти вещи. когда я смотрю на визуализированный html в инструментах разработки в IE. Он применяет поведение, но не работает. Пожалуйста помогите. Это будет высоко оценено. заранее спасибо


person Ali    schedule 24.01.2012    source источник
comment
что, если вы попробуете полный URL-адрес с http:// в браузере, вы получите файл? или вы получили 404 или другую ошибку http?   -  person Arief    schedule 24.01.2012
comment
Ариф спасибо за быстрый повтор. Я могу получить файл .htc   -  person Ali    schedule 24.01.2012
comment
Хорошо, когда я пробую полный URL-адрес, например localhost:51281/scripts/PIE.htc, он дает мне возможность скачать файл Pie.htc. Это означает, что путь указан правильно.   -  person Ali    schedule 24.01.2012
comment
используйте этот полный путь в своем файле CSS, также проверьте, правильно ли загружен ваш файл javascript.   -  person Arief    schedule 24.01.2012
comment
Я думаю, что я уже пробовал это. Но я сделаю еще одну попытку, а потом дам вам знать. Спасибо   -  person Ali    schedule 24.01.2012


Ответы (2)


Хорошо, я исправил проблему. Поэтому я пишу здесь, чтобы помочь другим людям. Когда вы используете мастер-страницы в asp.net и используете файл .htc в качестве относительного пути в css, используйте позицию как относительную. для целевого элемента, который использует стиль css3. Например, класс css имеет круглую форму.

<style>
.round-box
{
  border: 1px solid #696;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  behavior: url(PIE.htc);
}
</style>

HTML-элемент, к которому мы применим стиль .round-box:

<div class="round-box">This is a round Div<div>

Таким образом, те, у кого есть проблемы с закругленными углами, не работающими в IE, просто поместите IE определенную позицию: относительно для браузеров IE, например.

 <!--[if lt IE 9]>
    <style>        
        .round-box
        {
            position: relative;
        }       
    </style>
 <![endif]-->

Это устранит круглую проблему или те, у которых нет видимой границы. Имейте в виду, что position:relative повлияет на дочерние элементы. Использовать его с умом

person Ali    schedule 31.01.2012

Это не проблема пути... это связано с тем, что веб-сервер понимает, как обслуживать файл .htc. Включен скрипт-оболочка, который делает это для PHP, вы можете начать с него и настроить его для IIS.

person Robert Bolton    schedule 14.12.2012