CSS3知识

一、CSS3是什么?

CSS3 是最新的 CSS 标准。

二、与之前的区别

与之前的css操作方法相同,新增了一些属性设置。CSS3 已完全向后兼容。

下面都是css3中新增的内容:

选择器 盒模型 背景和边框 文字特效 2D/3D转换 动画 多列布局 用户界面

三、css圆角 

border-radius 属性设置元素的4角为圆角

如果你要在四个角上一一指定,可以使用以下规则:

四个值: 第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角。

三个值: 第一个值为左上角, 第二个值为右上角和左下角,第三个值为右下角

两个值: 第一个值为左上角与右下角,第二个值为右上角与左下角

一个值: 四个圆角值相同

border-top-left-radius

定义了左上角的弧度

border-top-right-radius

定义了右上角的弧度

border-bottom-right-radius

定义了右下角的弧度

border-bottom-left-radius

定义了左下角的弧度

例如:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS圆角</title>
        <style>
            div{
                width: 200px;
                height: 200px;
                background-color:aqua;
                /*border-radius: 20px;设置一个值时四角变换*/
                /*border-radius: 20px 40px;设置两个值时,第一个是左上右下,第二个是右上左下*/
                /*border-radius: 10px 30px 50px;三个值是第一个是左上,第二个是右上左下,第三个是右下*/
                border-top-left-radius: 20px;
            }
        </style>
    </head>
    <body>
        <h4>border-radius 属性设置元素的4角为圆角</h4>
        <div></div>
    </body>
</html>

 四、CSS盒子阴影

之前学习的text-shadow:水平 垂直 模糊 颜色----设置文字阴影

box-shadow:水平 垂直 模糊 颜色---属性被用来添加阴影

 例如:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS盒子阴影</title>
        <style>
            p{
                font-size: 30px;
                text-shadow:5px -3px 4px red;
            }
           div{
               width: 200px;
               height: 200px;
               background-color:blue;
               box-shadow: 8px 10px 15px gold;
           }
        </style>
    </head>
    <body>
        <h2>
            之前学习的text-shadow:水平 垂直 模糊 颜色----设置文字阴影<br>
            box-shadow:水平 垂直 模糊 颜色---属性被用来添加阴影<br>
         </h2>
         <p>测试文字阴影</p><br>
         <div>测试盒子阴影</div>
    </body>
</html>

 五、CSS background-clip属性

background-clip属性指定背景绘制区域。border-box|padding-box|content-box;

 例如;

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>background-cilp属性</title>
        <style>
            h3{
                width: 200px;
                height: 200px;
                padding: 30px;
                background-color: greenyellow;
                border: 10px dotted red;
                /*background-clip: border-box;默认包含边框区域*/
                /*background-clip: padding-box;*/
                background-clip: content-box;
            }
        </style>
    </head>
    <body>
      <h4>
        background-clip属性指定背景绘制区域。border-box|padding-box|content-box;<br>
        border-box---包括边框<br>
        padding-box---包括内边距,不包括边框<br>
        content-box---包括内容,不包括边框,不包括内边距<br>
      </h4>
        <h3>测试background-clip属性</h3>
    </body>
</html>

 六、CSS渐变(Gradients)

CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡。

CSS3 定义了两种类型的渐变(gradients):

线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向

 background-image: linear-gradient(方向, 颜色1,颜色2, ......);

方向--to right【从左向右】  to left【从右向左】  ......

     to  bottom right .......

径向渐变(Radial Gradients)- 由它们的中心定义

background-image:radial-gradient( 中心点【不用写默认中心】,颜色1,颜色2, ......);

 例如:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS渐变</title>
        <style>
          #div1{
            width: 200px;
            height: 200px;
            background-image: linear-gradient(to top right, red,green,yellow);
          }

          #div2{
            width: 200px;
            height: 200px;
            border-radius: 60px;
           background-image: radial-gradient(red,orange,green,blue,violet,indigo);
          }

        </style>
    </head>
    <body>
      <div id="div1"></div><br>

      <div id="div2"></div>
    </body>
