h5c3笔记

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的条件注释

2.classList操作类名

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

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

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

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

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

语法:元素.dataset.名称

单杠

div.dataset.url

多杠

获取方式: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笔记)