• html5和css (四 布局新增)


    布局的H5新增标签(了解)

    header
    footer
    main
    aside
    article
    section
    dialog

    双标签,没有任何默认样式,跟div一样。 有语义

    字体图标

    http://fontawesome.dashgame.com/

    CSS3新增功能

    1 CSS3选择器详解

    1.1 基础选择器

    • 通配选择器*
    • 元素选择器E
    • ID选择器#id
    • CLASS选择器.class
    • 群组选择器select1,selectN

    1.2 层次选择器

    • 后代选择器 E F
    • 子选择器 E>F
    • 相邻兄弟选择器 E+F
    • 通用兄弟选择器 E~F

    1.3 属性选择器

    selector[attr] 包含指定的属性
    selector[attr=value] 指定属性的值
    selector[attr^=value] 属性值以value开头
    selector[attr$=value] 属性值以value结束
    selector[attr*=value] 属性值包含value
    selector[][][] 多个属性选择器

    • E[attr] 选择具有att属性的E元素。
    • E[attr="val"] 选择具有att属性且属性值等于val的E元素。
    • E[attr~="val"] 选择具有att属性且属性值为一用空格分隔的字词列表,其中一个等于val的E元素(包含只有一个值且该值等于val的情况)。
    • E[attr^="val"] 选择具有att属性且属性值为以val开头的字符串的E元素。
    • E[attr$="val"]选择具有att属性且属性值为以val结尾的字符串的E元素。
    • E[attr*="val"] 选择具有att属性且属性值为包含val的字符串的E元素。
    • E[attr|="val"] 选择具有att属性且属性值为以val开头并用连接符"-"分隔的字符串的E元素,如果属性值仅为val,也将被选择。

    1.4伪类选择器

    /*语法*/
    selector:伪类 {
     
    }
    :link     未访问的超链接
    :visited 访问过的超链接
    :hover   鼠标悬停 任意元素,鼠标滑过元素属性改变 css属性
    :actived 激活状态的超链接
    有顺序必须按照link,
    visited ,hover ,actived



    :focus   获得焦点时

    :first-child 兄弟元素第一个
    :last-child 兄弟元素最后一个
    :nth-child() 指定数字,也可以指定关键字"odd", "even"
    :nth-last-child
    :only-child 后代中只有一个孩子的

    :fist-of-type
    :last-of-type
    :nth-of-type() 指定数字,也可以指定关键字"odd", "even"
    :nth-last-of-type()
    :only-of-type()

    1.5 伪元素选择器

    ::first-letter   第一个字
    ::first-line     第一行
    ::before         最前面插入一个子元素
    ::after 最后面追加一个子元素


    CSS3 基础

    2.1 浏览器私有前缀

    -weibkit-*    chrome/safari
    -moz-* firefox
    -ms-* ie
    -o-* opera

    2.2 CSS3 新增的颜色

    rgba(r,g,b,不透明度)  不透明度:0~1 小数, 数越大,越不透明

    2.3 CSS3新增长度单位

    • rem

    • vw

    • vh

    2.4CSS3渐变(了解)

    线性渐变

    语法

    <linear-gradient> = linear-gradient([ [ <angle> | to <side-or-corner> ] ,]? <color-stop>[, <color-stop>]+)
    
    <side-or-corner> = [left | right] || [top | bottom]
    
    <color-stop> = <color> [ <length> | <percentage> ]?
    

    取值

    <angle>:用角度值指定渐变的方向(或角度)。
        to left: 设置渐变为从右到左。相当于: 270deg
        to right:设置渐变从左到右。相当于: 90deg
        to top:  设置渐变从下到上。相当于: 0deg
        to bottom: 设置渐变从上到下。相当于: 180deg。这是默认值,等同于留空不写。
    <color-stop> 用于指定渐变的起止颜色:
        <color>:  指定颜色。
        <length>: 用长度值指定起止色位置。不允许负值
        <percentage>: 用百分比指定起止色位置。
    

    示例

    linear-gradient(#fff, #333);
    linear-gradient(to bottom, #fff, #333);
    linear-gradient(to top, #333, #fff);
    linear-gradient(180deg, #fff, #333);
    linear-gradient(to bottom, #fff 0%, #333 100%);
    

    径向渐变

    语法

    <radial-gradient> = radial-gradient([ [ <shape> || <size> ] [ at <position> ]? , | at <position>, ]?<color-stop>[ , <color-stop> ]+)
    
    <position> = [ <length>① | <percentage>① | left | center① | right ]? [ <length>② | <percentage>② | top | center② | bottom ]?
    
    <shape> = circle | ellipse
    
    <size> = <extent-keyword> | [ <circle-size> || <ellipse-size> ]
    
    <extent-keyword> = closest-side | closest-corner | farthest-side | farthest-corner
    
    <circle-size> = <length>
    
    <ellipse-size> = [ <length> | <percentage> ]{2}
    
    <shape-size> = <length> | <percentage>
    
    <color-stop> = <color> [ <length> | <percentage> ]?
    

    取值

    <position> 确定圆心的位置。如果提供2个参数,第一个表示横坐标,第二个表示纵坐标;如果只提供一个,第二值默认为50%,即center
        <percentage>①:用百分比指定径向渐变圆心的横坐标值。可以为负值。
        <length>①:用长度值指定径向渐变圆心的横坐标值。可以为负值。
        left:设置左边为径向渐变圆心的横坐标值。
        center①:设置中间为径向渐变圆心的横坐标值。
        right:设置右边为径向渐变圆心的横坐标值。
        <percentage>②:用百分比指定径向渐变圆心的纵坐标值。可以为负值。
        <length>②:用长度值指定径向渐变圆心的纵坐标值。可以为负值。
        top:设置顶部为径向渐变圆心的纵坐标值。
        center②:设置中间为径向渐变圆心的纵坐标值。
        bottom:设置底部为径向渐变圆心的纵坐标值。
    
    <shape> 确定圆的类型
        circle:指定圆形的径向渐变
        ellipse:指定椭圆形的径向渐变。
    
    <extent-keyword> circle | ellipse 都接受该值作为 size
        closest-side:指定径向渐变的半径长度为从圆心到离圆心最近的边
        closest-corner:指定径向渐变的半径长度为从圆心到离圆心最近的角
        farthest-side:指定径向渐变的半径长度为从圆心到离圆心最远的边
        farthest-corner:指定径向渐变的半径长度为从圆心到离圆心最远的角
    
    <circle-size> circle 接受该值作为 size
        <length>:用长度值指定正圆径向渐变的半径长度。不允许负值。
    
    <ellipse-size> ellipse 接受该值作为 size
        <length>:用长度值指定椭圆径向渐变的横向或纵向半径长度。不允许负值。
        <percentage>:用百分比指定椭圆径向渐变的横向或纵向半径长度。不允许负值。
    
    <color-stop> 用于指定渐变的起止颜色:
        <color>:指定颜色。
        <length>:用长度值指定起止色位置。不允许负值
        <percentage>:用百分比指定起止色位置。不允许负值
    

    示例

    radial-gradient(circle, #f00, #ff0, #080);
    radial-gradient(circle at center, #f00, #ff0, #080);
    radial-gradient(circle at 50%, #f00, #ff0, #080);

    3 新增的CSS3属性

    3.1 边框圆角

    border-radius 长度单位
    border-top-left-radius
    border-top-righ-radius
    border-bottom-left-radius
    border-bottom-right-radius

    • border-radius

      设置或检索对象使用圆角边框。提供2个参数,2个参数以“/”分隔,每个参数允许设置1~4个参数值,第1个参数表示水平半径,第2个参数表示垂直半径,如第2个参数省略,则默认等于第1个参数 水平半径:如果提供全部四个参数值,将按上左(top-left)、上右(top-right)、下右(bottom-right)、下左(bottom-left)的顺序作用于四个角。 如果只提供一个,将用于全部的于四个角。 如果提供两个,第一个用于上左(top-left)、下右(bottom-right),第二个用于上右(top-right)、下左(bottom-left)。 如果提供三个,第一个用于上左(top-left),第二个用于上右(top-right)、下左(bottom-left),第三个用于下右(bottom-right)。

      垂直半径也遵循以上4点。

    • border-top-left-radius 设置或检索对象的左上角圆角边框

    • border-top-right-radius 设置或检索对象的右上角圆角边框

    • border-bottom-right-radius 设置或检索对象的右下角圆角边框

    • border-bottom-left-radius 设置或检索对象的左下角圆角边框

     

    3.2 

    布局相关属性

    display: 值很多很多 .... table table-row...
    box-sizing: content-box(默认值) / border-box

     

    • box-sizing 定义盒子模型的尺寸解析方式
      >content-box(默认)    
      >border-box
      
    • resize 否允许用户缩放,调节元素尺寸大小
      none: 不允许用户调整元素大小。 (默认)
      both: 用户可以调节元素的宽度和高度。 
      horizontal: 用户可以调节元素的宽度     
      vertical: 用户可以调节元素的高度。
      
    • display 盒子是否以及如何显示
      > none: 隐藏对象。与visibility属性的hidden值不同,其不为被隐藏的对象保留其物理空间 
      > inline: 指定对象为内联元素。 
      > block: 指定对象为块元素。 
      > list-item: 指定对象为列表项目。 
      > inline-block: 指定对象为内联块元素。(CSS2) 
      > table: 指定对象作为块元素级的表格。类同于html标签<table>(CSS2) 
      > inline-table: 指定对象作为内联元素级的表格。类同于html标签<table>(CSS2) 
      > table-caption: 指定对象作为表格标题。类同于html标签<caption>(CSS2) 
      > table-cell: 指定对象作为表格单元格。类同于html标签<td>(CSS2) 
      > table-row: 指定对象作为表格行。类同于html标签<tr>(CSS2) 
      > table-row-group: 指定对象作为表格行组。类同于html标签<tbody>(CSS2) 
      > table-column: 指定对象作为表格列。类同于html标签<col>(CSS2) 
      > table-column-group: 指定对象作为表格列组显示。类同于html标签<colgroup>(CSS2) 
      > table-header-group: 指定对象作为表格标题组。类同于html标签<thead>(CSS2) 
      > table-footer-group: 指定对象作为表格脚注组。类同于html标签<tfoot>(CSS2)
      > run-in: 根据上下文决定对象是内联对象还是块级对象。(CSS3) 
      > box: 将对象作为弹性伸缩盒显示。(伸缩盒最老版本)(CSS3) 
      > inline-box: 将对象作为内联块级弹性伸缩盒显示。(伸缩盒最老版本)(CSS3) 
      > flexbox: 将对象作为弹性伸缩盒显示。(伸缩盒过渡版本)(CSS3) 
      > inline-flexbox: 将对象作为内联块级弹性伸缩盒显示。(伸缩盒过渡版本)(CSS3) 
      > flex: 将对象作为弹性伸缩盒显示。(伸缩盒最新版本)(CSS3) 
      > inline-flex: 将对象作为内联块级弹性伸缩盒显示。(伸缩盒最新版本)(CSS3
     

    3.3 外轮廓

    outline:1px solid #ccc
    outline-style
    outline-color
    outline-width


    • outline 给元素周围绘制一条轮廓线

      <' outline-width '> || <' outline-style '> || <' outline-color '>
      
    • outline-width 外廓线宽度

      : 用长度值来定义轮廓的厚度。不允许负值 medium: 定义默认宽度的轮廓。 thin: 定义比默认宽度细的轮廓。 thick: 定义比默认宽度粗的轮廓。

    • outline-style 外廓线风格

      none: 无轮廓。与任何指定的 <' outline-width '> 值无关 dotted: 点状轮廓。 dashed: 虚线轮廓。 solid: 实线轮廓 double: 双线轮廓。两条单线与其间隔的和等于指定的 <' outline-width '> 值 groove: 3D凹槽轮廓。 ridge: 3D凸槽轮廓。 inset: 3D凹边轮廓。 outset: 3D凸边轮廓。

    • outline-color 外廓线颜色

    • outline-offset 外廓线的偏移量
     
     

    3.4 不透明度

    opacity: 0~1
    • opacity 检索或设置对象的不透明度。 对于尚不支持opacity属性的IE浏览器可以使用IE私有的滤镜属性来实现与opacity相同的效果
     

    3.5 阴影

    box-shadow:水平偏移 垂直偏移;   偏移可以负值
    box-shadow:水平偏移 垂直偏移 颜色;
    box-shadow:水平偏移 垂直偏移 模糊值 颜色; /*最常见的*/
    box-shadow:水平偏移 垂直偏移 模糊值 外延值 颜色;

    • box-shadow 设置元素的阴影

      值: none | [ , ]*
      = inset? && {2,4} && ?

      取值:

      ​ none: 无阴影

      <length>①: 第1个长度值用来设置对象的阴影水平偏移值。可以为负值 
      <length>②: 第2个长度值用来设置对象的阴影垂直偏移值。可以为负值 
      <length>③: 如果提供了第3个长度值则用来设置对象的阴影模糊值。不允许负值 
      <length>④: 如果提供了第4个长度值则用来设置对象的阴影外延值。可以为负值 
      <color>: 设置对象的阴影的颜色。 
      inset: 设置对象的阴影类型为内阴影。该值为空时,则对象的阴影类型为外阴影 
      

      可以设定多组效果,每组参数值以逗号分隔

      test .outset {
          box-shadow: 5px 5px rgba(0, 0, 0, .6);
      }
      .test .outset-blur {
          box-shadow: 5px 5px 5px rgba(0, 0, 0, .6);
      }
      .test .outset-extension {
          box-shadow: 5px 5px 5px 10px rgba(0, 0, 0, .6);
      }
      .test .inset {
          box-shadow: 2px 2px 5px 1px rgba(0, 0, 0, .6) inset;
      }
      .test .multiple-shadow {
          box-shadow:
              0 0 5px 3px rgba(255, 0, 0, .6),
              0 0 5px 6px rgba(0, 182, 0, .6),
              0 0 5px 10px rgba(255, 255, 0, .6);
      }
      
    • box-reflect 倒影 (仅webkit 了解)

      值: box-reflect:none | ? ?

      取值:

      direction

      above: 指定倒影在对象的上边 
      below: 指定倒影在对象的下边 
      left: 指定倒影在对象的左边 
      right: 指定倒影在对象的右边 
      

      offset

      <length>: 用长度值来定义倒影与对象之间的间隔。可以为负值 
      <percentage>: 用百分比来定义倒影与对象之间的间隔。可以为负值 
      

      mask-box-image

      none: 无遮罩图像 
      <url>: 使用绝对或相对地址指定遮罩图像。 
      <linear-gradient>: 使用线性渐变创建遮罩图像。 
      <radial-gradient>: 使用径向(放射性)渐变创建遮罩图像。 
      <repeating-linear-gradient>: 使用重复的线性渐变创建背遮罩像。 
      <repeating-radial-gradient>: 使用重复的径向(放射性)渐变创建遮罩图像。 
     

    3.5  CSS3新增背景属性

    background-size: cover / contain / 400px 300px / 100% 100%
    background: color image postion/size repeat attachment

    background: bg-image bg-position / bg-size bg-repeat bg-attachment bg-origin bg-clip bg-color
    
    • background-origin 背景图片原点

      取值:
      padding-box:(默认值) 从padding区域(含padding)开始显示背景图像。 
      border-box: 从border区域(含border)开始显示背景图像。 
      content-box: 从content区域开始显示背景图像。
      
    • backgroun-clip 指定对象的背景图像向外裁剪的区域。

      取值:
      padding-box: 从padding区域(不含padding)开始向外裁剪背景。 
      border-box: (默认值)从border区域(不含border)开始向外裁剪背景。 
      content-box: 从content区域开始向外裁剪背景。 
      text: 从前景内容的形状(比如文字)作为裁剪区域向外裁剪,如此即可实现使用背景作为填充色之类的遮罩效果
      
    • background-size 背景图像的尺寸

      <length>: 用长度值指定背景图像大小。不允许负值。 
      <percentage>: 用百分比指定背景图像大小。不允许负值。 
      auto: 背景图像的真实大小。 
      cover: 将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。 
      contain: 将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。
      
    • CSS3多背景

      background:url(test1.jpg) no-repeat scroll 10px 20px/50px 60px content-box padding-box,
                    url(test1.jpg) no-repeat scroll 10px 20px/70px 90px content-box padding-box,
                 url(test1.jpg) no-repeat scroll 10px 20px/110px 130px content-box padding-box #aaa;
     

    3.6 CSS3变换

    • transform

      translatex() 
      translatey()
      translate(x, y)
      rotate() 角度 deg
      skewx() 角度deg
      skewy()
      skew(x, y)
    • transform-origin 变换的原点。 对translate没有意义。 对rotate影响大

    相关属性

    • transform

      设置或检索对象的转换。

      取值

      none (默认值)无转换

      2D Transform Functions:

      matrix(): 以一个含六值的(a,b,c,d,e,f)变换矩阵的形式指定一个2D变换,相当于直接应用一个[a,b,c,d,e,f]变换矩阵 
      translate(): 指定对象的2D translation(2D平移)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0 
      translatex(): 指定对象X轴(水平方向)的平移 
      translatey(): 指定对象Y轴(垂直方向)的平移 
      rotate(): 指定对象的2D rotation(2D旋转),需先有 <' transform-origin '> 属性的定义 
      scale(): 指定对象的2D scale(2D缩放)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认取第一个参数的值 
      scalex(): 指定对象X轴的(水平方向)缩放 
      scaley(): 指定对象Y轴的(垂直方向)缩放 
      skew(): 指定对象skew transformation(斜切扭曲)。第一个参数对应X轴,第二个参数对应Y轴。如果第二个参数未提供,则默认值为0 
      skewx(): 指定对象X轴的(水平方向)扭曲 
      skewy(): 指定对象Y轴的(垂直方向)扭曲 
      

      3D Transform Functions:

      matrix3d(): 以一个4x4矩阵的形式指定一个3D变换 
      translate3d(): 指定对象的3D位移。第1个参数对应X轴,第2个参数对应Y轴,第3个参数对应Z轴,参数不允许省略 
      translatez(): 指定对象Z轴的平移 
      rotate3d(): 指定对象的3D旋转角度,其中前3个参数分别表示旋转的方向x,y,z,第4个参数表示旋转的角度,参数不允许省略 
      rotatex(): 指定对象在x轴上的旋转角度 
      rotatey(): 指定对象在y轴上的旋转角度 
      rotatez(): 指定对象在z轴上的旋转角度 
      scale3d(): 指定对象的3D缩放。第1个参数对应X轴,第2个参数对应Y轴,第3个参数对应Z轴,参数不允许省略 
      scalez(): 指定对象的z轴缩放 
      perspective(): 指定透视距离     
      
    • transform-origin

      设置或检索对象以某个原点进行转换。 用法

      如果提供两个值,第一个用于横坐标,第二个用于纵坐标。 
      如果只提供一个,该值将用于横坐标;纵坐标将默认为50%。 
      3D变形需要制定Z坐标 第三个参数值
      

      取值

      left  right  center   <lenght>  <percentage>
      top bottom  center   <lenght>  <percentage>    
      
    • transform-style

      指定某元素的子元素是(看起来)位于三维空间内,还是在该元素所在的平面内被扁平化。 flat: (默认)指定子元素位于此元素所在平面内 preserve-3d: 指定子元素定位在三维空间内

    • perspective

      指定观察者与「z=0」平面的距离,使具有三维位置变换的元素产生透视效果。「z>0」的三维元素比正常大,而「z<0」时则比正常小,大小程度由该属性的值决定。

      none: 不指定透视 : 指定观察者距离「z=0」平面的距离,为元素及其内容应用透视变换。不允许负值

    • perspective-origin

      设置透视点的位置

      用法

      ​ 该属性提供2个参数值。

      如果提供两个,第一个用于横坐标,第二个用于纵坐标。 
      如果只提供一个,该值将用于横坐标;纵坐标将默认为center。 
      

      取值

    3.7 过渡效果

    过渡(transition)

    过渡相关属性

    • transition 检索或设置对象变换时的过渡。

      注意:

      如果只提供一个参数,则为 <' transition-duration '> 的值定义;如果提供二个参数,则第一个为 <' transition-duration '> 的值定义,第二个为 <' transition-delay '> 的值定义

      用法 transition:[,]* = [ none | ] || || ||

    • transition-property 设置对象中的参与过渡的属性

      默认值为:all。默认为所有可以进行过渡的css属性。 如果提供多个属性值,以逗号进行分隔。 取值

      none: 不指定过渡的css属性 
      all: 所有可以进行过渡的css属性 
      <IDENT>: 指定要进行过渡的css属性 
      

      那些CSS属性可以被过渡

      颜色属性
      具有长度值 百分比的属性
      值是数字的属性 如 z-index  opacity  outline-offset等
      变形系列属性
      阴影
      渐变        
      
    • transition-duration 设置对象过渡的持续时间

      如果提供多个属性值,以逗号进行分隔。

    • transition-timing-function 设置对象中过渡的动画类型

      取值
      ease: 平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0) linear: 线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0) ease-in: 由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0) ease-out: 由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0) ease-in-out: 由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0) cubic-bezier(, , , ): 特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内 http://cubic-bezier.com/ steps([, [ start | end ] ]?): 接受两个参数的步进函数。第一个参数必须为正整数,指定函数的步数。第二个参数取值可以是start或end,指定每一步的值发生变化的时间点。第二个参数是可选的,默认值为end。

    • transition-delay 设置对象延迟过渡的时间

    CSS3触发过渡的条件

    • 伪元素触发
    • 媒体查询
    • JavaScript触发

    3.8 CSS3动画

    关键帧

    @keyframes 动画名字 {
       0% {
           
      }
       20% {
           
      }
       40% {
           
      }
       100% {
           
      }
    }

    相关CSS属性

    animation-name  指定动画的名字
    animation-duration 动画的执行时间
    animation-timing-function 执行效果速度  
    animation-delay   延迟
    animation-iteration-count   循环 次数  infinite(无限)
    animation-direction:  alternate (正向 反向 交替) reverse(反向)
    animation-play-state: running / paused
    animation 复合属性
     
  • 相关阅读:
    hihoCoder 1148 2月29日
    Java 之常用运算符(3)
    Java 之变量和常量(2)
    Codeforces Round #414 A. Bank Robbery
    Codeforces Round #413 B. T-shirt buying
    C++中 set(集合容器)的用法
    Codeforces Round #411 B. 3-palindrome
    Codeforces Round #411 A. Fake NP
    Codeforces Round #413 A. Carrot Cakes
    Codeforces Round #412 B. T-Shirt Hunt
  • 原文地址:https://www.cnblogs.com/wanglecn/p/9439192.html
Copyright © 2020-2023  润新知