css3新增加的属性

(1)渐进增强和优雅降级

   渐进增强:一开始只构建站点最少特性,然后不断的对不同的浏览器追加不同的功能;

   优雅降级:一开始就构造站点的完整功能,然后针对浏览器进行测试和修复;

(2)新增的一些属性

  1、text-shadow(文字阴影,顺序不能变):5px(水*位置)  5px(垂直位置) 5px(阴影度) #666(颜色);

  2、box-shadow(盒子阴影,顺序不能变):5px(水*位置)  5px(垂直位置) 5px(阴影度)  40px(模糊半径)  #666(颜色);

  3、word-break(允许单词内换行):normal/keep-all/break-all;

  4、word-wrap(单词内不会换行):normal/break-word;

  5、单元格间距:border-spacing

  6、合并相邻单元格边框:border-collapse:separate/collapse;

  7、无内容时单元格的设置:empty-cells:hide/show;

  8、添加组分割线:rules:rows(位于行之间的线条)/cols(位于列之间的线条)/all(全部的线条)/none/group(行组和列组之间的线条);

  9、指定背景的显示范围:background-clip

    background-clip:border-box/padding-box/content-box;

  10、背景图*铺的起点:background-origin

    background-origin:border-box/padding-box/content-box;

  11、背景图的大小:background-size

    background-size:length/percentage/cover/contain

  12、设置圆角:border-radius

  13、用图片来创建边框:border-image

(3)flex容器属性(添加在父级元素上)

  1、display:flex/inline-flex;设为flex布局以后子元素的float,clear和vertical-align属性将失效;

  2、flex-direction属性:决定主轴的方向(即项目的排列方向)

    flex-direction:row/row-reverse/column/column-reverse

  3、flex-wrap属性:定义子元素是否换行显示

    flex-wrap:nowrap/wrap/wrap-reverse

  4、flex-flow属性:是flex-direction和flex-wrap的简写形式,默认值为row  nowrap;

  5、justify-content属性:定义了项目在主轴上的对齐方式

    justify-content:flex-start/flex-end/center/space-between/space-around

  6、align-items属性:定义项目在交叉轴上的对齐方式

    align-items:flex-start/flex-end/center/baseline/stretch

  7、align-content属性:定义了多根轴线的对齐方式对于单行子元素,该属性不起作用

    align-content:flex-start/flex-end/center/space-between/space-around/stretch

(4)flex项目属性(添加子元素上)

  1、order属性:定义项目的排列顺序,数值越小,排列越靠前,默认为0;

  2、flex-grow属性:定义项目的放大比例,默认为0,即如果存在剩余空间也不放大,如果所有项目的flex-grow的属性都为1,则它们将等分剩余空间,如果一个项目的flex-grow属性为2,其他项目都为1,则前者占据的剩余空间将比其他多一倍;

  3、flex-shrink属性:定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小;如果所有项目的flex-shrink的属性都为1,则它们将等比缩小,如果一个项目的flex-grow属性为0,其他项目都为1,则空间不足时前者缩小;

  4、flex-basis属性:定义了在分配多余空间之间项目占据的主轴空间,浏览器根据这个属性,计算主轴是否有多余的空间,它的默认值为auto,即项目的本来大小;

  5、flex属性:是flex-grow,flex-shrink和flex-basis的简写,默认值为0,1,auto;

  6、align-self属性:align-self:auto/flex-start/flex-end/center/baseline/strectch。

(5)css3多列布局

  1、column-count:分栏的个数

  2、column-width:分栏的宽度

  3、column-gap:分栏的间距

  4、column-rule:分栏的边框

  5、column-span:all/1;合并分栏,火狐不支持,前面四个加在父元素上,这个属性加在子元素上

(6)css3选择器

  1、属性选择器(IE6不支持)

    E[attr="value"]:指定属性名,并指定了改属性的属性值;

  2、结构伪类选择器

    a、first-child

    b、last-child

    c、nth-child

    d、nth-last-child

    e、nth-of-style

    f、nth-last-of-style

    g、first-of-type

    h、last-of-type

    i、only-child

    j、empty

  3、否定选择器  :not()   IE6-8不支持  可以让你定位不匹配选择器的元素

  4、选择文档的根元素  :root

  5、:target   选择器可用于选取当前活动的目标元素

  6、:lang   和a标签搭配使用   是你有能力为不同语言定义特殊规则

  7、层次选择器

    a、后代选择器(E F)

    b、子元素选择器(E>F)

    c、相邻兄弟选择器(E+F)紧接着的下一个兄弟才可以

    d、通用兄弟选择器(E~F)

