css3新特性总结(视觉表现方面)

摘要:
}填充框由填充、背景颜色:text align:background clip:填充框#test{background:height:width:text align:center;字体粗细:粗体;填充:边框:margin:text;透明;

1.半透明rgba

在rgba出现之前,半透明可以用opacity来创建,可是这样子导致的结果是不仅元素的背景会变透明,标签元素包含的文字也会变透明。这样子会导致可读性降低,所以都会嵌套一个包装标签来创建半透明,这样子很麻烦,自从可以用rgba来表示颜色之后就方便多了。rgba表示方法为:

.rgba{
        background:rgba(255,0,0,0.5);

}

括号里面有是个数字,第一个表示红色,第二个表示绿色,第三个表示蓝色,最后一个表示不透明度。

下面分别用rgba创建半透明和opacity创建半透明(不嵌套包装元素),然后对比结果:

css3新特性总结(视觉表现方面)第1张

可以看的出来,opacity创建的半透明,文字也会变得透明。

2.多背景图background-image

以前backround-image只支持一个图片,现在可以支持多个图片,只要把它们用逗号隔开就行了,格式为:

background: [background-image] [background-position] [background-repeat], 
[background-image] [background-position] [background-repeat], 
[background-image] [background-position] [background-repeat]; 

3.背景裁剪background-clip

这个属性包括三个值。

第一种:

.test{
    background-clip:border-box;
    background-color:#0f0;
    background-image:url(path/to/image);
    border:20px dashed #f0c;
    padding:20px;
}

border-box的效果和默认的效果是一样的,都是从border为边界,在内部显示裁剪后的背景。有趣的是,设置border为dashed时,border左上部分的背景颜色为设置的背景颜色。如图:

css3新特性总结(视觉表现方面)第2张

第二种:

.test{
    background-clip:padding-box;
    background-color:#0f0;
    background-image:url(path/to/image);
    border:20px dashed #f0c;
    padding:20px;
}

padding-box以padding为边界,border将不会有背景颜色。如图:

css3新特性总结(视觉表现方面)第3张

第三种:

.test{
    background-clip:content-box;
    background-color:#0f0;
    background-image:url(path/to/image);
    border:20px dashed #f0c;
    padding:20px;
}

content-box是在内容区域表现的,如图:

css3新特性总结(视觉表现方面)第4张

background-clip属性可以和rgba属性结合使用,比如这个边框透明,内容区域不透明的盒子

css3新特性总结(视觉表现方面)第5张

它完全的代码为:

#test{
    background: green;
    height:222px;
    width:222px;
    text-align:center;
    padding:20px;
    border:20px solid rgba(244,212,0,0.3);
    margin:20px;
    background-clip:padding-box;
    border-radius:15px;
    }

在webkit内核的浏览器上,我们甚至可以实现利用字体裁剪背景图片。如我们想要字体的样子为网格状,可以这样子实现:

#test{
    background:url(test.jpg) no-repeat green;
    height:222px;
    width:222px;
    text-align:center;
    font-size:55px;
    font-weight:bold;
    padding:20px;
    border:20px dashed #f0c;
    margin:20px;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

使用的背景图片为:

css3新特性总结(视觉表现方面)第6张

效果为:

css3新特性总结(视觉表现方面)第7张

可以看出,如果我们使用的字体越粗,效果越明显,这可以让我们不使用图片就做出一些效果,减少因为图片而导致的http请求。不过这个特性目前只有webkit内核的浏览器支持。

4.背景大小缩放:background-size

backgound-size有三种赋值。
第一,数字赋值:

#test{
    background-size:200px 300px;
}

第一个值是背景图片宽度,第二个值是背景图片高度。这是设置为背景图宽度为200px,高度为300px。

第二,适应宽度:

#test{
    background-size:contain;
}

缩放背景图片,使其适应宽度,如图:

css3新特性总结(视觉表现方面)第8张

第三,适应高度:

#test{
    background-size:cover;
}

缩放图片,使其适应高度,如图:

css3新特性总结(视觉表现方面)第9张

5.渐变:gradient

gradient接受颜色和角度,具体可见代码:

