Jump to content
  • 0

Подключение в файле сss скрипта для окргления углов в IE


riki
 Share

Question

В файле style.css eсть код для округления углов в IE

.ieroundbox{
...
behavior: url(border-radius.htc); /* подключаем наш htc скрипт который и будет округлять углы в ie*/
}

Но IE его не видит.

Сам файл border-radius.htc лежит в одной папке с style.css.

Пробал задавать разные url

../border-radius.htc

./border-radius.htc

и полный путь, но все равно IE, что то не нравиться.

В IE углы не округляются

P.S Cам файл style.css по отношению к главному файлу index.php находиться в sk/css/style.css и здесь же border-radius.htc

Edited by riki
Link to comment
Share on other sites

23 answers to this question

Recommended Posts

  • 0
riki,

Путь в данном случае надо указывать не относительно файла стилей, а относительно самого документа, странички.

Если Вы имели ввиду полный путь - то пробовал результат такой же

Страничка эта index.php ???

Не ясно то, что если файл style.сss и border-radius.htc лежат в одной директории

такое подключение не работает

behavior: url(border-radius.htc)

Edited by riki
Link to comment
Share on other sites

  • 0

Сервер должен отдавать правильный заголовок. Подключайте через php:

behavior: url('/misc/PIE.php');

<?php
/*
This file is a wrapper, for use in PHP environments, which serves PIE.htc using the
correct content-type, so that IE will recognize it as a behavior. Simply specify the
behavior property to fetch this .php file instead of the .htc directly:

.myElement {
[ ...css3 properties... ]
behavior: url(PIE.php);
}

This is only necessary when the web server is not configured to serve .htc files with
the text/x-component content-type, and cannot easily be configured to do so (as is the
case with some shared hosting providers).
*/

header( 'Content-type: text/x-component' );
include( 'PIE.htc' );
?>

Есть баг с некоторыми элементами, если они становятся невидимыми, то укажите для них postion: relative;

Link to comment
Share on other sites

  • 0
Сервер должен отдавать правильный заголовок. Подключайте через php:

behavior: url('/misc/PIE.php');

<?php
/*
This file is a wrapper, for use in PHP environments, which serves PIE.htc using the
correct content-type, so that IE will recognize it as a behavior. Simply specify the
behavior property to fetch this .php file instead of the .htc directly:

.myElement {
[ ...css3 properties... ]
behavior: url(PIE.php);
}

This is only necessary when the web server is not configured to serve .htc files with
the text/x-component content-type, and cannot easily be configured to do so (as is the
case with some shared hosting providers).
*/

header( 'Content-type: text/x-component' );
include( 'PIE.htc' );
?>

Есть баг с некоторыми элементами, если они становятся невидимыми, то укажите для них postion: relative;

Так дело в пхп или неверный путь в урле?

Link to comment
Share on other sites

  • 0

Shift-Web вопрос же в рамках этой темы....

Раньше углы в IE округлялись (конечно тем способом -->> border-radius.htc), но после перемещения в другой каталог все сайта - упорно IE углы не округляет

Edited by riki
Link to comment
Share on other sites

  • 0

В общем подсказку я дал. Цепляйте через PHP -- это более правильно и удобно. Файл htc кладите рядом с php. Чистите кэш браузера и проверяте. И не забывайте что бехавиор должен идти последним правилом.

#css_rounded {
someProperty: someRule;
...
position: relative;
behavior: url('/misc/PIE.php');
}

Возможен банальный конфликт. Я бы порекомедовал для ИЕ бехавиор цеплять в CSS через условные комментарии и в нём уже извращаться:

<!--[if IE]><link type="text/css" rel="stylesheet" media="all" href="/misc/ie-fix.css" /><![endif]-->

Edited by Shift-Web
Link to comment
Share on other sites

  • 0
Если Вы имели ввиду полный путь - то пробовал результат такой же
P.S Cам файл style.css по отношению к главному файлу index.php находиться в sk/css/style.css и здесь же border-radius.htc

Попробуйте задать

behavior: url(/sk/css/border-radius.htc);

Link to comment
Share on other sites

  • 0

