1Next >
pktsandy | 发表于:11-01-15 16:36 [添加收藏] 楼主 [回复] #Top# |
---|---|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
对于Css3的新属性,你又了解多少呢?虽然大多数的css3属性在很多流行的浏览器中不支持,但是我们鼓励在前端开发中要学会并且运行这些css3属性,因为这是未来的趋势。 关键是首先确定你是否对各个浏览器之间的细微的差别有所了解,你能肯定的说IE显示的90度的角就不圆滑嘛?这取决于你的决定。但是要永远记住,网站设计不必看到所有浏览器的不同。 1. Border-radiusBorder-radius Border-radius是一大堆CSS3属性中最受欢迎的一种,border-radius是CSS3中级
-webkit-border-radius: 4px; 注意:请在Safari 5和IE9浏览器中执行“border-radius”语法。 圆
-moz-border-radius: 50px;
如果想再添加点效果,我们可以利用Flexible Box Model(详情在8中)来使得文字在垂直在水平方向都居中。这需要加点代码,但这仅仅是对不同浏览器的补偿。
display: -moz-box;2. Box-shadow
Box-shadow 接下来是非常普遍的Box-shadow,可以使你的元素立即美化,只是记得不要把值设得太离谱。
-webkit-box-shadow: 1px 1px 3px #292929; box-shadow的四个参数
现在,许多人不知道可以一次运用多个box-shadows,这样做会产生一些有趣的效果。在下图中,我使用蓝色和绿色阴影来放大一下效果。
Box-shadow
-webkit-box-shadow: 1px 1px 3px green, -1px -1px blue; Clever Shadows
<div> The CSS
.box:after {3. Text-shadow
Text-shadow Text-shadow是我们可以省略前缀的几个CSS属性之一,类似的还有box-shadow,它必须应用于文本,并它们有相同的四个参数:
h1 { Text-Outline和box-shadow一样,它可以设置多个阴影通过逗号分隔符。例如,我们创建文本框的轮廓,当Webkit不支持stroke效果,我们可以使用下面的代码让更多的浏览器支持(虽然不是很美观)。
body { background: white; }
Text-Outline 4. Text-Stroke
Text-Stroke 使用这个方法时要注意了,只有Webkit(Safari, Chrome, iPhone)在最后的几年内还支持这个属性。其实,虽然我可能是错的,Text-stroke还不属于CSS3范畴的一部分。在这种情况下,使用白色字体时,Firefox会显示一个空白页面。要解决此问题,你即可以使用Javascript,也可以通过使用一种不同于背景颜色的文字颜色。
h1 { Feature Detection我们如何为firefox提供一组可用的样式,和为另外的一组Safari
var h1 = document.createElement('h1'); 首先我们设定一个h1元素,然后执行,通过样式属性以确定-webkit-text-stroke是否支持此元素。如果不支持,我们会把标题由白色 设置成黑色。 5. Multiple Backgrounds
Multiple Backgrounds Background属性在CSS3样式中已经彻底改革,开始支持多背景图片。 举个简单的例子,如果没和合适的图像,我们将使用两个教程的图像作为我们的背景,当然在程序中你可能会用纹理,也许是渐变作为图像。
.box { 以上,通过逗号分隔符,插入了两张背景图像,第一个的定位是(0,0),第二个的定位是(100%,0)。
.box {6. background-size 目前我们已经可以使用这种比较灵活的方式去重定义背景图像的大小。
background: url(path/to/image.jpg) no-repeat; 上面的代码使得背景图像已经占据了整个可用空间。但是,如果我们使用一个特殊的图片去占据body元素的整个空间而无论窗口有多宽,那又怎么做?
body, html { height: 100%; } 对,就是这么做,分别定义background-size的x,y参数。 最新版本的Chrome 和 Safari支持此属性,但我们还是要用旧的方法支持旧的浏览器。
body {7. text-overflow 浏览器最初开发文本溢出属性可以设定两个值:clip ellipsis 此属性支持切断容器中的文本,而且也给出了一个省略号的特性。
Text-overflow
.box { 或许你会考虑当鼠标经过时显示全部的文本内容。
#box:hover { 有点奇怪,这看起来并不像是重置text-overflow属性或是停用它,使之生效,在on:hover中我们可以使得white-space的 Flexible Box Model将最终使我们远离类似float的困扰。虽然是要给你的头部换一个新的属性,但一旦你这么做了,将终身受益。 做个演示,创建简单的两列布局。
<div id="container"> 首先我们要设定一个容器,然后指定它的宽和高,即便是没有实质性的内容在里面。
#container { 接下来分别定义#main和aside的背景色
#main { 到目前为了还没有看出什么效果来。
#main {
Flexible Box Model 但是我们仍有个疑问,为什么aside不占据剩余的全部空间呢?我们可以用新属性box-flex来试下。 box-flex 使得元素占据整个空间。
aside { 使用这个属性后,不管#main有多宽,aside都将占据整个可用的空间。同时你也不必担心诸如float等产生的问题,像使得元素被排挤到下一 行。
Flexible Box Model 我只是在这儿肤浅的说一下,请参阅保罗爱尔兰优秀文章的详细信息。然而,使用此方法的时候也应注意一下兼容问题,例如老的浏览器应该先测试下,并且 提供必要的备注。 9. Resize只有Firefox 4和Safari 3支持此属性。Resize是CSS3 UI模型中的一部分,可用于重定义textarea的大小。
<textarea name="elem" id="elem" rows="5" cols="50"></textarea> 默认情况下webkit浏览器和Firefox 4支持水平和垂直方向上的重定义。
textarea { 可能的值:
Resize 10、 Transition也许CSS3最令人兴奋的增补,就是在没有 JavaScript 的元素的情况下产生动画。好像IE9还不支持此功能,但这并不代表你不能使用这个功能,关键是在于提高技能。 现在模仿一个效果,当鼠标滑过右侧链接时,文本向右滑动。 The HTML
<ul> The CSS
ul a { transition 有三个参数:
为什么我们不将transition直接应用到hover上呢?是因为我们只是在mouseover时生效,当mouseout时元素将立即返回到 原文链接:http://www.iwanna.cn/archives/2011/01/03/6182/
Ta最近还发表过
[分享]
MYSQL5.5的中文手册
(19-03-22)
[分享]
留言的修改版
(18-02-26)
[分享]
KC PHP源代码剖析(慢慢补充)
(16-02-18)
[使用]
新闻内容页的分页
(14-08-24)
[使用]
货栈评论JS动态翻页
(13-11-08)
随机阅读
[疑问]
K9!!K9!!K9!!呼叫K9.. 呼叫内测!!
(12-09-24)
[其他]
以为
(12-02-17)
[疑问]
全站,列表页,无法生成html
(11-08-18)
[其他]
抢发一个帖子。留作纪念
(11-04-15)
[疑问]
kingcms php sp1评论设置显示与否不管用
(11-01-21)
|
h2 | 发表于:11-01-16 11:21 编辑于:01-16 11:21 沙发 [回复] #Top# |
---|---|
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
受益匪浅,必须顶!
|
toymen | 发表于:11-01-17 09:13 板凳 [回复] #Top# |
---|---|
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
特效虽好,浏览器不兼容才闹心!
|
h2 | 发表于:11-01-17 10:35 编辑于:01-17 10:36 4楼 [回复] #Top# |
---|---|
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
有总比没有好,趋势嘛。。
|
1Next >