1

我有以下课程:

a.greenbutton, input.greenbutton  {
    /*background: url("../image/button.png") repeat-x scroll left top transparent;*/
    behavior: url("/css3pie/PIE.php");
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px 7px 7px 7px; 
    cursor: pointer;
    display: inline-block;
    line-height: 11px;
    padding: 6px 12px;
    text-decoration: none;
    background-color: green;
    color: white;
    position:relative;
    z-index: 0;     
}

PIE.php 文件位于/root/css3pie/

你可以看看这里:

http://trashtalk.dk/

并查看差异:

http://trashtalk.dk/Apple/iPhone

您甚至可以从以下位置下载文件:

http://trashtalk.dk/css3pie/PIE.php

我究竟做错了什么?

4

1 回答 1

0

您没有使用绝对路径,而是使用相对路径。要回答您的问题,我需要知道您的 css 文件所在的位置(相对于您的根文件夹)。

因为...如果它是 root/styles/ 或其他什么,那么您的饼图规则需要在 /csspie 内容之前添加两个点“..”。

换句话说,而不是:

behavior: url("/css3pie/PIE.php");

你需要:

behavior: url("../css3pie/PIE.php");

但这只是猜测工作,我需要首先知道您的 css 文件/文件夹的位置。

好的,参考这个页面:

http://css3pie.com/documentation/known-issues/

行为 URL

IE 将行为属性的 URL 解释为相对于源 HTML 文档,而不是像其他所有 CSS 属性一样相对于 CSS 文件。这使得调用 PIE 行为不方便,因为 URL 必须是:

绝对来自域根——这使得 CSS 不容易在目录之间移动——或者,相对于 HTML 文档——这使得 CSS 不容易在不同的 HTML 文件之间重用。PIE 解释的 CSS 属性中的 URL

PIE 不解析 CSS 样式表(这样做会非常慢);它让 IE 处理解析、选择器查询、级联等,然后简单地向它询问结果属性值。这意味着当 PIE 获取属性值时,它不知道该值源自的上下文。

因此,对于包含 URL 值的属性(例如 border-image 或 -pie-background),PIE 无法相对于它们出现的 CSS 文件解析这些 URL。而是相对于 JavaScript 执行上下文(即源 HTML 文档的位置)解析它们。

干杯
_

更新:

确保您有条不紊地尝试了所有这些:

  1. 行为: url("../css3pie/PIE.php");
  2. 行为:url("/../css3pie/PIE.php");
  3. 行为:url(“http://trashtalk.dk/css3pie/PIE.php”);

UHMMM ...你的css中的css3 pie规则在哪里?我看不到它,你知道,像 -pie-background 之类的东西。

于 2012-05-19T02:13:10.133 回答