HTML /css

106 阅读30分钟
                                                第一周             
2021.02.28知识点复习

1、快捷方式:

   ctrl+c/v:复制、粘贴   
   ctrl+A全选      
   ctrl+s保存       
   ctrl+x 剪切       
   ctrl+z撤销     
   ctrl+y返回上一步      
   ctrl+f查找

2、网站的建站流程:

A. 注册域名:网址
B.租用服务器:存放资源的地方
 C.项目研发:
     a. 产品经理:PM  ——原型图
     b. UI设计——设计图
     c. web前端开发工程师:前端界面以及前端的逻辑
    d.后端工程师——Java/php...
    e. 联调
    f. 测试

D.网站的推广

E.维护

3、网页的组成

 结构 HTML
 表现 CSS
  行为 JavaScript

4、html:超文本标记语言

    xhtml:可拓展超文本标记语言(更加严格)
    html5:html的第五次改版

5、html基础

DOCTYPE html :申明文档类型是html  
html lang="en"    根标签  
<body>

6.html标签分类:

   双标签、常规标签:<标签名  属性="属性值"></标签名>
   单标签、空标签: <标签名>
语法构成:
       标签是长在尖括号里面
      属性在标签名后面用空格隔开,属性和属性值之间用等号和双引号表示

7.常见标签:

 *1.标题标签 h1-h6
    h1:在一个页面中只能有一个,放logo
    h2-h6:在一个页面中可以多次使用
    特点:默认有加粗效果,有自己默认的文字大小
 *2. 段落标签<p></p>
    使用:通过只是用来放 大段文字
    

*3.结构性标签:是一个干净的标签

*4.span:字符(小段文本)是一个干净的标签

8.不常见标签:

   *1.加粗标签
        <b></b>
        <strong></strong>
   *2.倾斜标签
       <i></i>
      <em></em>
  *3.下划线标签
     <u></u>
 *4.强行换行
     <br> 单标签
 *5.水平线标签
    <hr>单标签
 *6.上标 <sup></sup>
     下标<sub></sub>
 *7.转义字符
      &gt:>
     &lt:<
      &copy:版权符号
     &nbsp:空格

9.列表符号:

*1.无序列表:

      <ul>
               <li></li>
     </ul>
   特点:自带实心小圆点

*2.有序列表

     <ol>
               <li></li>
   </ol>
 特点:排列数字依次增大
 
属性:

     type="a/A/i/I"
    语法:<ol type="a/A/i/I"></ol>
    start="3"
    语法:<ol start="3"></ol>  特点:start的属性值必须是数字

*3.自定义列表

   <dl> 
       <dt>描述的对象</dt>           dt只能取一个
       <dd>对应的描述<dd>          dd可以取多个
</dl>


                  2021.03.01知识点复习
  1. 超链接 a:

    *1.href="" 跳转的路径
    *2.target=""  控制是否在新页面打开
         取值:_self(覆盖当前)  /    _blank(新窗口)
     *3.下载 
           <a href="movie.zip">下载</a>
     *4.title="提示作用
    

2.图片标签 img:

   html属性:
    *1.src="文件的资源路径"

    *2.alt=""
       作用:1.图片没有正常显示的时候,做提示作用 2.有利于seo

    *3.设置宽高  width/height

   *4.title="提示作用

3.相对路径

    *1.同级找同级:./文件名 或者 直接文件名
    *2.子级找父级:../文件名
    *3.进入下一级:/

4.表单

   table
   trtd

html属性

  width:宽   
  height:高  
  border:边框
  color:边框颜色
  cellspacing:边框与边框之间的距离
  cellpadding:边框与内容之间的距离

设置给tr或td:
  align:水平方向对齐方式  left center right
  valign:垂直方向对齐方式  top middle bottom

5.合并单元格: 注意:都是对td进行设置

  合并列:colspan=""
  合并行:rowspan=""

  口诀:合并列删除自己行的td
        合并行删除别人行的td

6.表单:form

    <form action="接口" method="get/post">
    </form>
属性:
       action = "接口地址"
      method = "get / post"
    name = "表单名称"
    
表单控件:
  <input>:
     html属性:
       1.type="" 控制input类型(输入框 按钮  密码框...)
       2.name:  属性标识表单域的名称;
	   3.value: *1.在js中通过value拿到用户输入的内容
                 *2.根据type不同,value作用可能是提示或者修改文本
	   4.maxlength:控制最多输入的字符数,
       5.size:控制框的宽度(以字符为单位)

7.css:层叠样式表 版本:最新的css3

css语法:
    包含两个部分:选择符和申明(属性:属性值;)

    选择符 {
    属性:属性值;
    属性:属性值 属性值 属性值;
}

注意事项:
    1.冒号和分号必须是英文状态下的
    2.多个属性值之间用空格隔开
    3.所有的申明都必须放在{}

8.样式表 *1.内联样式表(不用) <标签名 style="属性:属性值;属性:属性值"></标签名>

*2.内部样式表(不常用)
  语法:
     <style type="text/css">
           css语句 
    </style>

   注:使用style标记创建样式时,最好将该标记写在<head></head>;

