提示:PIE.htc URL路径是相对于当前HTML文件,不是CSS文件.
比如 当前文件在“/”下 ,CSS文件在“/CSS”下,PIE.htc在“/CSS”下,behavior: url(/css/PIE.htc) 而不是behavior: url(PIE.htc);
一、border-radius 圆角
代码如下:
.radius{
border: 1px solid #696
padding: 60px 0
text-align: centerwidth: 200px
-webkit-border-radius: 8px
-moz-border-radius: 8px
border-radius: 8px
background: #EEFF99
behavior: url(/PIE.htc)/* 可以让IE 6,7,8模拟部分的CSS3属性 */
}
说明:不支持单边的圆角属性,比如: border-top-left-radius,但是你可以这样来写:
border-radius 圆角
代码如下:
border-radius: 5px 10px 15px 20px/*top-left, top-right, bottom-right, bottom-left*/
二、box-shadow 盒子阴影
代码如下:
border: 1px solid #696
padding: 60px 0
text-align: centerwidth: 200px
-webkit-box-shadow: #666 0px 2px 3px
-moz-box-shadow: #666 0px 2px 3px
box-shadow: #666 0px 2px 3px
background: #EEFF99
behavior: url(/PIE.htc)/* 可以让IE 6,7,8模拟部分的CSS3属性 */
说明:不支持text-shadow(文本阴影)
box-shadow 盒子阴影
三、border-image 图片边框
代码如下:
color: white
border: 8px solid #013D7A
-webkit-border-radius: 8px
-moz-border-radius: 8px
-webkit-border-image: url(img/border.png) 8 8 8 8 stretch
-moz-border-image: url(img/border.png) 8 8 8 8 stretch
border-image: url(img/border.png) 8 8 8 8 fill stretch
behavior: url(PIE.htc)
用到的图片:
border-image 图片边框
四、CSS3 Backgrounds 背景渐变
代码如下:
.gradient{
background: #CCC/*fallback for non-CSS3 browsers*/
background: -webkit-gradient(linear, 0 0, 0 100%, from(#CCC) to(#EEE))/*old webkit*/
background: -webkit-linear-gradient(#CCC, #EEE)/*new webkit*/
background: -moz-linear-gradient(#CCC, #EEE)/*gecko*/
background: -ms-linear-gradient(#CCC, #EEE)/*IE10*/
background: -o-linear-gradient(#CCC, #EEE)/*opera 11.10+*/
background: linear-gradient(#CCC, #EEE)/*future CSS3 browsers*/
-pie-background: linear-gradient(#CCC, #EEE)/*PIE*/
behavior: url(PIE.htc)
}
说明:只支持linear-gradient(线性渐变)
linear-gradient 线性渐变
高级运用:
代码如下:
background-size: 50px
background-color: #0ae
background-image: -webkit-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent)
background-image: -moz-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent)
background-image: -ms-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent)
background-image: -o-linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent)
background-image: linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent)
-pie-background: linear-gradient(rgba(255, 255, 255, .2) 50%, transparent 50%, transparent) 0 0 / 50px #0ae
behavior: url(/PIE.htc)
更多demo:
五、RGBA 颜色值
代码如下:
.rgba{
padding: 60px 0
background: #000
background: rgba(0,0,0,.2)
-pie-background: rgba(0,0,0,.2)
}
说明:不支持box-shadow
RGBA 颜色值
六、IE6 png 透明
代码如下:
.png img{
-pie-png-fix: true
behavior: url(/PIE.htc)
}
.png{
background-image:url(img.png)
-pie-background:url(img.png)
behavior: url(/PIE.htc)
}
说明:图片直接用-pie-png-fix: true,背景图片使用-pie-background来修复IE6下png透明的问题
1)一般来说,偏移掉字体的方式是使用:text-indent:-9999px (注意:只能用于block,table cells和inline-block)
text-indent:-9999px;的具体使用方法:把h1作为一个块来显示(display:block),指定长宽(和图片一样大小),然后指定h1的背景图片,也就是将我们需要的图片作为h1这个 标签的背景。而h1标签中插入的,仍然是作为字符形式出现的博客标题,然后用text-indent:-9999px将文字甩到屏幕看不到的地 方。(9999px应该是足够了,谁的屏幕也没那么大吧)
如:
<h1><a href=“http://www.seo100.net/”>博客园</a></h1>
在CSS文件中:(注意:将h1转化成block的话,他身后的的元素就被他赶到下一行了。如果正好这个h1后面,是一个按钮,就要用float来浮动以使他身后再出现簇拥者)
h1 a{height:30pxwidth:165pxfloat:lefttext-indent:-9999pxbackground-image:url(images/logo.gif)background-repeat:no-repeatdisplay:blockposition:relative
}
在h1使用上语义明确,符合语义化定义。text-indent就是首行缩进,大家都在中文段落,首行空两格用过它。这里通过负值缩进,使文字 超出可视区,而这时h1下的背景就显示出来了,h1中包含的<a>标签又不影响使用,对于隐藏文字“站点名称”应该是最佳方案了。但对于多段 文字的隐藏这个方法就不适合了。
另外,点击<h1><a>链接时,会产生一个虚线框,对于IE还好,没什么问题,虚线框只是在背影图片大小。但是Firefox就有些麻烦,它把缩进的文字范围也包含进来了,这样不是很美观。
于是需要屏掉点击时产生的虚线框,IE和FF屏虚线框方法不一样。IE采用的遍历方法(HTC,css表达式)有些耗系统资源,正好我们只需要隐藏FF下的虚线框就行了,IE就不管了,说一下Firefox如何去掉链接的虚线框的方法。
a{outline:none
}
outline是css3的一个属性,用的很少。声明,这是个不能兼容的css属性,在ie6、ie7、遨游浏览器都不兼容。只有ff,ie8在加了outline:none后会取消聚焦的虚线框。
2)使用overflow:hidden完美隐藏background之上的字体
line-height:0
font-size:0
overflow:hidden
或 (不大适合用在h1标签上).text-hidden {display:blockoverflow:hiddenwidth:0height:0
}
3)还有另外2种方法,不推荐使用。
1、display:none
这个大家普遍说法是,搜索引擎可能认为被隐藏的文字属于垃圾信息而被忽略,不为隐藏的对象保留物理占位空间。GG也搜CSS文件?不过如果用这个方法,<h1>如何设计,也是难题。
2、visibility:hidden
和display:none相对应,为隐藏的对象保留物理占位空间。