Я могу ошибаться, но может автор на компе у себя страничку открывает...просто сталкивался с тем что ИЕ файл этот border-radius.htc только на вертуалке/хостинге открывает. Так же если файл прописан в КСС то путь к файлу должен быть относительно css файла.

А еще не маловажно, какой у него доктайп там стоит

Edited by eVErl@Sting
Link to comment
Share on other sites

  • 0
Попробуйте задать

behavior: url(/sk/css/border-radius.htc);

Пробовал. Результата нет

А еще не маловажно, какой у него доктайп там стоит

стоит такой

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
....

Я могу ошибаться, но может автор на компе у себя страничку открывает...просто сталкивался с тем что ИЕ файл этот border-radius.htc только на вертуалке/хостинге открывает.

сайт "запускается" в денвере

Так же если файл прописан в КСС то путь к файлу должен быть относительно css файла.

пути пробавал разные

структура такая

...localhost\www\1\index.php

в папке 1

sk/css/border-radius.htc и здесь же style.css

то есть в паке 1 -> файл index.php и папки sk/css/ и другие

P.S. Еще используется шаблонизатор smarty

Link to comment
Share on other sites

  • 0
Пробовал. Результата нет

Тогда попробуй действительно через php-файл. Должен идти вместе со скриптом. В css нужно написать в этом случае behavior: url(/sk/css/border-radius.php). Сам border-radius.htc должен лежать в той же папке, что и php-файл (либо нужно менять путь внутри файла).

Либо просто в файле добавь в .htaccess строчку AddType text/x-component .htc

Link to comment
Share on other sites

  • 0

Сработал такой путь

behavior:url(./sk/css/border-radius.htc)

Но почему работает именно так? :)

Если файл border-radius.htc и style.css лежат в одной папке - то почему не работает

behavior:url(border-radius.htc)

Возможно это ответ?

Путь в данном случае надо указывать не относительно файла стилей, а относительно самого документа, странички.

Почему?

Link to comment
Share on other sites

  • 0

Добрый день. Хотел данным методом закругленные углы сделать, но на IE 6, Opera 9.63 закругления игнорируются. Пробовал разные htc, но толку никакого. Можно заставить его работать на всех браузерах? Хороший метод. Кода мало, нет лишних рисунков, блоков. Не хочется от него отказываться.

Link to comment
Share on other sites

  • 0

Red Planet, а так в Опере и должно игнорироваться. htc — это ИЕ-специфичная возможность.

Вообще предлагаю пренебречь устаревшей версией Оперы, а в новых версиях и border-radius работает.

Link to comment
Share on other sites

  • 0

Для старой Оперы нет адекватного решения, только картинками делать.

А эти требования — надо не бездумно принимать как написано, а уточнять их смысл.

Они наверняка просто бездумно скопированы из объявления трёхлетней давности.

Link to comment
Share on other sites

  • 0
А эти требования — надо не бездумно принимать как написано, а уточнять их смысл.

Они наверняка просто бездумно скопированы из объявления трёхлетней давности.

swetlana, дай Бог, чтобы оно было так, как вы говорите.

Для старой Оперы нет адекватного решения, только картинками делать.

Найду решение с картинками. Для того чтобы знать, как это делается.

Edited by Red Planet
Link to comment
Share on other sites

  • 0

Сработал такой путь

behavior:url(./sk/css/border-radius.htc)

Но почему работает именно так? :)

Если файл border-radius.htc и style.css лежат в одной папке - то почему не работает

behavior:url(border-radius.htc)

Возможно это ответ?

Путь в данном случае надо указывать не относительно файла стилей, а относительно самого документа, странички.

Почему?

Доброго времени суток!!!

Вы меня хоть застрелите.... не пашет (border-radius.htc), что я с ним только не делала... вторые сутки головой о стол бьюсь...

Тут говорила через пхп подключать, я не использую пхп... всё в топку...

обычная хтмл верстка (<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">),

немного ява скриптов.

Пробовала разные вариации пути один фиг...

Возможен банальный конфликт. Я бы порекомедовал для ИЕ бехавиор цеплять в CSS через условные комментарии и в нём уже извращаться:

так тоже проверила.... Может я что-то не то делаю?

А ООООООООООООООООООООчень надо... может у кого остались ещё какие-нибудь идеи, с радостью выслушаю.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy