美文网首页
h5c3笔记

h5c3笔记

作者: cj_jax | 来源:发表于2018-11-25 11:20 被阅读0次

    1-私有前缀

    谷歌、苹果浏览器:-webkit-  -webkit-transform: rotate(45deg);

    火狐浏览器:-moz-  -moz-transform: rotate(45deg);

    IE浏览器:-ms- -ms-transform: rotate(45deg);

    欧朋浏览器:-o- -o-transform: rotate(45deg);

    2-元素选择器

    id id选择器

    class 类选择器

    标签 标签选择器

    * 通配符

    3-关系选择器

    E F

    父代选择器

    E > F

    子代选择器

    E+F

    相邻选择器

    E~F

    兄弟选择器 E后面的所有F的兄弟

    4-属性选择器

    li[skill]

    选中有skill属性的元素

    li[skill='j']

    选中有skill属性,且值为j的元素

    li[skill^='j']

    选中有skill属性,且值以j开头的元素

    li[skill$='j']

    选中有skill属性,且值以j结尾的元素

    li[skill*='j']

    选中有skill属性,且值任意位置存在j的元素

    li[skill~='j']

    选中有skill属性,且以空格隔开存在值为j的元素

    li[skill|='j']

    选中有skill属性,且以j开头,以-连接,的元素

    5-伪类选择器

    child系列:

    E:first-child

    E的父级元素的第一个子级元素

    E:last-child

    E的父级元素的最后一个子级元素

    E:nth-child(index)

    E的父级元素的任意下标的子级元素

    index的值从1开始

    E:nth-last-child(index)

    从后往前,E的父级元素的任意下标的子级元素

    index从1开始,1代表最后一个元素

    E:only-child

    选中E的父级只有唯一的子集元素

    E是独生子女

    of-type系列

    E:nth-of-type(index)

    查找E的父级元素的任意下标的子级元素,注意必须是E同类型的元素

    E:nth-last-of-type(index)

    查找E的父级元素的任意下标的子级元素,注意必须是E同类型的元素

    E:first-of-type

    查找E的父级元素的第一个的子级元素,注意必须是E同类型的元素

    E:last-of-type

    查找E的父级元素的最后一个的子级元素,注意必须是E同类型的元素

    E:only-of-type

    选中E的父级只有唯一的子集元素,注意必须是E同类型

    E是独生子女

    其他

    input:focus()

    获得焦点的时候

    p:not(:last-child)

    除了最后一个元素之外

    input:checked

    单选或者复选被选中

    input:enabled

    输入框启用

    6-伪元素选择器

    div::after

    在div内部最后面添加一个伪元素

    div::before

    在div内部前面添加一个伪元素

    div::first-letter

    选中第一个文字

    div::first-line

    选中第一行

    div::selection

    被选中的文字

    div::placeholder

    占位文本

    7-查看文档

    [] 表示全部可选项

    ||表示或者

    | 表示多选一

    ? 表示0个或者1个

    * 表示0个或者多个

    {2,3} 表示范围,最多3个,最少2个

    8-文字阴影

    text-shadow

    语法 text-shadow(参数1 参数2 参数3 参数4,参数1

    参数2 参数3 参数4...)

    参数1 水平偏移,自左往右为正,单位px

    参数2 垂直偏移,自上往下为正,单位px

    参数3 羽化值(模糊值),单位px

    参数4 颜色,取值十六进制,英文表示法,rgba

    可以同时写多组

    9-边框阴影(盒子阴影)

    box-shadow

    语法 box-shadow(inset,参数1,参数2,参数3,参数4,参数5);

    inset 可选,写上代表内部盒子阴影渲染

    参数1 水平偏移,自左往右为正,单位px

    参数2 垂直偏移,自上往下为正,单位px

    参数3 羽化值(模糊值),单位px

    参数4 总体延伸值

    参数5 颜色,取值十六进制,英文表示法,rgba

    可以同时写多组

    10-盒子模型

    标准盒子模型

    box-sizing = content-box

    ,默认值

    盒子的大小=width+padding+border

    如果盒子的内容或者padding,或者border发生改变,那么盒子的大小也会发生改变

    怪异盒子模型

    box-sizing = border-box

    自动內减

    盒子的大小=width

    如果盒子的padding或者border发生改变,盒子的大小不变,内容大小发生改变

    /***************************************************/

    1.背景图片的大小 background-size:百分比/像素/contain/cover

    2.背景裁切 background-clip :border-box / padding-box / content-box / text

    3.设置原点的位置 background-origin :border-box /padding-box/content-box

    4.线性渐变

    background-image:linear-gradient()

    取值:to right/left/top/bottom

    默认值to bottom

    例如:background-image:linear-gradient(to right ,red 50% , pink 50%)

    5.径向渐变

    background-image:radial-gradient()

    语法格式background-image:radial-gradient(半径 at 方向,颜色1,颜色2,....)

    半径取值像素

    6.过渡

    transition

    过渡效果:transition-property

    过渡时间:transition-duration

    延迟时间:transition-delay

    设置动画类型:transition-timing-function

    7.2d转换

    transform:scale

    取值scaleX(倍数)/scaleY(倍数)/scale(倍数1)

    整体的缩放

    transform:translate

    平移

    translateX(值)/translateY(值)/translate(水平,垂直)

    子主题 3

    transform:rotate

    旋转

    rotateX/rotateY/rotate(水平,垂直)

    注意点:

    如果取值为正,那么是沿着顺时针的方向,负值沿着逆时针的方向

    transform:skew

    斜切

    skewX/skewY/skew(水平,垂直)

    2d合写问题

    1.transform只能写一个

    2.如果要实现多个旋转,要使用空格隔开

    3.有顺序问题,rotate会改变坐标轴方向

    /******************************************************/

    3d转换

    1.perspective

    视距,能够实现近大远小的效果

    值越大效果越不明显,值越小效果越明显

    一般设置值为1000px

    2. 3d必不可少的属性  transform-style:preserve-3d

    3. perspective和transfor-style的区别

    perspective的属性能实现视距上的近大远小的效果,但不是必须的

    只有设置了transform-style才能使当前元素为3d元素

    4. 过渡结束时事件  transitionend

    /*******************************************************/

    声明单个动画:@keyfrmes 动画名称{

    from{}

    to{}

    }

    声明多个动画 @keyfrems 动画名{

    0%{}

    50%{}

    100%{}

    }

    使用动画:

    选择器{

    animation:动画名称 时长 次数

    }

    animation的属性

    动画名称  animation-name

    动画效果时间 animation-duration

    动画延迟时间 animation-delay

    动画效果 animation-timing-function

    取值  linear  ease  steps

    动画次数  animation-iteration-count

    取值 infinite 无穷, 数值

    动画方向 animation-direction

    取值  normal  from--->to

      reverse to--->from

      alternate from-->to-->from-->to.....

    动画的状态  animation-play-state

    取值  paused 暂停

    结束时状态  animation-fill-mode

    取值 forwards 停留在结束状态(to/100%)

    backwards 停留在开始状态

    both 停留在动画结束状态

    如果动画序列为from ->to 且没有设置其他的参数  both的值和forwards一致

    both的值和forwards的值可能一致,看情况而定

    2.字体图标的使用

    字体图标的原理

    在字体图标的css文件中,使用@font-face定义一个字体,然后又将相应的字体文件和css文件放在一起,这样用户不需要下载和安装字体就能够直接使用了

    优点

    将字体打包成字体库,减少字体的请求

    具有矢量性,不容易失真

    使用灵活,便于维护

    3.flex布局

    弹性布局

    给一个盒子设置display:flex属性,这个盒子被称为弹性盒子,就有了主轴和侧轴之分,可以对其子元素实现弹性布局

    主轴  默认水平向右的方向

    侧轴  默认垂直向下的方向

    flex-direction(父) 调整主轴的方向,默认是水平向右

    取值 row 水平向右 默认

    row-reverse 水平向左

    colum 垂直向下

    colum-reverse 垂直向上

    justify-content(父)用来设置子元素在主轴上的位置

    取值 flex-statr 从左往右

    flex-end 从右往左

    center 主轴居中

    space-around 主轴均分对齐,两端不贴边

    sapce-between 主轴分散对齐,两端贴边

    align-items(父)用来设置单行子元素在侧轴上的位置

    取值 flex-statr 最上面

    flex-end 最下面

    center 中间

    lign-content(父)用来设置多行行子元素在侧轴上的位置

    取值 flex-statr 向上对齐

    flex-end 向下对齐

    center 居中对齐

    space-around 均分对齐不贴边

    space-between 均分对齐,贴边

    flex换行(父) flex盒子默认不换行,只会在主轴上排成一行

    flex-wrap: wrap 换行

    nowrap默认不换行

    align-self(子)设置元素自身的侧轴对齐方式,优先级高于父级设置的

    取值 flex-statr /flex-end/center/space-around/sapce-between

    flex(子) 设置当前子元素,分配主轴的剩余空间

    取值:数字

    order(子)设置排序,值越小越靠前

    取值:数字

    /*****************************************/

    1. ie的条件注释

    <!--[if lte IE 8]>

      <script src="html5shiv.js"></script>

    <![endif]-->

    2.classList操作类名

    添加一个类 div.classList.add('类名');

    移除一个类 div.classList.remove('类名');

    切换一个类 div.classList.toggle('类名');

    是否包含一个类 div.classList.contains('类名');

    3.自定义属性获取的方法

    语法:元素.dataset.名称

    单杠 <div data-url='www.baidu.com'></div>

    div.dataset.url

    多杠 <div data-document-get-element ="chang" ></div>

    获取方式:div.dataset.documentGetElement

    4.网络状态

    online 无网到有网触发

    window.addEventListener('online', function() {

      div.innerText = "你已经回来了"

    })

    offline 有网到无网

    window.addEventListener('offline', function() {

      div.innerText = "你已经进入了没有网络的空间"

    })

    5.地理位置

    navigator.geolocation.getCurrentPosition(function(position) {

          console.log('恭喜你,获取成功了', position)

        }, function(error){

          console.log('获取地理位置失败', error)

        });

    6.web存储的三种方式

    cookie

    设置 document.cookie=“name=changjie”;

    获取 var name = document.cookie('name'); console.log(name);

    sessionStorage

    设置 window.sessionStorage.setItem('age','18');

    获取 window.sessionStorage.setItem('age');

    移除 window.sessionStorage.removeItem('age');

    清空 window.sessionStorage.clear('age');

    localStorage

    设置 window.localStorage.setItem('age','18');

    获取 window.loaclStorage.setItem('age');

    移除 window.loaclStorage.removeItem('age');

    清空 window.loaclStorage.clear('age');

    相关文章

      网友评论

          本文标题:h5c3笔记

          本文链接:https://www.haomeiwen.com/subject/zxhpqqtx.html