*3.外部样式表:
   语法:<link rel="stylesheet" type="text/css" href="目标文件的路径及文件名全称">
   a.在css文件夹中新建一个xx.css并设置对应的样式
   b.在html文件中通过link引入css文件里面的css样式文件

                  2021.03.02知识点复习

一、样式表

*1.内联样式表(不用)
   <标签名 style="属性:属性值;属性:属性值"></标签名>

*2.内部样式表(不常用)
  语法:
     <style type="text/css">
           css语句 
    </style>

   注:使用style标记创建样式时,最好将该标记写在<head></head>;

*3.外部样式表:
   语法:<link rel="stylesheet" type="text/css" href="目标文件的路径及文件名全称">
   a.在css文件夹中新建一个xx.css并设置对应的样式
   b.在html文件中通过link引入css文件里面的css样式文件

二.样式表的权重

  内联样式表的权重是最大的;
  内部 外部 按照就近原则(就内部的距离)

!important >内联样式表 1000 >id选择符 0100>伪类 0010+/class选择符 0010> 标签选择符0001>通配符>继承性

   包含选择符:父级+子级
   群组选择符:本身

三.选择符

  *1.标签选择符/类型选择符
   说明:所有的html标签都可以作为标签选择符
   标签名{
       属性:属性值;
   }
   举例:html/div/html/body/p/i/em/h1...{}
   特点:会找到当前页面所有叫此标签名的标签

 *2.id选择符  (人的身份证)
    语法:
       html:<标签名 id="起个名字"></标签名>
       css: #起的名字
       特点:具有唯一性,一个网页中名字不能重复,类似人的身份证
       使用场景:只能用于网页的最外围结构!!!!!!
       (见04练习)

 *3.class选择符  (人的名字)
       html:<标签名 class="起个名字1 名字2 名字3"></标签名>
       css: .起的名字

       特点:*1.名字可以重复
             *2.一个标签可以取多个名字

 *4.通配符
     理解:找到当前页面中所有标签
     使用场景:清楚默认样式
      *{
       margin:0;
       padding:0;
     }

 *5.包含选择符/后代选择符
    理解:通过父元素找到子元素
    语法:父元素选择符 子元素选择符{ } (只会对子元素生效的)

 *6.群组选择符
   理解:把多个选择符用逗号隔开,形成一组,达到统一的作用
   语法:
      选择符1,选择符2,选择符3....{

      }
       针对当前组的每一个标签

*7伪类选择符
     a:link {color: red;}                    /* 未访问的链接状态 */
     a:visited {color: green;}				/* 已访问的链接状态 */
     a:hover {color: blue;}                  /* 鼠标滑过链接状态 */
     a:active {color: yellow;}               /* 鼠标按下去时的状态 */

    注意:
       1.同时使用时有顺序问题
       2.不要4个一起用

       选择符 :hover{}   //鼠标停在某个选择符上的时候,设置当前样式

四. css属性 *1.控制列表符号: list-style-type:circle圆/ square方块;

    *2.列表符号可以为图片
      list-style-image:url(图片路径);

    *3.列表符号的位置:
      list-style-position:outsise/inside;

    * 4.去掉列表符号*
      list-style:none;

五.边框: 简写形式或者复合写法: border:1px solid red;
粗细 类型 颜色

    拆分:
     border-width:
     border-style:solids实线  dotted点状线  dashed虚线 double双线
     border-color:

    单一方向设置:
    border-left/right/top/bottom:

六. 浮动:float-left/rigt/none;

    作用:让竖着排的标签可以横着排
    
    特点:脱离文档流,不占据页面空间

    使用:如果想要多个同级元素排在一行,需要在每个元素里设置浮动!!

    注意:浮动不会覆盖文本、图片、表单


                                2022.03.03   day4

1.选择符的权重

 !important>内联样式表>id选择符>伪类选择符/class选择选择符/>标签选择符>通配符>继承性
后代选择符:父元素+子元素
 群组选择符:本身

2.背景background

简写:background:color url("") no repeat center center;
背景颜色:background-color
背景图片:background-image:url("");
背景图的显示状态:background-repeat:no repaet/repeat/repeat-x/repeat-y
背景图大小:background-size
背景图的位置:background-position:left/center/right; top/center/bottom;
背景的固定:background-attachment:fixed;

3.文本属性

   文本大小:font-size
    文本颜色:color
    水平对齐方式:text-align:center/justify/left/right;
    行高:line-height;
   文本加粗:font-weight:bold;
    文本样式:font-style:normal/italic/oblique;
    文本修饰属性:text-decoration:none/line-through; 无/删除线;
   设置字体:font-family
   首行缩进:text-indent:2em;
   词间距:word-spacing
   字符间距:letter-spacing

4.继承性:

   文本属性都可以继承
   宽和高不可以继承

不可继承的: display、margin、border、padding、background、height、min-height、max- height、、min-width、max-width、overflow、position、left、right、top、 bottom、z-index、float、clear、table-layout、vertical-align

