web前端开发中遇到的问题

DOM 节点 :
文档本身就是一个文档对象
所有 HTML 元素都是元素节点
所有 HTML 属性都是属性节点
插入到 HTML 元素文本是文本节点
注释是注释节点
  
HTML:
标签嵌套的顺序要正确
设置超链接:href:用于指定连接目标的url地址
ul标签type值:disc,square,circle
ol标签的type属性,type=a,编号使用英文字母;type=1,使用数字编码;type=I,使用阿拉伯数字编码

CSS:
id选择器(#id)
类选择器(.class)
标签选择器(div)
相邻选择器(h1+p)
子选择器(ul>li)
后代选择器(li a)
通配符(*)

可继承样式:font-size font-family color ul li dl dd dt
不可继承样式:border padding margin width height

div水平居中
给div设置宽度,并使用margin:0 auto
使用绝对定位

position的值relative和absolute定位原点
relative:相对定位,相对于正常位置进行定位
absolute:绝对定位,相对于父元素中最近一个position不为 static定位
fixed:相对于浏览器窗口定位
static:默认,无定位
inherit:继承父元素的定位

DOM和@BOM区别:

DOM文档对象类型,用来获取或设置文档中标签的属性,例如获取或者设置input表单的value值
BOM浏览器对象模型,用来获取或设置浏览器的属性、行为,例如:新建窗口、获取屏幕分辨率、浏览器版本号等
DOM的操作对象是文档(Document),dom和浏览器没有直接关系

js内置对象
数据封装类对象:Object、Array、Boolean、Number 和 String
其他对象:Function、Arguments、Math、Date、RegExp、Error

DOM添加、移除、移动、复制、创建和查找节点
// 创建新节点
createDocumentFragment()    //创建一个DOM片段
createElement()   //创建一个具体的元素
createTextNode()   //创建一个文本节点
// 添加、移除、替换、插入
appendChild()
removeChild()
replaceChild()
insertBefore() //在已有的子节点前插入一个新的子节点
// 查找
getElementsByTagName()    //通过标签名称
getElementsByName()    //通过元素的Name属性的值
getElementById()    //通过元素Id,唯一性

性能优化方法
减少http请求次数:CSS Sprites, JS、CSS源码压缩、图片大小控制合适;网页Gzip,CDN托管,data缓存 ,图片服务器
前端模板 JS+数据,减少由于HTML标签导致的带宽浪费,前端用变量保存AJAX请求结果,每次操作本地变量,不用请求,减少请求次数
用innerHTML代替DOM操作,减少DOM操作次数,优化javascript性能
少用全局变量、缓存DOM节点查找的结果。减少IO读取操作

猜你喜欢

转载自blog.csdn.net/weixin_43512876/article/details/84575005