HTML5的文件离线储存怎么使用,工作原理是什么?
- 离线缓存优点:没有网络的时候可以浏览,加快资源的加载速度,减少服务器负载
- 使用
- manifest.appcache文件配置
- CACHE MANIFEST 放在第一行
- CACHE:表示需要离线存储的资源列表,由于包含 manifest 文件的页面将自动离线存储,所以不需要理出来
- NETWORK:表示在线才能访问的资源列表,如果 CACHE列表也存在,则 CACHE 优先级更高
- FALLBACK:表示访问第一个资源,那么使用第二个资源
- 浏览器如何解析 manifest
- 在线情况下:浏览器发现html头部有 manifest 属性,他会请求 manifest 文件的内容下载相应的资源并且离线存储,如果已经访问过并且存储,那么浏览器使用离线的资源,然后对比新文件,如果没有发生改变,就不做任何的操作,如果文件改变,那么会重新下载并离线缓存
CSS选择器有哪些?哪些属性可以继承?
- 选择器
id 选择器 #header
class 选择器 .container
伪类选择器 ::after
属性选择器 [type="input"]
兄弟选择器 +
后代选择器 >
通配符号 *
- 可继承
- 内联元素继承
- letter-sapce: 字符之间的间隙
- word-sapce: 单词之间的间隙
- white-space:换行方式
- line-height:行高
- color:颜色
- font:字体设置
- font-family:字体名称
- font-variant:是否为小型的大写字母
- font-weight:文本粗细
- font-decoration:复合属性.文本装饰器
- text-transform: 文本的大小写
- direction: 文本流的方法
- 块级元素继承
text-indent:文本缩进
text-align:文本对齐方式
.....
写一个方法把下划线命名转成大驼峰命名
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
<script>
function nameSpace(target, tag = "_") {
if (target.length ==0){
return undefined
}
let match = target.match(/_[a-z|A-Z]/g)
if (!match){
return target
}
let newWord = target
for (let index = 0; index < match.length; index++) {
let value = match[index]
newWord = newWord.replace(value, (word) => {
let lastLetter = word[word.length -1].toUpperCase()
return lastLetter
})
}
return newWord
}
console.log(nameSpace("s_s")) //aaBbcCc_
</script>
</html>
网友评论