我盆友的学习笔记,记得挺详细的 部分摘自博友

HTML5    CSS3   部分css属性或标签

1、 <!DOCTYPE   html>   文档类型声明,告诉浏览器如何渲染html

     <html lang="en"> 页面为什么语言

 

 

 

2、html5与html4有什么不同?

  头部声明;  

   语义化标签,更人性化,更生动;header  nav  section aside article footer address等

3、<meta charset="UTF-8"> 字符编码

  <meta http-equiv="X-UA-Compatible"   content="IE=edge,chrome=1"/>各种IE的兼容性设置      优先使用IE最新版和Chorme
      <meta name="viewport"   content="width=device-width,initial-scale=1,minmum-scale=1,maximum-scale=1,user-scalable=no"/>  创建一个虚拟的窗口    窗口宽度为设备宽度     初始缩放比例   最小缩放比例   最大缩放比例     是否允许缩放比例

  width=640(微信常见)   user-scalable=no,禁止缩放,默认是yes

5、 a,img{

    -webkit-touch-callout:none}  //禁止长按超链接或图片弹出菜单kk

  html,body{

    -webkit-user-select:none;

    user-select:none;}  //禁止选中文本

  button,input,optgroup,select,textarea{

    -webkit-appearance:none;}  //去掉webkit默认的表单样式    如果不去掉在IOS中不会改变样式

  a,button,input,optgroup,select,textarea{

    -webkit-tap-highlight-color:rgba(0,0,0,0)};//去掉a,input,和button点击时的蓝色外边框和灰色半透明背景; 浏览器支持IOS

6、 input::-webkit-input-placeholder{

    color:yellow;} //修改-webkit   placeholder样式

  input:focus::-webkit-input-placeholder{

    color: #foo} //input:focus 获得焦点时 placeholder样式

  input::-webkit-input-speach-button{

    display:none;}  //隐藏Android的语音输入按钮

7、 body{

    -webkit-text-size-adjust: 100% !important}//禁止IOS调整字体大小;

    默认就随着终端改变字体,如果body设成全局或者继承就会随着终端改变,不要设成全局或者继承的

  -webkit-text-size-adjust:none ; 禁用webkit内核浏览器文字调整大小

8、 audio音频   video视频   canvas画布   svg本地存储地理定位

 

  chrome/360极速版/苹果ios/搜狗浏览器    内核 webkit

  火狐内核 MOZ      兼容opera前缀 -o   兼容IE内核  -ms

9、sass/scss  预处理器,用于书写css样式,预编译

  继承: extend 

  使用sass时,继承是一个很不错的减少css重复代码的功能。继承可以让一个选择器继承另一个选择器所有的样式,并联合声明。

  方法: @extend 除了包含和群组以外的样式都已用来继承

10、sass

    后缀名: scss 和sass 两个功能一样、

    输出样式的风格有四种,默认为nested

        nested:嵌套缩进的css代码

        expanded:展开多行的css代码

        compact:简洁格式的css代码

        compressed: 压缩后的css代码

    变量以$开头    !default默认值

        如果在字符串中引用变量,则需要将变量名字在 #{}中

        默认变量只需在变量值后加上 !default

    嵌套中的&表示父元素选择器。

        css属性页可以嵌套(用的较少)

    混合器:@mixin     调用@include

    占位符选择器: %

        占位符选择器的优势在于声明后,如果不调用则不会产生类似。

        .text的多余css代码,占位选择器通过%标示来定义,也通过@extend来调用 

        %名字{样式}   调用 @extend %    

    运算:      Sass 中,运算只是其基本特性之一。sass做加法运算是可以不考虑参数带单位,但需要单位同一,加号可以不需要空格隔开;

          减法注意空格;       乘法只需一个乘数带单位(否则会出错),em/px/%等多种单位;   

          做除法,css中“/”已经作为一个符号,不会报错 。做为除法: 函数,变量,表达式的一部分,圆括号包裹,例width: (100px/2);

        做除法时两个都带单位时,得到的值没有单位。

              详细案例请参观博客:http://www.cnblogs.com/Medeor/p/4966952.html

        数字: 如1,2,13,10px   (如果带单位,单位需同一)

        字符串拼接(+): 

          p::before{

                 content: "hello" + -world ;

                font-family: sans- + "serif"; }

          输出结果:

          p::before{

              content: "hello-world";

              font-family:  sans-serif;}

        颜色: 如: blue    #04a3fg(分段计算,红绿蓝rgb)   rgba(255, 0,0,0,5);   

        布尔型:例 true ,false

        空值: 例 null 

        值列表: 用空格或逗号分开     nth-child(index)    nth-of-type(index)

   循环:

      $for  $i  from <start> through <end>   

 

      $for  $i  from <start> to <end>    区别:   to 和 through区别  包含最后一个值?     through包含

      用法:   $for  $i  from 1  to 3{

          .item-#{$i} {

              width: 2em*$i}

          }

      输出:   .item-1{ width: 2em}       .item-2{width: 4em}    .item-3{width: 6em}

       总结 $i 是变换的值     .item-${$i}#{1}    输出  .item-11      .item-21     .item-31    变换十位数

     @while循环

        用法:  

          $types: 3 ;  $type-width: 20px

          @while  $types >0{

            .while-#{$types}{

              width:  $type-width + $types;   (加号 拼接)

            }

            $types: $types-1;

          }

       输出结果:

          .while-3{ width: 23px}    .while-2{width: 22px}    .while-1{width: 21px}

     @each 循环

      遍历一个列表,从列表中取值;(数组或对象)

      循环指令的形式:  @each  $var  in  <list>

      $list: adam john wynn mason kuroir;//$list 是一个列表
      @mixin author-images { 
           @each $author in $list {
               .photo-#{$author} {
                      background: url("/images/avatars/#{$author}.png");}
          }
      }

     .author-bio {
          @include author-images;}

      输出:

        .author-bio .photo-adam {
            background: url("/images/avatars/adam.png"); }
        .author-bio .photo-john {
            background: url("/images/avatars/john.png"); }
        .author-bio .photo-wynn {
            background: url("/images/avatars/wynn.png"); }
        .author-bio .photo-mason {
            background: url("/images/avatars/mason.png"); }
        .author-bio .photo-kuroir {
            background: url("/images/avatars/kuroir.png"); }