所有元素可继承:visibility和cursor

内联元素可继承:letter-spacingword-spacingline-heightcolorfontfont-familyfont-sizefont-stylefont-variantfont-weight、text- decoration、text-transform



                       2022.03.04 day5

1.盒模型:

     作为网页的基石
     组成:
         粉底液                       ->内容(文本/图片/input...)      ->content 
         拉菲草                        ->内填充                                                ->padding    
         快递盒                     - >盒子本身/border                             ->border
         另一个快递盒       ->外边距                                                ->margin


    

2.padding: 需求:让文本与盒子之间有距离,使用padding

        1.paddin长在内容盒盒子之间,长在盒子里面

  ******2.padding的作用:控制内容与外面盒子之间的距离******

        3.padding是设置给父元素的,用于控制父元素和里面子元素之间的距离的

        4.padding会撑开盒子:
          如果想要保持原来的大小,盒子的宽减去左右的padding,盒子的高减去上下的padding
          如果没有设置固定的宽高,设置padding值不用减

        5.单一方向设置padding的值
          padding-top/bottom/left/right

        6.padding的多值设置:
         padding50px;四周
         padding10px 20px; 上下 左右
         padding:10px 20px 30px; 上 左右 下
         padding:10px 20px 30px 40px; 上 右 下 左

         7.padding不可以取负值!!!!!!!!!!!!!!!!!!

         8.padding不会影响背景图!!!!!!!!!!!!!!!!!!!

3. margin:需求:想要让同级元素之间产生一些距离

    1.长在最外围的,不会撑开盒子内部的大小,但是盒子本身的占位变大了

    2.作用:控制同级与同级元素之间的间距(同级)

    3:给单一方向添加marginmargin-left/right/top/bottom4margin设置方法:
      margin:30px;                     四周
      margin:10px 30px;                上下   左右
      margin:10px 30px 50px           上     左右  下
      margin:10px 30px 50px 100px     上     右    下  左
    
    5.margin可以取负值!!!!!!!!!!!!!!!!!!!!

     6.marginauto; 实现子标签在父标签中达到自适应居中

          ***前提条件:1.此元素不能设置浮动****
                      2.子元素设置固定宽度且宽度要小于父元素
                      3.div/p/h1-h6...支持    a/span/img不支持

    7.margin自带的bug/问题:
       a.同级元素上下margin之间会重合,不会叠加计算,按照值大的执行
       b.父元素和第一个子元素都没有设置浮动,给子元素设置margin-top,会错误的添加给父元素
         解决:给父元素设置padding-top

4.网页 通栏:div不设置宽度或者宽度为100%

版心:固定宽度,并且设置一个margin:auto达到自适应居中

建设网站:
   1.新建一个站点文件夹

   2.网页的规划: indenx.html

   3.css文件部署
       公共样式表:当前项目公共的样式
       重置样式表:清楚默认的样式的
       私有样式表:针对当前页面的样式

    4.选择符命名
       连接符、下划线、驼峰
       id选择符仅用来作为最外围结构
       尽量用class选择符

                                 第二周

Day1 3.7 一、shift+alt+f 整理代码

二、单行文本省略号 1.固定宽高

2.不换行
    white-space:nowrap;

3.溢出隐藏
    overflow:hidden;

 4.显示省略号:
    text-ovrflow:ellipsis;

day2 3.8 一、元素类型的分类:

1.块级元素
  1.设置宽高生效
  2.从上往下排列,独占一行
  3.如果不设置固定宽度,默认占满父元素的100%

  常见的块级元素:
    div -最常用的块级元素
    dl - 和dt-dd 搭配使用的块级元素
    form - 交互表单
    h1 -h6- 大标题
    hr - 水平分隔线
    ol – 有序列表
    p - 段落
    ul - 无序列表
    li
    fieldset - 表单字段集
    colgroup-col - 表单列分组元素
    table-tr-td  表格及行-单元格

2.内联元素/行内元素
   1.设置宽高不生效
   2.在一行内从左往右排列
   3.支持盒模型,但是不支持margin-top/margin-bottom;

   常见的内联元素
    a –超链接(锚点)                               
    b - 粗体(不推荐) 
    br - 换行                             
    i - 斜体
    em - 强调                             
    img - 图片                         
    input - 输入框               
    label - 表单标签                  
    span - 常用内联容器,定义文本内区块
    strong - 粗体强调
    sub - 下标   
    sup - 上标
    textarea - 多行文本输入框
    u - 下划线
    select - 项目选择  

3.块级内联元素          
  1.设置宽高生效
  2.在一行内从左往右排列
  3.支持vertical-align属性 (设置元素的垂直对齐方式)

  常见的块级内联元素
   img-图片/ input-输入框  / textarea - 多行文本输入框

二、元素类型转换

display属性:

盒子模型可通过display属性来改变默认的显示类型

display:block;转为块级元素
   拥有块级元素所有特征

display:inline; 转为内联元素
  拥有内联元素所有特征

display:inline-block; 转为内联块级元素
  拥有内联块级元素所有特征

