PIE使用
来源:互联网 发布:淘宝上买丝袜保密吗 编辑:程序博客网 时间:2024/05/21 09:16
实际上是指的是一个名为pie的htc文件,即pie.htc,使用CSS的behavior行为,可以调用此文件,然后让IE也能实现一些常见的CSS3效果,如圆角(border-radius),盒阴影(box-shadow),背景渐变(gradient),多图片背景(multiplebackground images)。 下载地址:https://github.com/lojjic/PIE/downloads 支持的主要CSS3属性: 1.border-radius圆角 CSS代码如下: .pie_radius{width:250px;height:250px;background-color:#34538b;-moz-border-radius:10px; -webkit-border-radius:10px;border-radius:10px;behavior:url(pie.htc);} html代码如下: <divclass="pie_radius"></div> 2.box-shadow 盒阴影 CSS代码如下: .pie_box_shadow{width:250px;height:250px;background-color:#34538b;-moz-box-shadow:1px3px 3px #666;-webkit-box-shadow:1px 3px 3px #666;box-shadow:1px 3px3px #666;behavior:url(pie.htc);} html代码如下: <div class="pie_box_shadow"></div> 3.gradient渐变 CSS代码如下: .pie_gradient{width:250px;height:250px;background-color:#9F9;background:-webkit-gradient(linear,0 0, 0 bottom, from(#9F9),to(#393));background:-moz-linear-gradient(#9F9, #393); -pie-background:linear-gradient(#9F9,#393);behavior:url(pie.htc); } html代码如下: <divclass="pie_gradient"></div> 4.问题说明: a. IE下这些CSS3效果实现是借助于VML,由VML绘制圆角或是投影效果的容器元素,然后这个容器元素作为目标元素的后兄弟节点插入,如果目标元素position:absolute或是 position:relative,则这个css3-container元素将会设置与之一样的z-index值,在DOMtree中,同级的元素总是后面的覆盖前面的,所以这样就实现了覆盖,又避免了可能有其他元素正好插入其中。所以,问题来了,如果目前元素的position属性为static,也就是默认属性,则z-index属性是没有用的,无覆盖可言,所以此时IE浏览器下CSS3的渲染是不会成功的。要解决也很简单,设置目标元素position:relative或是设置祖先元素position:relative并赋予一个z-index值(不可为-1)。 b.IE浏览器的behavior属性是相对于HTML文档而言的,与CSS其他的属性不一样,不是相对于CSS文档而言的。这使得使用pie.htc文件不怎么方变。如果绝对路径于根目录,则CSS文件不方便移动;如果相对路径与HTML文档,则pie.htc文件在不同HTML页面见的重用性大大降低。同时,诸如border-image后面的URL属性路径也不好处理。 c. 使用PIE实现IE下的CSS3渲染(其他方法也是一样),只能使用缩写的形式,例如圆角效果,我们可以设置border-top-left-radius表示左上圆角,但是PIE确实不支持这种写法的,只能是老老实实的缩写。 d. 要想让IE浏览器支持htc文件,需要一个有着”text/x-component” 字样的content-type头部,否则,会忽视behavior。绝大数web服务器提供了正确的content-type,但是还有一部分则有问题。 e.由于某种原因,您无法修改服务器配置(例如公用主机,或是空间服务商提供的服务器),您可以用一个PHP文件来间接调用htc文件。 <?php header( 'Content-type: text/x-component' ); include( 'pie.htc' ); ?> 通过PHP文件来增加一个含有“text/x-component”字样的Content-type头,同时调用pie.htc文件。 需要将pie.php和pie.htc放在同一个文件夹目录下,同时CSS中的behavior写法应该是: behavior:url(pie.php);
阅读全文
0 0
- PIE使用
- PIE的使用
- PIE的使用
- 使用BCG创建Pie
- css pie.htc使用总结
- Pie
- Pie
- pie
- Pie
- Pie
- PIE
- Pie
- Pie
- Pie
- Pie
- Pie
- Pie
- pie
- WebStorm快捷键
- mybatis获取存储过程的返回值
- ssh登录提示RSA Host key认证失败的解决方法
- LeetCode-3:Longest Substring Without Repeating Characters
- 【python】变量赋值
- PIE使用
- 2015年软考上午卷错题知识点总结
- 可变长度网络包的封包解包
- 计算时间差
- window.name实现的跨域数据传输
- 理解RESTful架构
- mongodb -moveChunk
- 使用sqoop实现关系型数据库、HDFS、Hive之间数据的导入导出
- TP框架---模板布局篇