CSS3 新属性
一、【 CSS3新增属性前缀 】
  1、-webkit-:chrome/safari
  2、-moz-:火狐
  3、-mo-:IE
  4、-o-: Opera 欧朋
二 、【CSS 长度单位】
  1、px:像素。长度固定,表示分辨率占几个像素点;
  2、%:表示相对于默认值的百分比;
  3、em:长度与元素的字号挂钩。
  rem:长度与根元素的字号挂钩。 即与html 的 font-size 挂钩,若不设置,默认16px 。
  【 em与rem区别 】
  em与当前元素自身的font-size挂钩,若当前元素没有设置,则向上查找最近的祖先元素字号,直至根字号;
  rem与当前元素字号无关,直接与根节点字号有关。
代码

html{
font-size: 48px; /* 修改根元素字号大小 */
} #div3{
font-size: 200%; /*32号字*/
background-color: yellow;
height: 3rem; /* 3*32=94*/ }

效果图

三、【CSS3 背景属性】
  1、background-clip: 设置背景图或者背景色的裁切显示区域
    border-box:从边框外圆开始显示
    padding-box:从边框内圆开始显示
    content-box: 从文字内容区域开始显示
    如果不在显示区域的背景图或者背景色,会被裁切掉不显示
  2、background-origin:设置背景图左上角 从哪个位置 开始定位显示
    border-box:背景图左上角从边框外缘开始显示
    padding-box:背景图左上角从边框内圆开始显示
    content-box: 背景图左上角从文字内容区域开始显示
【注】background-origin 不会改变背景图显示区域的大小,只是决定 背景图左上角 从哪个位置 开始定位。
   background-clip 只负责 裁切出显示区域,并不关心背景图定位在哪。
  3、background-attachment:背景图的附着方式
    scroll :背景图随区域滚动
    fixed:背景图充满整个区域。并且是固定的,不随滚动条滚动。
  4、缩写形式:
   background: background-color background-image background-repeat background-attachment background-position;
代码

#div4{
width: 100px;
height: 1000px;
background-color: yellow;
padding: 20px;
border: 20px dotted red;
background-clip: border-box;
background-image: url(img/005.png);
/*background-repeat: no-repeat;*/
background-origin:content-box;
background-attachment: fixed; /*下图验证该条语句*/
}

效果图   fixed 背景不随滚动条滚动

四、【 transition 过渡属性】
  transition: all .5s ease 3s; 过渡属性,接受四个属性
  1、设置哪个CSS属性,参与过渡;可以直接指定all或none;
  2、过渡多长时间完成。通常 .3s、.5s
  3、过渡的样式效果。通常 ease
  4、过渡延时几秒后再开始。可以省略不写
【注】 可以同时定义多个属性的过渡效果,用,隔开。
    eg.  transition: width .3s ease,height .5s ease;
代码

#div5{
width: 100px;
height: 100px;
background-color: red;
transition: width .3s ease,height .5s ease;
}
#div5:hover{
height: 50px;
background-color: yellow;
width: 50px;
transition: all .5s ease; /*对比transition置于不同位置,过渡特效作用完后恢复到原状态的时间不同*/
}

效果图

过渡前

过渡后
五、【 transform变换属性 】
  1、 常用的变换函数:
    translate(10px,10px)第二个不写,默认为0
    scale(1.1)缩放 overflow=hidden;
    rotate(90deg)90度旋转,默认绕z轴转 可以使用rotateY(180deg);等
    skew(20deg,30deg)扭曲,水平、垂直方向扭曲多少度
  2、可以实现多种变换,用空格分隔
    eg. transform:skew(180deg) scale(1.5) translate(200px 200px) ;
  3、 transform-origin 定义变换起点,常用于旋转变换
    可选值:left center right top center bottom
    也可以直接定义x、y坐标点,第一个数为X轴
    eg .transform: rotate(90deg);
       transform-origin:right bottom ; 绕右下角旋转90度
代码

#div6{
width: 100px;
height: 100px;
background-color: red;
} #div6-1:hover+#div6{
/*transform:translate(200px 200px) ;*/
transform: scale(1.5); /*放大*/
transform: rotateY(180deg); /*旋转180°*/
transform-origin:right bottom; /*绕右下角*/
transform: skew(180deg); /* 扭曲180°*/
}

效果图

 
六、【 CSS3 动画的使用 】
  1、声明一个关键帧(动画)
    @keyframes name{
      from{}
      to{}
    }
    阶段的写法:① 直接使用from-to的写法;
          ② 设置0%到100%的写法,开头结尾必须是0%、100%;
  2、在CSS选择器中,使用 animation 调用声明好的动画 ;
    animation的缩写
    Animation-name:动画名称 (声明的关键帧name)
    Animation-duration:动画持续时间 (5s )
    Animation-timing-function:动画速度曲线(ease)
    Animation-iteration-count:动画播放次数,默认为1.(infinite 无限次重复)
    Animation-direction:动画在下一个是否逆向播放,默认为(不逆向播放)normal.(逆序播放alternate)
    Animation-fill-mode:表示动画结束后停留在何种状态。要使用这个属性,动画执行次数必须有限次!(forwards 动画停留在结束状态;backwards表示动画停留在初始状态,默认效果)
    【注】 name和duration必须设置,其他选填!可以同时设置多个动画,多个动画之间 用 , 分隔。例如,animation:frame1 1s,frame2 1s......
 
 响应式布局