(7)渐变

  1、background:linear-gradient(to top,blue,red) 兼容写法:background:-wbkit-linear-gradient(bottom,blue,red) 

  2、gradient分为linear-gradient(线性渐变)和radical-gradient(径向渐变),重复的线性渐变:repeat-linear-gradient(),重复的径向渐变repeat-radical-gradient()

  3、radical-gradient( circle,20px 30px,red,blue)中的20px 30px 指的是圆心的水*和垂直位置  linear-gradient(20px 30px,red,blue)中的20px 30px 指的是渐*的水*和垂直半径

  4、线性渐变

    a、从上到下(默认情况下):background:linear-gradient(red,blue);

    b、从左到右:background:linear-gradient(to right,red,blue);

    c、对角:background:linear-gradient(to bottom right,red,blue)

  5、径向渐变

    a、颜色节点均匀分布(默认情况):background:radical-gradient(green,red,blue);

    b、颜色节点不均匀分布:background:radical-gradient(green 15%,red 5%,blue 60%);

    c、设置形状:background:radical-gradient(circle,green,red,blue);

(8)模糊和倒影

   1、模糊:filter:blur(10px)

    2、倒影(只有webkit内核支持,目前仅在Chrome,Safari,opera浏览器下支持)

    -webkit-box-reflect:below 0 -webkit-linear-gradient(transparent,transparent 50%,rgba(255,255,255,.3));

   3、用线性渐变给图片加遮罩效果;用于遮罩的图片必须是png格式;

(9)动画(css3属性中有关制作动画的三个属性transition,transform和animation)

  1、transition

    a、transition-property:需要过渡的样式

    b、transition-duration:运动时间

    c、transition-delay:延迟时间

    d、transition-timing-function:运动形式     ease(默认,慢速开始,然后变快,然后慢速)/linear(匀速)/ease-in(快速)/ease-out(减速)/ease-in-out(先加速后减速)/cubic-bezier(x1,y1,x2,y2)贝塞尔曲线

    e、steps:实现一个关键逐帧动画功能

  2、transform属性向元素应用2D,3D效果,该属性允许我们对元素进行旋转,缩放,移动和倾斜

    a、translate()根据x轴和y轴位置给定的参数,从当前位置移动   transform:translate(-150px -150px);

    b、rotate()根据给定度数顺时针旋转,负值是允许,这样会逆时针旋转

    c、scale  默认为(1,1),进行图片缩放,给负值时,会先旋转再缩放

    d、skew  倾斜

    f、transform-origin:改变元素基点位置,当有3个参数时,第三个参数只能是数字+单位,不能用left/center/right

  3、3D涉及到的属性

    a、transfrom-style:指定嵌套元素如何在3D空间中呈现(加在父元素上)

      transform-style:flat(表示所有子元素在2D*面呈现)/perserve-3d(表示所有子元素在3D*面呈现);

    b、perspective:none/<length>;perspective取值为none或不设置,没有真3D空间;perspective取值越小,3D效果越明显;

    c、perspective-origin:决定看东西的角度

    d、backface-visibility:visible/hidden;决定背面是否可见

  4、animation和@ikeyframes一起用,支持animation动画的只有webkit内核 

    a、animation-property:需要过渡的样式

    b、animation-duration:运动时间

    c、animation-delay:延迟时间

    d、animation-timing-function:运动形式     ease(默认,慢速开始,然后变快,然后慢速)/linear(匀速)/ease-in(快速)/ease-out(减速)/ease-in-out(先加速后减速)/cubic-bezier(x1,y1,x2,y2)贝塞尔曲线

    e、animation-iteration-count:循环次数

    f、animation-direction(运行方向):normal/alternate;

    g、animation-play-state:paused;鼠标放上去动画停止

    h、animation-fill-mode:backwards(默认)/forwards(停在最后一帧);动画结束之后的样子

      

    

    

 

    

原文地址:https://www.cnblogs.com/niuxiaoxian/p/8476012.html