display:none; 隐藏元素,不占据空间

三、浮动元素都可以设置宽高

只要设置了浮动的属性,都可以设置宽高,但是如果没有设置固定的宽度,由内容撑开宽度 (块级元素)

四、置换元素

置换元素:浏览器中显示的内容根据标签和属性决定的 
 img  input

非置换元素:大部分标签都是非置换元素,写什么内容浏览器就显示什么内容
   div    p

day8 3.9 一、标签嵌套规则

  1.默认嵌套规则
    table>tr>td   ul>li  dl>dt+dd

  2.块级元素都可以嵌套内联元素

  3.内联元素不可以嵌套内联元素
    特殊:a标签可以嵌套任何块级元素除了自己

  4.块级元素套块级元素
    特殊:p不能嵌套任何块级元素包括自己
    div能嵌套任何块级元素包括自己

  5.标签不可以自己嵌套自己
     特殊:div可以

二、定位:position

  (一)目标对象设置position属性 表示此标签要发生定位
  (二)确定参照物
  (三)指定坐标(top/bottom/left/right)
  (四)浮动和绝对定位的标签都可以设置宽高,不再是一个标准的元素类型的标签
  (五)position分类
     1.position:static;  静态定位
        默认值,不识别方位,此属性不适用

     2.position:absolute; 绝对定位
         a.如果没有设置参照物,那么以浏览器窗口为参照物
         b.参照物:有定位的(除了static)最近的父级元素
         c.脱离文档流,不占据页面空间

     3.position:relative; 相对定位
         a.始终占据页面空间的
         b.参考物:本身默认的位置
         c.使用场景:  1.通常搭配绝对定位使用    2.用于微调

     4.position:fixed; 固定定位
         a.参照物:浏览器窗口
         b.脱离文档流,不占据页面空间

     5.position:sticky;粘性定位
         a.是相对定位和固定定位的结合体
         b.如果没有达到临界条件,按照相对定位
         c.如果达到临界条件,按照固定定位
    
    给父元素设置相对定位,给子元素设置绝对定位  ->子绝父相

    层级元素:z-index
      前提条件:必须有定位的(除了static)元素才支持这个属性
       z-index:层级元素
       作用:改变定位元素堆叠顺序
       取值:数字,正值越大表示层级越高 越在上面

三、标签在浏览器窗口居中的方法:

 1. position:fixed;
    left:50%;
    top:50%;
    margin-top:-高的一半
    margin-left:-宽的一半

 2. position:fixed;
    left:0;
    right:0;
    top:0;
    bottom:0;
    margin:auto;

四、子元素在父元素中达到水平和垂直居中

1.方式1:
    父元素:
    position:relative;
    子元素:
    position:absolute;
    top:50%;
    left:50%;
    margin-top:-高度的一半;
    margin-left:-宽度的一半;

2.方式2;
    父元素:
    position:relative;
    子元素:
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;   

五、 锚点: 是超链接的一种应用,实现在一个页面中不同位置的跳转

   语法:
     <标签名 id="起个锚点名称"></标签名>
     <a href=""></a> 

day9

一、宽高自适应 1.宽度自适应 块级元素不设置宽度或宽度设置为100%

2.高度自适应
   不设置高度,或者高度为auto
   min-height:最小高度  
       IE9浏览器以上才识别该属性, 如果内容少就按照最小高度执行,内容多就让内容撑开

3.全屏页面
   html,body{
       height:100%;
   }

二、解决高度缺陷

  (一)高度塌陷产生的原因:子元素都设置了浮动,父元素高度为0,父元素会出现高度塌陷

  (二)解决高度塌陷/清除浮动的方法:
  1.给父元素设置一个固定高度

  2.给高度塌陷的父元素设置overflow:hidden;
       原理:overflow:hidden触发了bfc,bfc规定浮动元素要参与高度计算
       弊端:本意溢出隐藏,会影响定位元素

  3.给想要清除浮动的元素后面加一个空div,并且设置css样式: clear: both
      弊端:页面中会有很多无意义的标签,造成代码的冗余

  4.万能清除法
    选择符:after{
    content:“";
    clear:both;
    display:block;
    height:0;
    overflow:hidden;
    visibility:hidden;}
    
  使用:
    1.在reset.css文件中定义一个公共类名 表示专门解决高度缺陷的问题:
     .clear-fix:after{
       content:“";
       clear:both;
       display:block;
       height:0;
       overflow:hidden;
       visibility:hidden;}

    2.在需要解决高度塌陷的父元素上面去添加一个类名
        <div class="body_ top clear_ fix"></div>

三、弹性盒

flex布局/弹性盒:
  设置给元素上面的属性:
     主轴和侧轴是相对而言的,X轴为主轴,则y轴为侧轴;X轴为侧轴,则y轴为主轴
     设置给父元素用于形成弹性盒,达到控制子元素的排列布局
     
     1.形成弹性盒:display:flex;
        父元素形成了弹性盒,子元素都可以设置宽高
         父元素形成了弹性盒,子元素想要达到水平和垂直居中,给子元素设置margin:auto;
          默认主轴为x轴,默认排列顺序是沿着x轴进行排列

    2.改变主轴:flex-direction:row/column;

    3.主轴对齐方式:
      justify-content:center;
      justify-content:space-around;所有空间自动分配
      justify-content:space-between;两端对齐,剩余空间自动分配

    4.侧轴对齐方式:
       align-items:center;