#test{
    height:222px;
    width:222px;
    text-align:center;
    padding:20px;
    border:20px dashed #f0c;
    margin:20px;
    background:-webkit-linear-gradient(180deg,#000 0%,#f00 50%,#ff0 100%);
    background:-moz-linear-gradient(180deg,#000 0%,#f00 50%,#ff0 100%);
    background-clip:padding-box;
}

第一个值为角度,后面的参数为颜色和百分比对应,用空格隔开。该代码的效果为:

css3新特性总结(视觉表现方面)第10张

gradient默认从上到下渐变,奇怪的是,添加90deg的角度的话,渐变方向不是转90度,而是180度。而角度为180deg时,渐变方向却会转90度。

IE目前不支持gradient。

6.阴影:box-shadow和text-shadow

text-shadow和box-shadow都有3个参数。

第一个为水平偏移量,第二个为垂直偏移量,第三个为模糊的像素宽度,第四个为颜色(可用rgba颜色)。

如:text-shadow:5px 3px 4px rgba(0,0,0,0.7);

意思是说,阴影部分向右偏移5px,向下偏移3px,模糊宽度为4px,颜色为黑色,并且不透明度为0.7 。

#test{
    height:222px;
    width:222px;
    text-align:center;
    padding:20px;
    border:20px dashed #f0c;
    margin:20px;
    background:-webkit-linear-gradient(180deg,#000 0%,#f00 50%,#ff0 100%);
    background:-moz-linear-gradient(180deg,#000 0%,#f00 50%,#ff0 100%);
    background-clip:padding-box;
    box-shadow:5px 5px 4px rgba(0,0,0,0.7);
}

效果为:

css3新特性总结(视觉表现方面)第11张

#test{
    height:222px;
    width:222px;
    text-align:center;
    padding:20px;
    border:20px dashed #f0c;
    margin:20px;
    background:-webkit-linear-gradient(180deg,#000 0%,#f00 50%,#ff0 100%);
    background:-moz-linear-gradient(180deg,#000 0%,#f00 50%,#ff0 100%);
    background-clip:padding-box;
    text-shadow:5px 5px 4px rgba(21,132,22,1);
}

效果为

css3新特性总结(视觉表现方面)第12张

7.变换:transform

值得注意的有三个:skew,rotate和scale。

首先是skew,定义沿着X轴和Y轴的2D倾斜转换。如代码:

#test{
    -webkit-transform:skew(20deg,10deg);
    -moz-transform:skew(20deg,10deg);
    transform:skew(20deg,10deg);
}

效果:

css3新特性总结(视觉表现方面)第13张

接下来是rotate,rotate接受一个旋转的角度,如代码:

#test{
    -webkit-transform:rotate(30deg);
    -moz-transform:rotate(30deg);
    transform:rotate(30deg);
}

效果为:

css3新特性总结(视觉表现方面)第14张

最后是scale,定义 2D 缩放转换。接受两个值的时候是分别缩放宽度和高度,接受一个值的时候,高度和宽度都根据该值缩放。

如代码:

#test{
    -webkit-transform:scale(1,0.5);
    -moz-transform:scale(1,0.5);
    transform:scale(1,0.5);
}

效果为:

css3新特性总结(视觉表现方面)第15张

当然,这三个属性,我们也可以一起用,如代码:

#test{
    -webkit-transform:scale(1,0.5) skew(20deg,10deg) rotate(30deg);
    -moz-transform:scale(1,0.5) skew(20deg,10deg) rotate(30deg);
    transform:scale(1,0.5) skew(20deg,10deg) rotate(30deg);
}

效果为:

css3新特性总结(视觉表现方面)第16张

8.过渡:transition

transition可以实现非常平滑的过渡,最重要的用法就是伪类用法,以前的hover伪类只能实现“瞬间”的变化,有的transition之后,可以实现平滑的过渡了。有设置四个过渡属性:

transition-property:这个属性是设置需要过渡的属性,如color,width等,默认为all,即所有属性都过渡。

transition-duration:过渡所需的时间。

transition-timing-function:过渡方式。ease:匀速,ease-in:加速,ease-out:减速,ease-in-out:先加速再减速。

transition-delay:过渡发生的延迟。

就上例来说,我们可以这样写代码,使其鼠标悬停的时候过渡的变换:

