Css3_必备10个东西

1.边框圆角(Border Radiuas)

这个是我们在平常很常用的吧,以前我在用div圆角的时候,特别特别的痛苦,不管是用CSS来画圆角,还是用图片来画圆角都不那么容易,但是现在好了,在CSS3中,直接只需要如下面饿代码,就能做出美轮美奂的圆角效果了~~~

#box1 {
border: 1px solid #699;

/* for Mozilla Firefox */
-moz-border-radius: 20px;

/* for Safari & Google Chrome */
-webkit-border-radius: 20px;
}

2.盒阴影(Box Shadow)

#box1
        {
            border: 1px solid #699;
            -moz-box-shadow: 5px -5px 5px #b6ebf7;
            -webkit-box-shadow: 5px -5px 5px #b6ebf7;
            width: 100px;
            height: 100px;
            margin-left: 100px;
            margin-top: 100px;
            background-color:Gray;
            border-color:Yellow;
        }

需要注意的是,它有4个参数:

第一个参数:水平偏移的位置,它有正数或者负数。如果是正数的话,那么表示边框的右(right)边产生阴影;否则如果是负数的话,那么它的左边(left)框产生阴影效果。

第二个参数:垂直偏移的位置。它也有正数或者负数。如果是正数的话,那么表示下(bottom)边框有阴影;否则如果是负数的话,那么它的上(top)边框有阴影。

第三个参数:阴影的大小

第四个参数:颜色,这个很好理解。

注意上面,第二个参数,我用的是负数。

有box shadow ,还有一个属性是text-shadow,这个主要是运用在文字上面的。

代码如下:

<div style="background-color: #535353; color: #353535; font-family: 微软雅黑; font-size: 64px; padding:20px; font-weight:bold;">
    <span style="text-shadow: -2px -2px 2px #0D0D0D, 0px 0px 5px #aaa;">Welcome to my home!</span><br>
    <span style="text-shadow: 2px 2px 2px #0D0D0D, 0px 0px 5px #aaa;">Welcome to my home!</span><br>
    <span style="text-shadow: 2px 2px 2px #000, 0px 0px 10px #fff, 0px 0px 20px #fff;">Welcome to my home!</span><br>
    <span style="color: white; text-shadow: 0px 0px 10px #fff, 0px 0px 20px #fff, 0px 0px 40px #9dd;">Welcome to my home!</span>
 </div>

3.透明度(Transparency or RGBA)

设定元素的透明度一直以来都是比较棘手的问题,不同的浏览器之间有不同的使用方法。

比如我以前需要如下进行设置透明度:【注意:此方法不建议用

Firefox, Safari, Chrome和Opera下的CSS透明度

#myElement {
    opacity: .7;
} 

IE下的CSS透明度

#myElement {
    filter: alpha(opacity=40);
}  

IE8的CSS透明度的方法语法如

#myElement {
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=40);
/* 第一行在IE6, IE7和IE8下有效 */
-ms-filter: 

"progid:DXImageTransform.Microsoft.Alpha(opacity=40)";
/*第二行仅在IE8下有效 */
}

Firefox和Safari旧版本所需的透明度设置:

#myElement {
    -khtml-opacity: .5;
    -moz-opacity: 0.5;
}  

是不是特别特别的坑爹啊!~~。

还好,我们现在生活在一个开始完美的时代,CSS 3出来之后,有了新的一个名词就是透明度(transparency)的属性。

代码如下:

#box3 {
background-color: rgba(110, 142, 185, .5);
}

里面有4个参数,前3个参数特别好理解,就是rgb颜色的(别告诉我,还不知道什么叫rgb颜色值,不知道的拉出去打屁屁),最最重要的就是第四个值了。它的值在0到1之间,值越大表明越不透明。

不过,也别高兴的太早,在这里还是有一个特别的例子,可能大家也想到 就是微软的IE。微软老喜欢整个和别人不一样的东西,累死的是我们程序员。

IE理解上面的语句,直接的理解为背景颜色,而不会理解为 rgba。为了我们在开发的时候确保在所有的浏览器中实现完美兼容,我们需要如下进行修正:

#box3 {
/* For all browsers */
background-color: #6e8eb9;
}

body:last-child #box3 {
/* Exclude all IE browsers using :last-child */
background-color: rgba(110, 142, 185, .5)!important;
}

:last-child 是伪选择器,在CSS2开始在css中使用选择器。IE 对这个是不认识,所以它不会执行它后面的代码。

所以,上面就实现了完美兼容。

实例效果图:

4.列数(Columns)布局

就是说可以把框框内部的内容分成几个列数。