一、实现响应式的方式:
      JS  媒体查询 流体布局 弹性布局
二. flex 弹性布局
  1、了解两个基本概念;
        容器:需要添加弹性布局的父元素;
        项目:弹性布局中的每一个子元素。
   2、弹性布局的使用
     ① 给父容器添加display:flex/inline-flex;可以使容器内部采用弹性布局显示,不遵循常规文档流的显示方式;
     ② 容器添加弹性布局后,仅仅是内容采用弹性布局,而容器自身在文档流中的定位方式依然遵循常规文档流;(不打破文档流,友好) 
     ③ display: flex; 容器添加弹性布局后,显示为块级元素  
         display:inline-flex; 容器添加弹性布局后,显示为行级元素
     ④ 设为flex布局之后,子元素的float、vertical-align、clear失效。但是position依然生效。
  示例图  
 display:inline-flex; 显示为行级元素
 display:flex; 显示为块级元素 自动换行
  3、作用于容器的相关属性:
    ① flex-direction 属性决定 主轴的方向(即项目的排列方向)。
            row(默认值):主轴为水平方向,起点在左端
            row-reverse:主轴为水平方向,起点在右端
            column:主轴为垂直方向,起点在上沿。
            column-reverse:主轴为垂直方向,起点在下沿。
  示例图  
       ② flex-wrap 属性定义,如果一条轴线排不下,如何换行。
         nowrap(默认):不换行。当容器宽度不够时,每个项目的宽度会被挤压
               wrap:换行,并且第一行在容器最上方
          wrap-reverse; 换行,第一行在下方。
          flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap。
  代码  
  示例图  
  ③ justify-content 属性定义了项目在主轴上的对齐方式。
       【注】此属性与主轴 方向息息相关。主轴方向:row - 起点在左边;row-reverse - 起点在右边; column - 起点在上边;column-reverse - 起点在下边。
           flex-start(默认值):项目位于主轴起点
           flex-end:项目位于主轴终点
           center: 居中
           space-between:两端对齐,项目之间的 间隔都相等。(开头和最后的项目,与父容器边缘没有间隔)【常用】
           space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。(开头和最后的项目,与父容器边缘有一定间隔)
  示例图   justify-content: space-between;  两端对齐
      ④ align-items 属性定义项目在交叉轴上的排列方式。
                flex-start:交叉轴的起点对齐。
                flex-end:交叉轴的终点对齐。
                center:交叉轴的中点对齐。
           baseline: 项目的第一行文字的基线对齐。(文字行高、字体大小会影响每行的基线)
           stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
可以参照下图加以理解:
    ⑤ align-content 属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。            
           【注】当项目换为多行时,可以使用align-content 取代 align-items 。
            flex-start:与交叉轴的起点对齐。
            flex-end:与交叉轴的终点对齐。
            center:与交叉轴的中点对齐。
            space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
            space-around:每根轴线两侧的间隔都相等。所以轴线之间的间隔比轴线与边框的间隔大一倍。
            stretch(默认值):轴线占满整个交叉轴。
  4、作用于项目上的属性
       ① order: 0;属性定义项目的排列顺序。 数值越小越靠前,默认为0。
       ② flex-grow 属性 定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
       ③ flex-shrink 属性 定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小。
       ④ flex-basis 定义项目占据的主轴空间(设置后,若果主轴为水平,相当于设置项目的宽度,原width失效。)
       ⑤ flex属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
        这个属性有两个快捷设置:auto=(1 1 auto)空间不够会挤压、空间剩余会放大 和 none = (0 0 auto)空间不够不挤压、空间剩余也不放大
        ⑥ align-self 定义单个项目自身在交叉轴上的排列方式,可以覆盖掉容器上的align-items属性
         属性值:与 align-items 相同,默认auto,表示继承父容器align-items的属性值 
eg.
#div{
width: 500px;
height: 500px;
background-color: yellow;
display:flex;
justify-content: space-between;
align-items: flex-start;
}
#div div{
width: 100px;
height: 100px;
line-height: 100px;
text-align: center;
background-color: blue;
color: white;
font-size: 30px;
}
.div1{
font-size: 100px;
order:; /*调换次序*/
flex-grow:;
}
.div3{
order:;
flex-grow:;
flex-shrink:;
align-self: flex-end; /*使序号3向下对齐*/
}

效果图

CSS部分可以告一段落了~~~如果对你有帮助  →
点收藏哦~~~
 
 
 
 
 
 
 
 
 
 

