关于 CSS3 的一些相关知识的总结:

这篇文章是对CSS3相关的一些知识,做的一个总结,其中包括 CSS3选择器,CSS3新增属性,CSS3字体属性设置和图片字体的运用CSS3 2D/3D效果,CSS3动画等:

  • CSS3选择器:


  • 属性选择器:E为元素标签  [arr]为属性  "val"为属性值  ~="val"为指定词汇 {...}改变的样式
  1. E[arr]{...}                          --> E[arr]                         用于选取带有指定属性的元素;
  2. E[arr="val"]{...}                --> E[arr="val"]              用于选取带有指定属性和值的元素;
  3. E[arr~="val"]{...}              --> E[arr~="val"]            用于选取属性值中包含指定词汇的元素;
  4. E[arr|="val"]{...}              --> E[arr|="val"]           用于选择有指定值开始的属性值,该值必须是整个单词  a-wuaho;
  5. E[arr^="val"]{...}              --> E[arr^="val"]            匹配属性值中,以指定值开头的每个元素  awuhao;
  6. E[arr$="val"]{...}              --> E[arr$="val"]             匹配属性值中,以指定值结尾的每个元素  ;
  7. E[arr*="val"]{...}               --> E[arr*="val"]             匹配属性值中,包含指定值的每个元素 ;
  • 伪类选择器:

              =============================================================

    1--->: first-child  --> 单独指定第一个元素的样式

    2--->: last-child   --> 单独指定最后一个元素的样式
    3--->: nth-child(num)    --> 指定序号的子元素使用样式
    4--->: nth-last-child(num)   --> 指定倒数序号的子元素使用样式
     ===============先定位置,在选类型==================================
    5--->: nth-child(odd)  --> 指定的正数下来的奇数子元素使用样式
    6--->: nth-child(even) --> 指定的正数下来的偶数子元素使用样式
    7--->: nth-last-child(odd)  -->指定的倒数下来的奇数子元素使用样式
    8--->: nth-last-child(even) --> 指定的倒数下来的偶数子元素使用样式
    ===========先选类型,在定位置,给同一类的元素编号======================
    9--->: nth-of-type(odd)   --> 指定的正数下来的奇数子元素使用样式
   10--->: nth-of-type(even)  --> 指定的正数下来的偶数子元素使用样式
    11--->: nth-of-last-type(odd) --> 指定的倒数下来的奇数子元素使用样式
    12--->: nth-of-last-type(even) --> 指定的倒数下来的偶数子元素使用样式
    ==================循环样式========================================
    13--->: nth-child(An+B) -->A  为隔着A个序数为一个循环   B为操纵在这个循环中位于哪个位置
    =================================================================
    14--->: only-child  --> 只有一个元素的时候使用,添加样式

  • 目标伪类选择器 :target :突出显示活动的HTML锚  (与锚点结合使用) 
  • 层级选择器:
  1. 包含选择器:         E F{...}(后代选择器)h3 span{...}      -->所有后代;
  2. 层级选择器:         E>F{...}(子选择器)  h3>span{...}         -->只有子代;
  3. 相邻兄弟选择器:  E+F{...}   h3+span{...}                         -->E F 具有一个相同的父元素,F在E后面,并且相邻;
  4. 通用兄弟选择器:  E~F{...}  h3~span{...}   
  5. 【注】,几种常用前缀:(解决CSS3属性兼容性问题)  1,-webkit-  2,-moz-  3,-ms-  4,-o-
  • CSS3字体属性设置和图片字体的运用:


  1. 服务器端字体:把字体文件一起上传到服务器端,用户使用的时候,调用这个字体文件在缓存区中;
     
    @font-face{               
    font-family:WebFont;//WebFont为自己定义的字体的名称               
    src:url("font/....")format("opentype");//src字体在服务器上加载的字体文件路径;                              
    【注】format为字体文件的格式, 字体文件格式有Opentype 和 Truetype  ,其值分别为              opentype 和 truetype  ,文件扩展名  .oty 和 .tty             
    }
    div {font-family:WebFont;}

     

  2. iconfont :图标字体  -->优点:体积小,维护性好(可以任意拉伸,改变颜色等);【注】阿里巴巴矢量图标库(可以下载相关代码)
  • CSS3新增属性:


  • 背景属性:
  1.  background-clip  -->背景裁切方式:
            background-clip: border-box;    --> 背景被裁到边框盒(默认
            background-clip: padding-box; --> 背景被裁到内边距框
            background-clip: content-box;  --> 背景被裁到内容框
  2. background-origin  -->定义背景图片的起始位置:
             background-origin: border-box;    --> 背景起始位置在边框盒
             background-origin: padding-box; --> 背景起始位置在内边距框(默认
             background-origin: content-box;  --> 背景起始位置在内容框;
  3. background-size  -->背景图片的大小:
            background-size: length;              --> 设置背景图片的宽度和高度  ,第一个值为宽度,第二个值为高度background-size:50px 50px;
            background-size: percentage;   --> 以父元素的百分比来设置图片的宽度和高度;background-size:50% 50%;
            background-size: cover;               --> 背景图片扩展(把图片以容器最宽的一条边,进行等比例缩放,超出不显示)
            background-size: contain;           --> 把图像扩展到最大尺寸(把图片以容器最短的那条边,进行等比例缩放,铺不满不管);

  4.  【注】,CSS3提供了  在一个容器中可以插入多张背景图 background-image:url(...),url(...);  

  • 边框属性:
  1. border-radius  -->边框圆角:
                    border-radius:15px;
                    border-radius:18px 39px;-->成对角线出现
                    border-radius:10px 3px 5px 45px;
  2. 用图片来做边框:
                    border-image: url(....)A B C D border-image-width border-image-repeat;
                    url(....)  --> 图片的路径
                    A B C D  --> 为浏览器自动把图片分割成九宫格的时侯,输入的上 右 下 左边距的值,没有单位
                    border-image-width --> 边框的宽度
                    border-image-repeat -->边框展开方式(1,repeat --> 平铺; 2,round --> 循环; 3,stretch --> 拉伸)
  3. 盒阴影 -->让盒在显示时产生阴影效果:
                    box-shadow: h-shadow v-shadow blur spread color inset;
                    h-shadow     -->水平阴影的位置(必写)
                    v-shadow     -->垂直阴影的位置(必写)
                    blur                -->模糊距离(可选)
                    spread          -->阴影的尺寸(可选)
                    color              -->阴影的颜色(可选)
                    inset               -->将外部阴影(outset)改为内部阴影 ;
  • 2D效果:


  1. CSS3过度:
//--->transition属性:             
  transition-property:;   -->规定过度应用的CSS属性(多个的时候之间用逗号隔开,所有的时候用all)           
  transition-duration:;   -->过度效果花费的时间          
  transition-timing-function  -->规定过度效果的时间曲线,默认为ease 常用的:linear     
  ease -->慢到快;linear -->匀速;ease-in -->慢速开始;ease-out -->慢速结束;easr-in-out -->慢速开始和结束
  cubic-bezier(n,n,n,n)
  transition-delay:;   -->规定过度效果何时开始;
  1. 2D变形:
                
   //--->transform属性:
         transform:rotate(num deg,num deg)/rotateX(xdeg)/rotateY(y deg);  
         -->旋转,取值用的是角度 deg表示它的单位,沿着X方向和沿着Y方向)
         transform:skew(x,y)/skewX(x)/skewY(y);  -->扭曲
         -->扭曲(沿着X方向和沿着Y方向) -->x,y取值为角度值,
         transform:scale(x,y)/scaleX(x)/scaleY(y);
         -->缩放(沿着X方向和沿着Y方向) -->x,y取值为倍数值,大于1放大,小于1缩小
         transform:translate(x,y)/translate(x)/translate(y);  -->移动(沿着X方向和沿着Y方向)
         transform:matrix; -->矩阵变形
         transform-origin:left top;-->改变中心点的位置;

 

  • 3D效果:


  1. 3D效果:
 //-->transform的转换属性
   3D位移 translateZ()/translate3d()函数的使用  Z:以方框中心为原点,正数变大,负数变小
   3D旋转 rotateX()/rotateY()/rotateZ()  Z:以方框中心为原点,正数顺时针旋转,负数逆时针旋转
   3D缩放 scaleX()/scaleY()/scaleZ()/scale3d()
   transform-origin:left top;-->允许你改变被转换元素的位置
   transform-style:flat(默认,子元素将不保留其3D位置)/preserve-3d(子元素保留其3D位置)  -->规定被嵌套元素如何在3D空间中显示 (开启3D模式的一个属性)
   prespective    -->规定3D元素的透视效果 (视点值)
   presrective-origin  -->规定3D元素底部位置(视点位置)  
   backface-visibility:visible(默认可见)/hidden;(不可见)  -->规定元素在不面对屏幕时是否可见

 

  • CSS3动画:


  1. 过度动画:
                  
          
    //transition属性:            
        transition-property:;   -->规定过度应用的CSS属性(多个的时候之间用逗号隔开,所有的时候用all)                         
        transition-duration:;   -->过度效果花费的时间              
        transition-timing-function  -->规定过度效果的时间曲线,默认为ease 常用的:linear         
        ease -->慢到快;linear -->匀速;ease-in -->慢速开始;ease-out -->慢速结束;easr-in-out -->慢速开始和结束             
        cubic-bezier(n,n,n,n)      
        transition-delay:;   -->规定过度效果何时开始

     

  2. 关键帧动画:
                  
    //语法格式:
        @keyframes animationname{                 
        keyframes-selector{CSS-style};             
         }           
        keyframes-selector可以是from 和 to /或者是 0% 25% 50% ... 100%;            
                  
    //动画属性:              
        animation  -->属性简写             
        animation-name -->规定@keyframes的动画名             
        animation-duration  -->规定动画完成一个周期所需要的时间             
        animation-timing-function  -->规定3D元素透视效果            
        animation-delay  -->规定动画从何时开始            
        animation-iteration-count  -->规定动画被播放的次数,默认为1 (infinite)为无限次播放      
        animation-direction   -->normal:默认值,动画正常播放; alternate:动画轮流反向播放
        animation-play-state  -->paused: 动画暂停; running:动画正在播放; (和javascript一起配合使用)
    
    

     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值