先上代码:

 #box1
        {
            border: 1px solid #699;
            /* for Mozilla Firefox */
            -moz-column-count: 2;
            -moz-column-gap: 20px;
            -moz-column-rule: 1px solid #6e8eb9; 

            /* for Safari & Google Chrome */
            -webkit-column-count: 2;
            -webkit-column-gap: 20px;
            -webkit-column-rule: 1px solid #6e8eb9;

            margin-left: 100px;
            margin-top: 100px;
            border-color: Yellow;
            background-color:Gray;
        }

-moz-column-count:表示列的数目,比如2,那么表示2分成2列。

-moz-column-rule:表示中间分割线的样式。

实例效果图:

上面第一个我分层2列,而第二个我是分成3列的。

还有就是第一个的  -webkit-column-rule: 3px solid #6e8eb9;我这样设置,所以它的分割线就是加粗的。

5.显示多个背景图片

你可以在一个标签元素里应用多个背景图片。代码类似与css2.0版本的写法,但引用图片之间需用“,”逗号隔开。第一个图片是定位在元素最上面的背景,后面的背景图片依次在它下面显示,如下:

background-image: url(top-image.jpg), url(middle-image.jpg), url(bottom-image.jpg);

代码如下:

border: 1px solid #699;
            background: url(/Nature/bird1-thumb.png) no-repeat 0 0, url(/Nature/apple.jpg) no-repeat 100% 0;
            border: 1px solid #699;
            padding: 0 20px;
            margin-left: 100px;
            margin-top: 100px;
            border-color: Yellow;
            background-color: Gray;
            width:400px;
            height:300px;

实例效果图:

但是,这里还是别高兴的太早,又是微软那孩子没事干,又在这里搞一个不兼容性,所以你 不得下下面代码,为了兼容所以浏览器:

#box5 blockquote {
/* 用在所有的浏览器*/
background: url(/i/quotel.gif) 0 0 no-repeat;
padding: 0 20px;
}

body:last-child #box5 blockquote{
/* 用在除了IE 之外的浏览器:last-child */
background: url(/i/quotel.gif) no-repeat 0 0, url(/i/quoter.gif) no-repeat 100% 0;
}

这样子才OK.

6.轮廓(outlines)

也就是在框在的内部在画一个框。

代码如下:

#box1
        {
            border: 1px solid #000;
            outline: 1px solid #699;
            outline-offset: -20px;
            border: 1px solid #699;
            padding: 0 20px;
            margin-left: 100px;
            margin-top: 100px;
            border-color: Yellow;
            background-color: Gray;
            width: 400px;
            height: 300px;
        }

参数很好理解: outline: 1px solid #699; 这个画框;

outline-offset 这个表示里面的偏移量,通俗点说 就是距离。

实例效果图:

7.背景渐变(Background Gradients)

顾名思义,渐变就是颜色慢慢的开始变淡。在CSS3中,渐变效果非常非常的灵活,而且运用也很方便。

不过,这里需要注意的一点是在Firfox和chrome浏览器之间的设定没有和上面的那么简单。

Firfox 的代码:

