当前位置: 首页 > news >正文

个人网页设计作品开题报告网站的seo方案

个人网页设计作品开题报告,网站的seo方案,网站有必要在公安备案,4399网页目 录 一、 HTML 1. .如何理解HTML语义化的? 2. HTML标签有哪些? 3. Canvas 和SVG的区别 二、CSS 1. BFC是什么? 2. 如何实现垂直居中? 3. css选择器 优先级如何确定? 4. 如何清除浮动? 5. …

目     录

一、 HTML

1. .如何理解HTML语义化的?

2.  HTML标签有哪些?

3. Canvas 和SVG的区别

二、CSS 

1. BFC是什么?

2. 如何实现垂直居中?

3. css选择器 优先级如何确定?

4. 如何清除浮动?

 5. 盒模型的区别?

6. display 的 block、inline 和 inline-block 的区别?

7. 对 CSS 工程化的理解? 

三、扩展

3.1 自适应,rem、em、vw的区别

3.2 说一下HTML5 drag API 

3.3 预处理器普遍会具备的特性? 

四、JavaScript

1. 基本类型

 2. 检测数据类型的方式

3. null和undefined的区别

4. 如何判断某对象是空对象?

5. 原型链是什么

6.this的指向

7. new 做了什么 

8.立即执行函数

9.闭包

10. js如何实现类

11. v-if 和v-show 的区别


一、 HTML

1. .如何理解HTML语义化的?

      语义化标签是写HTML的一种方法论。例如段落用P,标题h1--h6,内容用main 等等。明确了HTML书写规范,适合搜索引擎来检索,适合我们阅读,利于团队维护。

2.  HTML标签有哪些?

header、footer、main、video 等等

3. Canvas 和SVG的区别

   Canvas 主要是用笔刷来绘制2D图形,SVG 使用标签来绘制不规则矢量图的。

相同点:都是用来绘制2D图形的。

不同点:

  • Canvas 画的是位图,SVG画的是矢量图;
  • SVG 节点过多时渲染慢,Canvas 性能更好一点,但是吧,写起来比较复杂;
  • SVG支持分层和事件,Canvas 不支持,但可以用库来实现。

二、CSS 

1. BFC是什么?

BFC,块级格式化上下文。

1. 触发BFC的条件【5个】

  •  浮动元素
  • 绝对定位元素
  • 行内块元素
  • overflow 值不是visible的块元素/overflow:hedden
  • 弹性元素,display:flex

2. 解决了什么问题

  • 清除浮动
  • 防止垂直方向上的margin合并

2. 如何实现垂直居中?

  • flex布局 【最优先,使用次数最多】
  • margin-top:50%
  • translate:50%
  • absolute margin auto
  • table 自带属性;
  • div 装成table;(display:table)

3. css选择器 优先级如何确定?

  • 越具体的越优先;
  • 相同的优先级,后面的覆盖前面的;
  • 有!important 的优先级最高

4. 如何清除浮动?

 4.1 给父元素添加.clearfix

.clearfix:after{content:'';display:block;clear:both;
}

4.2  给父元素添加:overflow:hidden 

 5. 盒模型的区别?

标准盒模型是content-box,总宽度=width+margin+padding+border ;

第二种是IE盒模型 border-box,总宽度就是width。

相同点:

 都是用来指定宽度

不同点:

 border-box 更好用

6. display 的 block、inline 和 inline-block 的区别?

(1)block:会独占一行,多个元素会另起一行,可以设置 width、height、margin 和 padding 属性;
(2)inline:元素不会独占一行,设置 width、height 属性无效。但可以设置水平方向的 margin 和 padding 属性,不能设置垂直方向的 padding 和 margin;
(3)inline-block:将对象设置为 inline 对象,但对象的内容作为block 对象呈现,之后的内联对象会被排列在同一行内。

7. 对 CSS 工程化的理解? 

CSS 工程化是为了解决以下问题:
1.宏观设计:CSS 代码如何组织、如何拆分、模块结构怎样设计?
2.编码优化:怎样写出更好的 CSS?
3.构建:如何处理我的 CSS,才能让它的打包结果最优?
4.可维护性:代码写完了,如何最小化它后续的变更成本?如何确保任何一个同事都能轻松接手?我一般会用到预处理器:Less、 Scss 等。

三、扩展

3.1 自适应,rem、em、vw的区别

都是相对单位。

不同点:

  • rem相对html绕开了复杂的层级关系
  • em 相对父麻烦
  • vw 可视窗口1%

3.2 说一下HTML5 drag API 

  • dragstart:事件主体是被拖放元素,在开始拖放被拖放元素时触发;
  • darg:事件主体是被拖放元素,在正在拖放被拖放元素时触发;
  • dragenter:事件主体是目标元素,在被拖放元素进入某元素时触发;
  • dragover:事件主体是目标元素,在被拖放在某元素内移动时触发;
  • dragleave:事件主体是目标元素,在被拖放元素移出目标元素是触 发;
  • drop:事件主体是目标元素,在目标元素完全接受被拖放元素时触发;
  • dragend:事件主体是被拖放元素,在整个拖放操作结束时触发。

3.3 预处理器普遍会具备的特性? 

  • 嵌套代码的能力,通过嵌套来反映不同 css 属性之间的层级关系 ;
  • 支持定义 css 变量;
  • 提供计算函数;
  • 允许对代码片段进行 extend 和 mixin;
  • 支持循环语句的使用;
  • 支持将 CSS 文件模块化,实现复用。

四、JavaScript