两点补充——CSS3新属性以及弹性布局的更多相关文章

  1. 基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转

    基于css3新属性transform,实现3d立方体的旋转 通过原生JS,点击事件,鼠标按下.鼠标抬起和鼠标移动事件,实现3d立方体的拖动旋转,并将旋转角度实时的反应至界面上显示 实现原理:通过获取鼠 ...

  2. css3新属性position: sticky 一分钟实现 导航栏悬停功能

    css3新属性position: sticky 一分钟实现 导航栏悬停功能 前言 正文 前言 想必很多前端小伙伴经常会在开发中遇到这样一个需求,就是在下划时,导航栏悬停在屏幕最上方,例如咱们的csdn ...

  3. CSS3中的Flexbox弹性布局(一)

    CSS3引入了一种新的布局模式——Flexbox布局,即伸缩布局盒模型(Flexible Box),用来提供一个更加有效的方式制定.调整和分布一个容器里项目布局,即使它们的大小是未知或者动态的,这里简 ...

  4. 使用css3新属性clip-path制作小图标

    一般一个网页上面,或多或少都会用到一些小图标,展示这些小图标的方法有很多种.最简单的做法就是将UI图上面的每个小图标都保存为图片,一个小图标就一张图片.但这也是比较笨的方法,因为浏览器同一时间最多加载 ...

  5. css3新属性@ text-shadow

    text-shodow是css3的新属性,可以利用这个属性使字体更有立体感,还可以创造有趣的效果. 1.语法形式:text-shadow : x-offset(x轴偏移量) y-offset(y轴偏移 ...

  6. css3新属性的总结

    今天继续总结css3的一些css3新样式,先列一个简单的提纲,重要的还是圆角.阴影.渐变.文字缩略,最最重要的是过度transition,变换transform和animation圆角阴影渐变 圆形渐 ...

  7. CSS3新属性注释及实例

    这里把CSS3的新属性单独拿出来讲解一下: border-radius 属性用于创建圆角 div { border:2px solid; border-radius:25px; -moz-border ...

  8. CSS中的EM属性之弹性布局

    这篇教程将引导大家如何使用“em”来创建一个基本的弹性布局,从而学习其如何计算?又是如何使用“em”对层进行弹性扩展?又是如何扩展文本和图像等内容?下在我们就一起带着这些问题开始今天的“em”之行. ...

  9. css3新属性的学习使用

    display 可选值:none隐藏元素: block显示为块级元素: inline显示为行级元素 inlineblock显示为内联块级元素,本身将是一个行级元素,但是拥有 块级元素的所有属性,比如宽 ...

随机推荐

  1. [Android FrameWork 6.0源码学习] View的重绘过程

    View绘制的三部曲,  测量,布局,绘画今天我们分析测量过程 view的测量是从ViewRootImpl发起的,View需要重绘,都是发送请求给ViewRootImpl,然后他组织重绘在重绘的过程中 ...

  2. css自定义动画在微信中无法执行的原因

    这是我去年年底遇到的一个问题, 在这个过程中我发现了一个比较有趣的问题. 我们在做抽奖的时候,微信分享到朋友圈的页面里,安卓机器无法执行页面中的自定义动画(元宝的位移,进入按钮的放大缩小等等).这让我 ...

  3. Linux配置虚拟地址

    立即生效: [root@server ~]$ 192.168.1.101 broadcast 192.168.1.255 netmask 255.255.255.0 up [root@server ~ ...

  4. Eclipse中常用快捷键

    Ctrl+C:复制. Ctrl+V:粘贴. Ctrl+X:剪切. Ctrl+S:保存. Ctrl+Z:撤销. Ctrl+A:全选. F3:快速定位光标位置的某个类.方法和属性. Ctrl+Q:跳到最后 ...

  5. Centos 7部署大众点评CAT(二)——双服务器部署

    在单机上部署CAT,只是在做实验,在生产环境则不可能只用单台服务器监控多个应用. 下面简单介绍一下双服务器的部署,各位有更多硬件资源作为监控服务端的朋友,如果对CAT集群有兴趣,可以参看这篇拙作. 资 ...

  6. nopCommerce 3.9 大波浪系列 之 汉化-中文语言

    一.导入语言包 nop官网下载中文语言文件,下载后是一个xml文件. 打开xml文件我们可以看到LocaleResource节点Name属性为资源名称,Value节点为资源值. 后台[Confignu ...

  7. ES6对象扩展

    前面的话 随着JS应用复杂度的不断增加,开发者在程序中使用对象的数量也在持续增长,因此对象使用效率的提升就变得至关重要.ES6通过多种方式来加强对象的使用,通过简单的语法扩展,提供更多操作对象及与对象 ...

  8. TWS日志查看

    背景:记录下tws的日志查看过程,备忘 1 日志查看过程 根据企业的流水号,在日志中查询企业发送的报文: ps:期间最好将日志所在的行号进行记录,方便定位. 2017032802_2017070700 ...

  9. Jsoup教程jsoup开发指南,jsoup中文使用手册,jsoup中文文档

    jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据. jsou ...

  10. 任务调度---crontab

    1.   crontab相当于windows下的任务与计划,可以设定定时任务,周期执行的任务 2.   设置任务调度文件 crontab  -e       进入任务界面,添加如下命令 0 2 * * ...