11、CSS3动画

  过渡动画  transition: name duration easing delay

          (transition-name   transition-duration   transition-timing-function   transition-delay )

        name 动画的属性或样式(width,color),不写或设置为all   ,表示要过渡所有发生了改变的属性;过渡多个属性,属性与属性之间用逗号        隔开;

        duration:定义过渡效果执行时间   m/ms

        easing: 动画曲线     ease-out 由快到慢      linear:匀速(默认)   ease-in-out慢快慢     ease-in:由慢到快

    注意: transition 不要出现在hover里伪类

        例:  -webkit-transition:  width  1.5s  ease-in   0.5s(延迟执行)     超过两个时用all   

  animation关键帧动画

        animation-interation-count 元素动画的循环次数   默认值1; infinite无限循环

        animation-direction:  元素动画播放的方向,(是否允许反向播放); alternate动画播放在第偶数次向前播放,第奇数次反方向  

        @keyframes 关键帧,用于引出(创建)一个动画  @keyframes animationname {keyframes-selector {css-styles;}} 

                    @keyframes name1{ from{};to{};}   @keyframes name2{0%{}; 50%{}; 100%{}}

  css3中的动画框架:  animate.css

            使用方法:  <div class="animate   zoomIn">进入放大的动画</div>

            常用的动画类型:   bounce弹跳; flip 掷; flash闪现;  shake震动发抖,  swing秋千悬挂,    wobble摇摆摇晃;  ring环形;                       fadeIn淡入   fadeout淡出    rotate翻转

 

  

  transform:  translate() /scale() / skew()/ rotate() 主要对元素进行2D转换    translateX()   translateY()等  后面几个属性也一样

        transform-origin: x    y;    定义rotate旋转,skew倾斜和scale缩放中心点;

            x,y可以使具体数值/百分比/(left,top,right,bottom);

           默认在 元素的中心点上;    中心点的改变 对translate位移没有影响

  transform:  translate3d() / scale3d() / skew3d() / rotate3d() 3D转换  此时会开启硬件加速

        translate()位移,是占位的      scale() 缩放    skew()扭曲     rotate(60deg)旋转 单位 deg

  vertical-align: middle   控制文字和图片居中对齐的方法    注意: 一行中文字也有图片用定位做(对齐的基线默认 baseline,图片一般较大,需要下移一下)

      手机端要建立一个大盒子,宽度100%,高度 auto

      $list : red  blue  green  orange   #fff   #000;    background:nth($list,3)

  box-sizing: border-box   盒子的width和height 包含边框(content-box ==border-box)

  鼠标状态: cursor: pointer手的状态/ move可移动状态 / wait转圈状态(加载状态)

  box-shadow: x偏移   y偏移   模糊度   颜色   inset     (内阴影)

  相对单位:  rem  ,em;  

      区别: rem 相对于根元素html的字体大小。doc默认的是 16px;  html{ font-size: 625%;body{font-size: .14rem}}  谷歌不支持小于12px           的字体。  (不继承父元素的大小)                                         100px==1rem        不继承字体大小,先定义一个全局的

         em: 相对于父元素,且字体大小可以继承的。

  before 和 after伪类  

      在选择器前后定义样式或添加新元素

      选择器::before{ 

            content:"文字",

            display:table;  //其他css样式}

      选择器::after{

            content:"wenzi",

            display: table;  //其他css样式  }

  字体库:   网址: http://icomoon.io 

      字体模块   @font-face     把自定义的web字体,嵌入到你的网页中,当用户电脑上没有此种字体时,自动从网上下载。

      用法:     字体类型:  .woff()      .ttf和.otf     .eot(IE9only)      .ttf(True Type字体)和.otf(OpenType)    EOT (Embedded OpenType)

          @font-face{

              font-family: 字体名称(自定义),

              src: url("自定义字体路径,相对/绝对"),

                ,url('font.eot'); /* IE9 */     //IE9只支持  .eot格式的字体}

           注:Internet Explorer 9 只支持 .eot 类型的字体, Firefox, Chrome, Safari, 和 Opera 支持 .ttf 与.otf 两种类型字体.

             Internet Explorer 9+, Firefox, Chrome, Safari, 和 Opera 支持 WOFF (Web Open Font Format) 字体.

               Internet Explorer 8 及更早IE版本不支持@font-face 规则.

          .woff  是web中最佳格式         .eot是IE专用字体       .svg是基于svg字体渲染的一种格式 

         字体的调用:  h1{font-famify: "字体名字"}

14、弹性盒(伸缩盒)

    由于老伸缩盒(09年 ),与新伸缩盒差异大,只说新盒子(11年);

    向内挤压:   -webkit-box-sizing: border-box

      新盒子::

        display: -webkit-flex

        flex-direction: row | row-reverse | column | column-reverse   排列方式

        flex:none | <' flex-grow '> <' flex-shrink >'? || <' flex-basis '>

          -webkit-flex-grow: 分配父元素剩余空间扩展比率

          flex-sharink: 按比例收缩比率

          flex-basis: 伸缩基准率

          flex-basis: length | percentage | auto默认 | content内容自动计算宽度

          flex-flow:<' flex-direction '> || <' flex-wrap '>  子元素的排列方式 | 是否多行

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

            space-between:第一个元素靠左边界,第二个元素靠右边界,中间默认是平均分配

            space-around: 两两之间的空白空间相等,同时第一个元素的空间以及最后一个元素的空间为其他空白空间 的一半

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

          stretch :  使项目边距盒的尺寸,接近所在行的尺寸,但同时会遵照  min/max- width|height 属性的限制

    弹性盒子是否换行:

      flex-wrap: nowrap | wrap | wrap-reverse   

        默认是nowrap容器为单行,该情况下子项可以能会溢出容器

        wrap: 定义flex容器为多行,子项内容可能会断行

        wrap-reverse: 反转 wrap 排列

        说明:该属性控制是单行或是多行,同时横轴的方向决定了新行堆叠的方向

    

    

 

    l    

 

  

        

    

  

  

  

      

        

  

  

              

  

  

 

posted @ 2018-08-18 22:48  铁塔  阅读(148)  评论(0编辑  收藏  举报