</html>

七、CSS过渡

CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。

要实现这一点,必须规定两项内容:

1、指定要添加效果的CSS属性

2、指定效果的持续时间。

语法格式: transition: css属性样式  持续时间【秒】

 例如:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS过渡</title>
        <style>
            div{
                width: 100px;
                height: 100px;
                background-color: greenyellow;
                transition: width 5s, height 5s,background-color 5s;
            }
            div:hover{
                width: 300px;
                height: 300px;
                background-color: hotpink;
            }
        </style>
    </head>
    <body>
      <h4>
         CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。<br>
        要实现这一点,必须规定两项内容:<br>
        1、指定要添加效果的CSS属性<br>
        2、指定效果的持续时间。<br>
        语法格式: transition: css属性样式  持续时间【秒】<br> 
      </h4>
      <div>
          测试过渡
      </div>
    </body>
</html>

 八、CSS动画

CSS3 可以创建动画,它可以取代许多网页动画图像、Flash 动画和 JavaScript 实现的效果。

第一步:自定义动画规则

例如:

@keyframes myfirst {

from {background: red;}

to {background: yellow;}

}

@keyframes-----自定义动画的关键字

Myfirst ---- 动画名称

{}---动画规则描述

from ---  动画开始

to  ----  动画结束

第二步:在指定的元素作用自己的动画

animation:动画名称  动画持续时长;

//-webkit-animation:xxxxxx [-webkit-  GOOGLE浏览器内核]

//-ms-animation: xxxxx  [-ms-  IE浏览器内核]

例如:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS动画</title>
        <style>
            div{
                width: 100px;
                height: 100px;
                background-color: hotpink;
                /*在div上显示设置的动画*/
                animation: donghua1 5s;
            }
            /*自定义动画*/
            @keyframes donghua1{
                from{width: 100px;height: 100px;background-color: hotpink;}
                to{
                   width: 200px;
                   height: 200px;
                   background-color: aqua; 
                }
            }
        </style>
    </head>
    <body>
      <h4>
        CSS3 可以创建动画,它可以取代许多网页动画图像、Flash 动画和 JavaScript 实现的效果。<br>
        第一步:自定义动画规则<br>
        例如:<br>
        @keyframes myfirst { <br>
        from {background: red;} <br>
            to {background: yellow;} <br>
            } <br>
            @keyframes-----自定义动画的关键字<br>
            Myfirst ---- 动画名称<br>
            {}---动画规则描述<br>
            from ---  动画开始<br>
            to  ----  动画结束<br>
            第二步:在指定的元素作用自己的动画<br>
            animation:动画名称  动画持续时长;<br>
            //-webkit-animation:xxxxxx [-webkit-  GOOGLE浏览器内核]<br>
            //-ms-animation: xxxxx  [-ms-  IE浏览器内核]<br>
      </h4>
      <div>
          测试建立动画
      </div>
    
    </body>
</html>

 九、CSS 2D转换

CSS3 2D转换可以对元素进行移动、缩放、转动、拉长或拉伸。

translate()--根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。

translate(0px,0px);

rotate()--在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。

transform:rotate(90deg);

scale()--该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:

transform: scale(2,3) (正整数由大到小,小数由小到大)

skew()---该元素在X轴和Y轴上倾斜

transform:skew(30deg,20deg);

matrix()--将上面2D变换方法合并成一个,同时实现平移,旋转,缩放,倾斜

matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。