#test:hover{
    -webkit-transform:scale(1,0.5) skew(20deg,10deg) rotate(30deg);
    -moz-transform:scale(1,0.5) skew(20deg,10deg) rotate(30deg);
    transform:scale(1,0.5) skew(20deg,10deg) rotate(30deg);
    }
#test{
    transition-property:all;
    transition-duration:1s;
    transition-timing-function:ease;
    transition-delay:0.1s;
}

我们还以把过渡简写为:

#test{
    transition:all 1s ease 0.1s;
}

9动画:animation

动画的主要属性为:

animation-name:名字,关于后续的关键帧的定义。

animation-duration:动画时间。

animation-iteration-count:动画次数,可为数字和infinite(无限次)。

animation-timing-function:动画方式,和transition一样。

这个是一个颜色变换的动画,如代码:

#test{
    height:222px;
    width:222px;
    -webkit-animation-name:changeColor;
    -webkit-animation-duration:6s;
    -webkit-animation-iteration-count:infinite;
    -webkit-animation-timing-function:ease;
    -moz-animation-name:changeColor;
    -moz-animation-duration:6s;
    -moz-animation-iteration-count:infinite;
    -moz-animation-timing-function:ease;
}
@-webkit-keyframes changeColor{
    0%{
        background:#f00;
    }
    25%{
        background:#0f0;
    }
    50%{
        background:#00f;
    }
    75%{
        background:#f0f;
    }
    100%{
        background:#f00;
    }
}

免责声明:文章转载自《css3新特性总结(视觉表现方面)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java 关于日期加一天(日期往后多一天)计算机颜色格式( 8位 16位 24位 32位色)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【网络状态反馈码】

一些常见HTTP状态码为: 200 – 服务器成功返回网页 404 – 请求的网页不存在 503 – 服务不可用 常见HTTP状态码大全 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 http状态码 100 (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 http状态码...

CSS-calc 兼容写法

90%;/*写给不支持calc()的浏览器*/ -moz-calc(100% - (10px + 5px) * 2); -webkit-calc(100% - (10px + 5px) * 2); calc(100% - (10px + 5px) * 2); 我们想要实现页面自适应布局时,通常因为margin的存在,而比较麻烦;有时候想要实现宽...

AutoCAD中程序创建Ribbon界面执行AutoCAD命令

在基于AutoCAD做二次开发时,常见的教程讲的都是在DLL中定义一些自定义命令,然后通过netload命令加载这个DLL,通过执行自定义命令的方式来执行我们的自定义功能。这样的方式在在学习中是显得很简单,但用在正式产品中就显得太业余了,没有专业精神。当然更professional的当然是和AutoCAD一样,提供一些基于Ribbon的用户界面来调用我们的...

设置单元格的宽度和高度

  NPOI官方网站:http://npoi.codeplex.com/ 在Excel中,单元格的宽度其实就是列的宽度,因为Excel假设这一列的单元格的宽度肯定一致。所以要设置单元格的宽度,我们就得从列的宽度下手,HSSFSheet有个方法叫SetColumnWidth,共有两个参数:一个是列的索引(从0开始),一个是宽度。 现在假设你要设置B列的宽度...

Alexa世界排名原理+作弊源码,为网站赢得好排名

   虽然说 Alexa世界排名存在水分,高低都无所谓,只要能在搜索引擎中排名靠前就好了,但是一些风险投资还是把它当作网站的一个参考依据,就迫使一些网站不得不提升自己的Alexa世界排名,那如何让你的网站在Alexa世界排名靠前,吸引更多的风险投资呢?国内大多数网站刚起步的时候都是靠作弊,那怎样作弊才不被发现,算是“合理”的呢,下面就简单的说一说      ...

XNA框架基础——XNA介绍

第1章:XNA介绍 欢迎来到XNA的世界。作为一个游戏程序员,你或许知道 DirectX ,甚至也许具有XNA 框架的基础知识。 这一个章节解释了如何安装 XNA Game Studio Express 和如何以有效率的方式使用它。它也包含相当多的技巧,这些技巧甚至可能对任何一个已经知道基础知识的人都有用。 在下面一些章节中,你将直接地开始开发一些很酷的...