四、伪类选择符

1.选择符::after{content:"";}  作为选择符里面最后一个子元素

2.选择符::before{content:"";}  作为选择符里面第一个子元素

       注意:before和after里面必须搭配content使用

 
3. ::first-letter{}   找到第一个字符

4. ::first-line{}     找到第一行

五、表单的补充

(一)表单控件的补充: 1.单选按钮 每一组单选按钮的name值必须一致

2.多选按钮/复选框
  <input type="checkbox" name="">

3.下拉列表(菜单)
  <select>
      <option>重庆</option>
  </select>

4.多行文本域 texarea
   css属性:resize:none;禁止拖拽

5.文件的上传
  <input type="file">
  

(二)html属性的补充: checked:默认选中 disabled:禁用 selected:下拉列表中的选中

(三)表单标签的补充 1.表单字段级:用于分组 语法:

2.表单字段级标题:用于放对应的标题
  语法:<legend align="left/center/right/justify"></legend>

3.提示标签
  语法:<label for="绑定控件id名"></label>
  
   说明:label元素用来定义标签,为页面上的其他元素指定提示信息。要将label元素绑定到其他的控件上,可以将label元素的for属性设置为与该控件的id属性值相同。

day10

一、标签的补充

1:数据行分组
   <thead></thead>
   <tbody></tbody>
   <tfoot></tfoot>
   一个表格中只能有一个thead和tfoot,可以有多个tbody

2.数据列分组
   <colgroup span="把几列分为一组"></colgroup>

3.表格标题
   <caption></caption>
    提供:caption-side:top/bottom/left/right;

4.列标题
    <th></th>
      默认文字加粗和居中效果

二、css的补充 1.相邻边框的合并 border-collapse:separate/collapse;

2.相邻边框之间的距离
    border-spacing:10px;

3.单元格没有内容是否显示
    empty-cells:show/hide;
  
4.控制表格的宽度
    table-layout:fiexd/auto; 固定/自动;


                                                                   第三周

                                     day1

一、浏览器前缀:

  css3:css3目前是预览版本,有兼容性问题,解决方案:加浏览器前缀
    谷歌   -webkit-
    火狐   -moz-
    ie    -ms-
    欧鹏   -o-

二、线性渐变

background: linear-gradient(direction, color-stop1, color-stop2, ...);
    direction:方向
    color-stop:颜色

    1.单一方向的渐变
       默认值:从上到下
       to left /right/top/bottom   标准模式
       right                       兼容模式:不加to,方向表示的是开始的位置

    2.对角渐变
        to right top  / to left bottom  
        left bottom

    3.角度渐变   deg度
        10deg
        兼容模式:90deg - 标准模式

三、径向渐变:从一个点向四周 (!!!必须加前缀)

语法:background: radial-gradient(center, shape, size, start-color, ..., last-color);
说明:
    1.center:渐变起点的位置,默认是图形的正中心。   
            水平  垂直
            取值:1.10px 20px固定大小
                  2.百分比
                  3.方位值 top /bottom... 
    
    2.shape:渐变的形状,ellipse表示椭圆形,circle表示圆形。默认为ellipse,如果元素形状为正方形的元素,则ellipse和circle显示一样。


    3.size:渐变的大小,即渐变到哪里停止,它有四个值。 closest-side:最近边; farthest-side:最远边; closest-corner:最近角; farthest-corner:最远角。

四、重复性线性渐变:

   div { background: repeating-linear-gradient(red, yellow 10%, green 20%); }

重复性径向渐变
   div { background: repeating-radial-gradient(red, yellow 10%, green 20%); }

五、过渡:transition

1. transition-property:检索或设置对象中的参与过渡的属性  通常设置为all;

2. transition-duration:检索或设置对象过渡的持续时间

3. transition-delay:检索或设置对象延迟过渡的时间

4. transition-timing-function:检索或设置对象中过渡的动画类型 linear/ease...

**简写**:
 transition:all/具体属性值    运动时间s/ms   延迟时间s/ms   动画类型;
 
  注意:两个时间有顺序性问题
  transition必须要有鼠标时间触发(hover)

六、2d:二维平面空间,有x轴和y轴

css3-2d变形:transform
   transform:translate    位移
   transform:scale        缩放
   transform:rotate       旋转
   transform:skew         倾斜

1.位移 transform:translate(参数1,参数2); 参数1:水平位置 参数2:垂直位置

单独设置x轴和y轴:
  transform:translateX();
            translateY();

2.缩放 transform:scale(参数1,参数2); 取值:倍数:0-0.999 =1不变 >1放大 参数1:水平 参数2:垂直

    单一方向的设置:
    tranform:scaleX();
     tranform:scaleY();               

