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

<!--[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');

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,722评论 1 92
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,303评论 2 66
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,385评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,452评论 0 6
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,727评论 0 2