1. 基本类型

number、boolean、string、null、undefined、object、symbol、bigint

ps: 对象用为空用unll,非对象为空用undefined

 2. 检测数据类型的方式

  • typeof
其中 数组、对象、null 都会被判断为object
  • instanceof
  • constructor
  • Object.prototype.toString.call()

3. null和undefined的区别

undefined 表示 未定义,null表示空对象。

4. 如何判断某对象是空对象?

  • 使用JSON 自带的stringify 
if(JSON.stringify(aObj)=='{}'){console.log(aObj,'是一个空对象');
}
  • 使用ES6的方法 Object.keys()
if(Object.keys(bObj).length<0){console.log(bOnb,'是空对象');
}

5. 原型链是什么

原型就是一个为对象实例定义了一些公共属性和公共方法的对象模板。 

原型链:是多个原型的集合,或者说 原型链是原型对象创建过程的历史记录。

  •  解决了什么问题?

在没有class的情况下实现[继承]

  • 缺点

不支持私有属性。calss 支持。

6.this的指向

简单来说  this 就是 call 的第一个参数 ,箭头函数没有this

全局作用域指向window
方法中指向所属对象

构造函数调用中

指向实例化对象
  • func(p1,p2) ==func.call(undefined,p1,p2)
  • obj.child.method(p1,p2) ==obj.child.method.call(obj.child,p1,p2)
var obj = {foo: function(){console.log(this) //obj}
}obj.foo()  obj.foo() 等价于obj.foo.call(obj),所以,这里的this 指向obj

7. new 做了什么 

this 是执行上下文中的一个属性,它指向最后一次调用这个方法的对象。
  • 创建临时对象/新对象
  • 绑定原型
  • 指定this=临时对象
  • 执行构造函数
  • 返回临时对象

8.立即执行函数

 声明一个匿名函数,然后立即执行它。这种做法就是立即执行函数。

立即执行函数是为了创建一个局部变量。

优点:兼容性好。

9.闭包

       闭包是一种语法特性。 js的所有函数都支持闭包,「函数」和「函数内部能访问到的变量」的总和,就是一个闭包。

解决了什么问题?

  • 避免污染全局环境;
  • 提供对局部变量的间接访问;
  • 维持变量,使其不会被垃圾回收。

使用不当可能造成内存泄漏。

10. js如何实现类

有两个方法,一种是使用原型,一种是使用calss

class Dog {static kind = '狗' // 等价于在 constructor 里写 this.kind = '狗'constructor(name) {this.name = namethis.legsNumber = 4// 思考:kind 放在哪,放在哪都无法实现上面的一样的效果}say(){console.log(`汪汪汪~ 我是${this.name},我有${this.legsNumber}条腿。`)}run(){console.log(`${this.legsNumber}条腿跑起来。`)}
}
const d1 = new Dog('啸天')
d1.say() 

11. v-if 和v-show 的区别

1.   相同点:都是控制显示隐藏的。

2.   不同点:

    (1) 控制手段不同;

    v-show 是通过display:none来控制隐藏的,dom元素还在;v-if 显示隐藏是讲dom元素整个添加或删除。

     (2)  编译过程不同;

      v-if切换有一个局部编译/卸载的过程,切换过程中合适的销毁和重建内部的事件监听和子 组件;v-show 只是简单地基于css的切换。

     (3) 编译条件不同;

             v-if是惰性的,如果初始条件为假,则什么也不做;只有在条件第一次变为真时才开        始局部编译(编译被缓存?编译被缓存后,然后再切换的时候进行局部卸载);

               v-show是在任何条件下(首次条件是否为真)都被编译,然后被缓存,而且DOM        元素保留。

     (4) 性能消耗;

        v-if有更高的切换消耗;v-show有更高的初始渲染消耗。

     (5)适用场景:

        v-if适合运营条件不大可能改变;v-show适合频繁切换。

http://www.zhongyajixie.com/news/24677.html

相关文章:

  • 建站吧销售管理怎么带团队
  • 淘宝电商网站怎么做成都百度关键词排名
  • 创建网站为啥要钱seo推广顾问
  • 开发公司绩效指标优化营商环境 助推高质量发展
  • 赤坎网站开发公司近期10大新闻事件
  • 网架结构长沙seo推广优化
  • 如何网上建设网站浙江seo关键词
  • 做网站的空间如何推广一个新的app
  • 做一家视频网站吗google推广 的效果
  • 织梦程序来搭建网站保定网站建设报价
  • 嘉定品牌网站建设品牌宣传文案范文
  • 毕节建设局网站成年学校培训班
  • 宁波正规品牌网站设计app地推网
  • 2018年做网站滕州seo
  • 长沙seo优化首选搜索引擎优化seo培训
  • 做公司的网站有哪些东西2020 惠州seo服务
  • 如何做单页网站广告投放平台都有哪些
  • 草桥做网站的公司怎么在百度上发布广告
  • 怎么建设游戏试玩平台网站搭建网站基本步骤
  • 商务网站制作工程师关键词排名推广怎么做
  • 射阳建设网站多少钱百度seo培训
  • 外发加工网是真的桂平seo快速优化软件
  • 扬州专业做网站推广关键词
  • 禅城网站建设哪家好seo快速优化软件
  • 网站制作自助seo公司排名
  • 单网页网站制作百度竞价推广效果怎么样
  • 做蛋糕网站的优点企业qq
  • 采集做网站今日最新新闻
  • 做片头的网站北京关键词排名推广
  • 网站运营建设百度搜索引擎api