3.旋转:transform:rotate(); 单位deg

单一方向的设置:
rotateX() 方法,元素围绕其 X 轴以给定的度数进行旋转
rotateY() 方法,元素围绕其 Y 轴以给定的度数进行旋转

改变变形原点:transform-origin:水平 垂直;
    取值:固定大小:10px 10px;
          百分比:10% 10%;
          方位值:right bottom;

4.倾斜:transform:skew(水平 垂直 ) 单位deg

单一方向的设置:transform:skewX( ) / skewY( )

注意:多功能函数一起使用的时候,位移必须放在第一位


                          day2

一.景深: perspective:1200px;

二.形成3d空间  transform-style:preserve-3d;
三.3d位移 transform:translate3d(x,y,z) 
          translateX/Y/Z
四.旋转 tranform:rotateX()、rotateY()、rotateZ()、rotate3d()
五.缩放  transform:scale3d(2,2,2);/ scaleX/Y/Z;
六.animation:关键帧动画
  (一)制定动画、关键帧
       @keyframes 动画名move{
           from{初始状态属性}
           to{结束状态属性}
        }

       @keyframes move{
           0%{初始状态属性}
           50%(中间再可以添加关键帧)
           100%{结束状态属性}
        }
    
     (二)调用
        animation:动画名 持续时间 延迟时间 类型 次数;
             animation:move 2s 1s linear infinite;

七、字体图标的使用
    1.unicode方式
         1.引入iconfont.css文件
         2.<i class="iconfont"> unicode号 </i>

    2.font-class方式
         1.引入iconfont.css文件
         2.<i class="iconfont 类名"> </i>

       3.symbol方式
          1.引入iconfont.css文件
         2.引入iconfont.js文件
          3.<svg></svg>

八、让子元素在父元素中达到水平和垂直居中的5种方式

 1.父元素 position:relative;
   子元素 position:absolute;
              top:50%;
              left:50%;
              margin-top:-高度的一半;
              margin-left:-宽度的一半;

2.父元素 position:relative;
   子元素 position:absolute;
              top:0;
              left:0;
              bottom:0;
              right:0;
            margin:auto;
3.过渡
       子元素 position:relative;
                  top:50%;
                  left:50%;
                 transform: translate(-50%, -50%); 
4.弹性盒
  父元素:display:flex;
  子元素:margin:auto;

5.  父元素
           display:flex;
           justify-content:center;
           align-items:center;

                                                      day3

一. 语义化标签:

section元素 表示页面中的一个区块  --大块内容
main元素 表示页面中的主要的内容    --版心

header元素 表示页面中一个内容区块或整个页面的 标题
footer元素 表示页面中一个内容区块或整个页面的 脚注
nav元素 表示页面中 导航链接部分

figure元素 表示一段独立的内容,使用figcaption元素为其添加标题(第一个或最后一个子元素的位置)
   article元素 表示一块与上下文无关的独立的内容

(了解)

aside元素 在article之外的,与article内容相关的辅助信息   
hgroup标题的一个分组
mark定义高亮显示的文本(span)
time时间
dialog标记定义一个对话框(会话框)类似微信

二、视频、音频

1.视频
    <video></video> 
        html属性:
        src="" 资源路径
        controls 展示控件
        autoplay 自动播放
        muted   静音
        loop  是否循环
        poster="图片路径"

2.音频
    <audio></audio>
        html属性:
        src="" 资源路径
        controls 展示控件
        autoplay 自动播放
        muted   静音
        loop  是否循环
    <source type=>

三、HTML5表单

    新增type类型
        Type=“email”   限制用户必须输入email类型
        Type=“url”        限制用户必须输入url类型
        Type=“range”   产生一个滑动条表单
        Type=“number”
        Type=“search”   产生一个搜索意义的表单
        Type=“color”     生成一个颜色选择的表单
        Type=“time”      限制用户必须输入时间类型
        Type=“month”        限制用户必须输入月类型
        Type=“week”        限制用户必须输入周类型
        Type=“datetime-local”        选取本地时间
        type=”date” 

四、新增表单属性

       ***** autocomplete    是否自动提示信息    属性值   on    off
       ***** placeholder    文本框的提示信息
        required     监测是否为空。
        min      最小
        max      最大
        step     步幅  确定一个法定值。 -3 0 3 6 9
        autofocus      自动聚焦。一个页面只能由一个。
        pattern        后面的属性值是一个正则表达式。
        novalidate     取消验证
        multiple     选择(上传)多个
        list     必须结合datalist标签,绑定datalist  id名称。

五、css3: 优雅降级: 夏总(百达翡丽3千万 ->劳力士 -> 小天才 -> 画个手表) 小夏

       先针对高版本的设备开发,达到完美的功能和视觉效果,
       项目向下兼容,视觉效果或者功能降低       

 渐进增强:
       小李(走路 -> 自行车 ->qq车 ->奥迪 ->劳斯莱斯 ->私人飞机) 李董

       保证基本的功能  ->不断完善