background: -moz-linear-gradient(bottom,#b6ebf7, #fff 50%);

Chrome or safari的代码:

background: -webkit-gradient(linear, left bottom, left top,color-stop(0, #b6ebf7), color-stop(0.80, #fff));

参数解释下,比如在firfox中,

第一个参数:bottom 表示运用的位置,bottom表示在顶部,当然你也可以有其他地方,比如left表示在方框的左边,right在方便的右边,top就是在顶部啦!~。

而在chrome中,color-stop:用来表示开始和结束的值以及里面的颜色。其余参数和上面一样。

实例效果图:

8.旋转(Rotate)

旋转,顾名思义就是转动元素的角度,很好理解。

代码:

 #box1
        {
            border: 1px solid #000;
            -moz-transform: rotate(20deg);
            -webkit-transform: rotate(20deg);
            border: 1px solid #699;
            padding: 0 20px;
            margin-left: 100px;
            margin-top: 100px;
            border-color: Yellow;
            background-color: Gray;
            width: 400px;
            height: 300px;
        }

rotate(角度)里面的数组就是角度的意思,deg是英文单词degree的缩写 度数的意思。

实例效果图:

注意:

如果是负数的话,那么它会向相反方向转动。

如果是超过360度的话,那么会和360进行求余运算,比如你写 rotate(380deg),那么它的值等效于rotate(20deg)。

9.反射(reflect)

反射,其实也就是倒影效果。

代码如下:

#myFont
        {
            -webkit-box-reflect: below 10px -webkit-gradient(linear, left top, left bottom, from(transparent),
      to(rgba(255, 255, 255, 0.51)));
            font-size: 30px;
        }

实例效果图:

10.转换(Transitions)

注:次内容来自zhangxinxu博客 。谢谢他的努力。

其作用是:平滑的改变CSS的值。无论是点击事件,焦点事件,还是鼠标hover,只要值改变了,就是平滑的,就是动画。于是乎,只要一个整站通用的class,就可以很轻松的渐进增强地实现动画效果,超有实用价值的说。

transition有下面些具体属性:

transition-property :* //指定过渡的性质,比如transition-property:backgrond 就是指backgound参与这个过渡
transition-duration:*//指定这个过渡的持续时间
transition-delay:*
//延迟过渡时间
transition-timing-function:*//指定过渡类型,有ease | linear | ease-in |
ease-out | ease-in-out | cubic-bezier

上面的主要用在transition-timing-function里面的参数。表示速度的快慢。

代码:

HTML

<div id="transBox" class="trans_box">
        <div class="trans_list ease">
            ease</div>
        <div class="trans_list ease_in">
            ease-in</div>
        <div class="trans_list ease_out">
            ease-out</div>
        <div class="trans_list ease_in_out">
            ease-in-out</div>
        <div class="trans_list linear">
            linear</div>
    </div>

CSS代码:

 <style type="text/css">
        .trans_box
        {
            padding: 20px;
            background-color: #f0f3f9;
        }
        .trans_list
        {
            width: 10%;
            height: 64px;
            margin: 10px 0;
            background-color: #486AAA;
            color: #fff;
            text-align: center;
        }
        .ease
        {
            -webkit-transition: all 4s ease;
            -moz-transition: all 4s ease;
            -o-transition: all 4s ease;
            transition: all 4s ease;
        }
        .ease_in
        {
            -webkit-transition: all 4s ease-in;
            -moz-transition: all 4s ease-in;
            -o-transition: all 4s ease-in;
            transition: all 4s ease-in;
        }
        .ease_out
        {
            -webkit-transition: all 4s ease-out;
            -moz-transition: all 4s ease-out;
            -o-transition: all 4s ease-out;
            transition: all 4s ease-out;
        }
        .ease_in_out
        {
            -webkit-transition: all 4s ease-in-out;
            -moz-transition: all 4s ease-in-out;
            -o-transition: all 4s ease-in-out;
            transition: all 4s ease-in-out;
        }
        .linear
        {
            -webkit-transition: all 4s linear;
            -moz-transition: all 4s linear;
            -o-transition: all 4s linear;
            transition: all 4s linear;
        }
        .trans_box:hover .trans_list, .trans_box_hover .trans_list
        {
            margin-left: 89%;
            background-color: #beceeb;
            color: #333;
            -webkit-border-radius: 25px;
            -moz-border-radius: 25px;
            -o-border-radius: 25px;
            border-radius: 25px;
            -webkit-transform: rotate(360deg);
            -moz-transform: rotate(360deg);
            -o-transform: rotate(360deg);
            transform: rotate(360deg);
        }
    </style>

此主要实现的效果是从左边移动到右边!~~。根据参数的不同,进行速度的不同。

实例效果图:初始化时:

实例效果图后:

可能有些朋友对这个5个功能不熟悉,所以它们的速度如图:

最后奉献2张有用的图:

CSS 性质

CSS 选择器

时间: 2024-10-16 17:28:07

Css3_必备10个东西的相关文章

css3的必备10个东西

1.边框圆角(Border Radiuas) 这个是我们在平常很常用的吧,以前我在用div圆角的时候,特别特别的痛苦,不管是用CSS来画圆角,还是用图片来画圆角都不那么容易,但是现在好了,在CSS3中,直接只需要如下面饿代码,就能做出美轮美奂的圆角效果了~~~ #box1 { border: 1px solid #699; /* for Mozilla Firefox */ -moz-border-radius: 20px; /* for Safari & Google Chrome */ -w

Android 程序猿之必备10种开发小工具

十一提前放“价”,北风网折上折,送豪礼 具体活动详情请点击:http://www.ibeifeng.com/online101.html 活动时间:2014.9.24-2014.9.25 Android SDK 本身包含很多帮助开发人员设计.开发.测试和发布 Android 应用的工具,在本文中,我们将讨论 10 个最常用的工具. #1: LogCat LogCat是Android中一个命令行工具,可以用于得到程序的log信息.Android日志系统提供了记录和查看系统调试信息的功能.日志都是从

Mac装机必备 10款系统增强应用软件推荐

这两天我想了很久,装机必备到底要给大家推荐什么应用.其实不是没有值得推荐的应用,恰恰相反是太多了.权衡了一下决定还是以十为界,只挑十个最值得介绍的应用给大家. 题目取得太大容易压死人,所以觉得还是分篇来写.今天先来系统增强篇. Alfred OS X 上绝对的大杀器,配合 workflow 能极大的提升工作效率. 关于 Alfred 的介绍之前写过很多,每当身边朋友在使用过一段时间 OS X 之后我都会给他推荐.17英镑的售价确实不便宜,但一旦你上手之后你就再也离不开它了. Bartender

如何成为一个牛逼的程序员

“成为一个杰出的程序员!”,每个程序员都是这么想的,虽然嘴上不说!这是一个人人自称“屌丝”,骨子里却都认为自己是“高富帅”(或者认为自己终究会成为高富帅)的年代! 大部分时候,我们一直在努力成为一名优秀的程序员.但是,更多的时候,我们并不知道如何成为一个优秀的程序员! 怎样成为一个优秀的程序员? 完美主义?注重细节?懂用户需求?恩,听起来都有道理,但又觉得很虚,难以实施! 选(fang)择(fa)比努力重要,一味只会埋头苦干的人,注定成不了杰出的程序员,有时候,我们需要停下来:思考! 我不是一个

如何成为一个杰出的程序员? | 快课网

"成为一个杰出的程序员!",每个程序员都是这么想的,虽然嘴上不说!这是一个人人自称"屌丝",骨子里却都认为自己是"高富帅"(或者认为自己终究会成为高富帅)的年代! 大部分时候,我们一直在努力成为一名优秀的程序员.但是,更多的时候,我们并不知道如何成为一个优秀的程序员! 怎样成为一个优秀的程序员? 完美主义?注重细节?懂用户需求?恩,听起来都有道理,但又觉得很虚,难以实施! 选(fang)择(fa)比努力重要,一味只会埋头苦干的人,注定成不了杰出的

如何成为一个杰出的程序员?

“成为一个杰出的程序员!”,每个程序员都是这么想的,虽然嘴上不说!因为这是一个人人自称“屌丝”,骨子里却都认为自己是“高富帅”(或者认为自己终究会成为高富帅)的年代! 大部分时候,我们一直在努力成为一名优秀的程序员.但是,更多的时候,我们并不知道如何成为一个优秀的程序员! 怎样成为一个优秀的程序员? 选(fang)择(fa)比努力重要,一味只会埋头苦干的人,注定成不了杰出的程序员,有时候,我们需要停下来:思考! 我不是一个杰出的程序员,甚至可以说不是一个正统的程序员,所以没有资格来给出一个好的答

雷军演讲:小米现在处于谷底 要做科技界的“无印良品”

http://www.guancha.cn/economy/2016_07_10_366990.shtml 据中国企业家网7月10日报道,沉寂许久的雷军终于发声了,虽然是以闭门会的形式. 雷军(资料图) 雷军三小时的演讲内容昨晚流出,大篇幅地在讲零售.未来5年,小米的重心就是做线下零售店. 也许你会觉得这跟小米做手机的初心相距甚远.所以雷军在演讲开始就回顾为什么做小米——“我的梦想有点儿夸张,就是想改变中国产品在老百姓心目中的形象,让老百姓用上优质的产品.” 实现这个梦想的条件和步骤是什么?这也

颠覆性的商业模式+专注产品(其实也有大量创新)——互联网核心是用户体验+提高效率

文 / 王云辉 公众号:科技杂谈(keji_zatan) 这几天,一篇文章流传甚广. 这篇文章说,小米CEO雷军约见6名互联网专家,做了一场为时3小时的闭门交流,但它既没有说6位专家姓甚名谁,也没有一字提及专家发言. 全文的核心,只有一段雷军新煲的心灵鸡汤.从为什么干小米,小米当前的状态,到小米的未来去向,雷军都给出了完整的逻辑和阐述. 在最近唱衰小米的舆论大势下,这篇文章其实可以被理解为,雷军面对外界质疑的变相回应. 在文章中,雷军表示,他做小米的出发点,是要让老百姓用上优质的产品,而经过当前

如何抓住用户痛点做产品?

我见过很多软件,功能看起来很强大,却引起用户的兴趣.就像许多商城APP,一打开应用密密麻麻的十多个模块,好像功能不少,反而觉得又乱又复杂.想做出一款好产品不是一件容易的事,想做出一款走心的产品更难,我们只有了解了用户的心理,抓住了用户的痛点才能有的放矢. 在智能手机刚出来不久的时候,我经常会下各种APP,而现在我的手机里只会装十几个常用软件,其它的都不会去下载.为什么现在各种应用市场.苹果商店里的应用变多了,而人们手机里的应用装的却少了?人们经常使用的就是哪十几款产品,做为产品经理的我们如何能让