例如:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS 2D转换</title>
        <style>
            div{
                width: 200px;
                height: 200px;
                background-color: aqua;
                animation: donghua4 5s;
            }
            @keyframes donghua1{
                from{transform: translate(0,0);}
                to{transform:  translate(20px,30px);}
            }
            @keyframes donghua2{
                from{transform:rotate(0deg);}
                to{transform: rotate(-90deg);}
            }
            @keyframes donghua3 {
                from{transform: scale(0.2,0.3);}
            }
            @keyframes donghua4 {
                from{transform: skew(0deg,0deg);}
                to{transform: skew(20deg,30deg);}
            }
         
          

        </style>
    </head>
    <body>
        <h4>
            CSS3 2D转换可以对元素进行移动、缩放、转动、拉长或拉伸。<br>
            translate()--根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。<br>
            translate(0px,0px);<br>
            rotate()--在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。<br>
            transform:rotate(90deg);<br>
            scale()--该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:(正整数缩放,小数放大)<br>
            transform: scale(2,3)<br>
            skew()---该元素在X轴和Y轴上倾斜<br>
            transform:skew(30deg,20deg);<br>
            matrix()--将上面2D变换方法合并成一个,同时实现平移,旋转,缩放,倾斜<br>
            matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。<br>  
        </h4>
        <div>
            测试2D转换
        </div>
    </body>
</html>

十、CSS 3D转换

rotateX()--围绕其在一个给定度数X轴旋转的元素。

transform:rotateX(130deg);

rotateY()--围绕其在一个给定度数Y轴旋转的元素。

transform:rotateY(130deg);

 例如:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS 3D转换</title>
        <style>
            div{
                width: 200px;
                height: 200px;
                background-color: aqua;
                animation: donghua2 5s;
            }
            @keyframes donghua1{
               from{transform: rotateX(0deg);}
               to{transform: rotateX(180deg);}
            }
            @keyframes donghua2{
                from{transform:rotateY(0deg);}
                to{transform: rotateY(180deg);}
           
         
          

        </style>
    </head>
    <body>
        <h4>
            rotateX()--围绕其在一个给定度数X轴旋转的元素。<br>
            rotateY()--围绕其在一个给定度数Y轴旋转的元素。<br>
        </h4>
        <div>
            测试3D转换
        </div>
    </body>
</html>

十一、css3 多媒体查询 

CSS3 根据设置自适应显示。

媒体查询可用于检测很多事情,例如:

viewport(视窗) 的宽度与高度

设备的宽度与高度

朝向 (智能手机横屏,竖屏) 。

分辨率

目前很多针对苹果手机,Android 手机,平板等设备都会使用到多媒体查询。

多媒体查询语法

@media  not|only  mediatype and (expressions) { CSS 代码...; }

not: not是用来排除掉某些特定的设备的,比如 @media not print(非打印设备)。

only: 用来定某种特别的媒体类型。比如 @media only  print(只允许打印设备)。

mediatype 多媒体类型

all

用于所有多媒体类型设备

print

用于打印机

screen

用于电脑屏幕,平板,智能手机等。

speech

用于屏幕阅读器

expressions---表达式  例如:(max-width: 480px)  小于480像素

{ CSS 代码...; }-----具体样式设置

 例如:如果媒体类型屏幕的可视窗口宽度小于 480 px ,背景颜色将改变。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>CSS3 多媒体查询</title>
        <style>
            h4{
                background-color: aqua;
                font-size: 30px;
            }
            @media screen and (max-width:580px) {
               h4{
                background-color: red;
                font-size: 10px;
               }
            }
        </style>
    </head>
    <body>
        <h4>
            @media  not|only  mediatype and (expressions) { CSS 代码...; }<br>
            not: not是用来排除掉某些特定的设备的,比如 @media not print(非打印设备)。<br>
            only: 用来定某种特别的媒体类型。比如 @media only  print(只允许打印设备)。<br>
            mediatype 多媒体类型<br>
            all 用于所有多媒体类型设备<br>
            print   用于打印机<br>
            screen  用于电脑屏幕,平板,智能手机等。<br>
            speech  用于屏幕阅读器<br>
            expressions---表达式  例如:(max-width: 480px)  小于580像素<br>
            { CSS 代码...; }-----具体样式设置<br>
        </h4>
        <div>
           
        </div>
    </body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值