六、新增表单标签

        output
        <form action="" oninput="x.value=parseInt(a.value)+parseInt(b.value)">
            <input id="a" type="range" min="0" max="100">100+
            <input id="b" type="text" value="50">=
            <output name="x" for="a b"></output>
        </form>

七、属性选择符:

    ****1、E[attr]:只使用属性名,但没有确定任何属性值
    ****2、E[attr=“value”]:指定属性名,并指定了该属性的属性值

    3、E[attr~=“value”]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”必须的
    4、E[attr^=“value”]:指定了属性名,并且有属性值,属性值是以value开头的
    5、E[attr$=“value”]:指定了属性名,并且有属性值,而且属性值是以value结束的
    6、E[attr*=“value”]:指定了属性名,并且有属性值,而且属值中包含了value
    7、E[attr|=“value”]:指定了属性名,并且属性值仅是value或者以“value-”开头的值(比如说left-con)


                          day4

一、结构性标签

    1.子元素的类型或者类名一致,采用child方式
    选择符:first-child     匹配子集的第一个元素
    选择符:last-child     最后一个X元素
    选择符:nth-child(n)  用于匹配索引值为n的子元素。索引值从1开始
        取值:n :具体的某个数字
            2n/even: 找到所以偶数
            2n+1/odd: 找到所有奇数

    选择符:only-child这个伪类用的比较少,比如上述代码匹配的是div下的有且仅有一个的p,也就是说,如果div内有多个p,将不匹配
    选择符:nth-last-child(n)  从最后一个开始算索引

    2.子元素的类型或者类名不一致,采用of-type
    选择符:first-of-type    匹配同级兄弟元素中的第一个X元素
​    选择符:last-of-type     最后一个X元素

***** 选择符:nth-of-type(n) 第n个同级兄弟元素X *****

​    选择符:only-of-type      唯一兄弟元素的X
​    选择符:nth-last-of-type(n)     倒数第n个同级兄弟元素X

  3.根标签
    :root   匹配文档的根元素。
     在HTML(标准通用标记语言下的一个应用)中,根元素永远是HTML
      html{}
      :root{}

二、UI元素状态伪类选择符
    E:enabled
        匹配所有用户界面(form表单)中处于可用状态的E元素
    E:disabled
        匹配所有用户界面(form表单)中处于不可用状态的E元素
    E:checked
        匹配所有用户界面(form表单)中处于选中状态的元素E
    E::selection
        匹配E元素中被用户选中或处于高亮状态的部分

 三、动态伪类选择器
    E:link
        链接伪类选择器  
        选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接描点上
    E:visited  
        链接伪类选择器
        选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于链接描点上
    E:active
        用户行为选择器
        选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上
    E:hover
        用户行为选择器
        选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover
    E:focus
        用户行为选择器
        选择匹配的E元素,而且匹配元素获取焦点

四、层级选择器

****父元素>子元素**** 父元素>子元素   		  
                找到当前父元素的第一层的所有子元素!
            
****兄弟元素+兄弟元素**** 相邻兄弟选择器
                找到当前元素后面最近的一个兄弟元素
            
****兄弟元素~兄弟元素****   通用选择器
                找到当前元素后面所有的兄弟元素

五.文本阴影属性
    text-shadow:水平移动的位置 垂直移动的位置  模糊程度 颜色;

六、盒子阴影 box-shadow 
     box-shadow: 水平移动的位置 垂直移动的位置   模糊程度  大小 颜色   inset(内阴影);
                 10px 10px                5px 10px    #888888     inset;

七、文本换行 
  Word-wrap:break-word; 尝试把长单词换到下一行,如果还有超出才会断开
  word-break:break-all; 直接断开

八、颜色模式
    1、rgba 颜色模式
    2、 Hsl 颜色模式(了解) 
    3、 Hsla 颜色模式(了解)
       就是色调(Hue)、饱和度(Saturation)、亮度(Lightness)三个颜色通道的改变以及它们相互之间的叠加来获得各种颜色,色调(Hue)色调最大值360,饱和度和亮度有百分比表示0-100%之间。 a表示透明度,取值为0-1

九、背景属性
   background-origin 背景原点(背景的起始点)
        说明:指定background-origin属性应该是相对位置
        属性值
            padding-box	背景图像填充框的相对位置  默认值
            border-box	背景图像边界框的相对位置
            content-box	背景图像的相对位置的内容框    
            
    background-clip 背景裁切
        说明:background-clip 属性规定背景的绘制区域。
        属性值
            border-box	背景被裁剪到边框盒。
            padding-box	背景被裁剪到内边距框。
            content-box	背景被裁剪到内容框。     默认值
            

*****background-size 背景尺寸 *****

        说明:background-size 规定背景图像的尺寸
        属性值
            固定值	(10px)  规定背景图的大小。第一个值宽度,第二个值高度。
            percentage(%)   以百分比为值设置背景图大小
            cover           等比缩放,把背景图像扩展至足够大,以使背景图像完全覆盖背景区域
            contain         等比缩放,以使其宽度或高度一个方向铺满即停止
        
十、图片边框
     border-image 属性是一个简写属性,用于设置以下属性:

	border-image-source	用在边框的图片的路径
	border-image-slice	图片边框向内偏移(不加单位)
	border-image-repeat	图像边框是否应平铺(repeat)、铺满(round)或拉伸(stretch)
	border-image-outset	边框图像区域超出边框的量(值是一个倍数)

十一、圆角
     border-radius:10px;
        以当前设置的值位半径画圆相切
        border-radius:10px 20px;
                左上角/右下角      右上角/左下角

        border-radius:10px 20px 20px;
                左上角      左下角/右上角   右下角;

        border-radius:10px 10px 20px 20px;
                左上 右上 右下 坐下(左上角顺时针走一圈)

        border-radius:20px  /  50px;
                    第一个值位水平半径,第二个值为垂直半径,画椭圆

        border-radius : 10px 20px 30px 40px / 100px 20px 30px 10px;

十二、width的属性值
     fill-available、fit-content、max-content、min-content

十三、css3事件属性
    pointer-events:none;
      1.阻止默认事件触发
      2.穿透蒙层/模态框



                            day5

一、标准盒模型和怪异盒模型

1.标准盒模型:
    border长在设置的宽高的外面的,padding会撑开盒子的大小
    实际宽高 = 设置的宽高 +padding + border + margin

2.怪异盒模型/ie盒模型:
    触发:box-sizing:border-box;
    borderpadding长在盒子内部
    实际宽高 = 设置的宽高(content+padding+border) + margin
    

二、flex布局:

    作用:控制子元素的布局方式
    显示规则:在主轴上进行排列
    主轴/侧轴:相对而言的概念,如果x为主轴,y就为侧轴;如果y为主轴,x就为侧轴
    设置方式:如果想要控制子元素的布局方式,必须给父元素形成弹性盒

(一)设置给父元素的属性: 
    1.形成弹性盒 display:flex;
        弹性盒默认主轴为x轴,子元素默认排列顺序是从左往右排列
        如果父元素形成了弹性盒,子元素都可以设置宽高
        如果父元素形成了弹性盒,子元素想要水平和垂直居中,子元素设置margin:auto;

    2.改变主轴  flex-direction:
          *row
          *column
          row-reverse
          column-reverse

    3.主轴对齐方式  justify-content:
             *center
            *space-around
            *space-between
            flex-start
            flex-end
            
    4.侧轴对齐方式   align-items:
            flex-start
            flex-end
            center
            baseline  基线
            stretch 拉伸

    5.是否换行 flex-wrap
            nowrap
            wrap
            wrap-reverse

    6.行与行之间的对齐方式 align-content
            flex-start
            flex-end
            center
            space-around
            space-between
            stretch

    7.flex-flow: flex-direction flex-wrap;

(二)子元素属性:
    1.align-self  某一个子元素侧轴对齐方式  
    2.order   默认值是0,数字越大越往后排
****3.flex:1;  主轴剩余空间的完全分配
    4.三个属性
        flex-grow
            一个数字,规定项目将相对于其他灵活的项目进行扩展的量。

**** flex-shrink:0; 不压缩

            一个数字,规定项目将相对于其他灵活的项目进行收缩的量。
        flex-basis
            项目的长度

三、多列布局

    1.column-count:分为几列
    2.column-gap:列间距
    3.column-rule:列边框
    4.column-fill:列高
       属性值: auto
               balance
    5.column-span: 是否横跨所有列
        属性值:none
                all
    6.column-width:列宽
        ps:同时设置列宽和列数时,并不能同时生效

四、响应式 响应式布局: 为了适应不同的设备,非常灵活 不同设备:pc/手机端/平板端/大屏

    响应式布局优势
    所有设备都能显示

    响应式布局劣势
        工作量非常大(css可能要写多套)
    

!!!!flex实现两栏布局!!!!!

<style>
    * {
        margin: 0;
        padding: 0;
    }
  html,body{
      height: 100%;
  }
  body{
      display: flex;
      /* flex-direction: column; */
      flex-direction: row;
  }
  header{
      /* height: 100px; */
      width: 100px;
      background: rgb(192, 255, 206);
  }
  footer{
      /* height: 100px; */
      width: 100px;
      background: rgb(236, 162, 88);
  }
  section{
      background: plum;
      flex: 1;
  }

</style>

!!定位实现两栏布局!!!

 <style>
    *{
        margin: 0;
        padding: 0;
    }
    html,body{
        height: 100%;
    }
    
    header {
        width: 100%;
        height: 100px;
        background: pink;
        position: fixed;
        top: 0;
        left: 0;
    }

    footer {
        width: 100%;
        height: 100px;
        background: pink;
        position: fixed;
        bottom: 0;
        left: 0;
    }

    section {
        height: 100%;
        background: lemonchiffon;
        /* 解决头部和底部被遮盖的问题 */
        padding: 100px 0;
        justify-content:center;
       /* 解决padding会撑开高度 */
        box-sizing: border-box;
        /* 解决背景颜色被划走 */
        overflow-y: auto;           
    }
</style>

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello