0
点赞
收藏
分享

微信扫一扫

每日前端学习第七天2.28

钎探穗 2022-03-11 阅读 91

HTML

1、DOM和BOM有什么区别?

DOM 是 Document Object Model 的缩写。即文档对象模型,遵循 W3C 制定的标准。其本质就是 DOM 元素。
我们最早使用的 document.getElementById 获取到的对象就是 DOM 对象。利用 JS 操作某个 DOM 的颜色、形状、大小都是对 DOM 元素的操作。
在代码上可以理解为 document 开头的方法和属性。

BOM 是 Browser Object Model 的缩写。即浏览器对象模型,这并没有一套规定标准,每个浏览器都有自己的实现。但事实上在大部分主要的功能上都已经形成默契。
BOM 主要操作浏览器的行为,比如 navigator,location,history,storage 都为 BOM 的操作。其根对象是 window,可以理解为 winodw 开头的方法。

借用一张图片来表示 DOM 和 BOM 的关系就是,DOM 在 BOM 之内。

2、说说你对HTML元素的显示优先级的理解

帧元素(frameset) 优先级最高 >>> 表单元素 > 非表单元素,即 input type="radio" 之类的表单控件 > 普通的如 a,div 等元素。

从有窗口和无窗口元素来分,有窗口元素 > 无窗口元素。有窗口元素如 Select 元素、Object 元素。

z-index 属性也可以改变显示优先级,但只对同种类型的元素才有效。

3、html和html5有什么区别呢?

文档声明区别

HTML文档的类型声明为:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
//或
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

HTML5文档的类型声明为:

<!DOCTYPE html>

结构语义区别

HTML:没有体现结构语义的标签,如<div id='nav'></div>

HTML5:添加了许多具有语义化的标签,如:<article><aside><audio>,更利于SEO

相对于HTMLHTML5中新增和修改了一些元素

绘图区别

HTML5:HTML5的canvas素使用脚本(通常使用JavaScript)在网页是绘制图像,可以控制画布上每个像素

音频的视频的支持

HTML:如果不使用Flash播放器支持,它不支持音频和视频

HTML5:使用<audio><vedio>标签来支持音频和视频控制。

4、Standards模式和Quirks模式有什么区别?

默认标准模式。用 { box-sizing: border-box; }来修改

标准盒模型:元素内容宽度=width,元素实际宽度=margin2+border2+padding2+width
怪异盒模型:元素内容宽度=width-border2-padding2,元素实际宽度=margin2+border2+padding2+width=margin2+width

5、用一个div模拟textarea的实现

<!DOCTYPE html>
<html>
<head>
    <title>用一个div模拟textarea的实现</title>
</head>
<style>
.edit{
    width: 300px;
    height: 200px;
    padding: 5px;
    border: solid 1px #ccc;
    resize: both;
    overflow:auto;
}
</style>
<body>
    <h3>用一个div模拟textarea的实现</h3>
      <div class="edit" contenteditable="true">
        这里是可以编辑的内容,配合容器的 overflow ,多行截断,自定义滚动条,简直好用的不要不要的。
    </div>
</body>
</html>

演示地址:https://codepen.io/ansonznl/pen/LozrgK

CSS

1、让网页的字体变得清晰,变细用CSS怎么做?

  1. font-weight + font-family
    font-weight 来控制粗细还是需要看对应的字体有没有对应的变种字体。因此这就和 font-family 相关。

  2. -webkit-font-smoothing
    这个属性是 Chrome 的抗锯齿属性。加上后会显得细一些,但是只针对 webkit 内核的浏览器才有效。

2、说下line-height三种赋值方式有何区别?

line-height 3种设置方式的区别 - 掘金前言:平常写CSS习惯性的写 line-height: 1.5em,也见过类似line-height: 1.5,line-height: 150%这种写法,但是从来没有想过这三者有什么区别,最近突然看到有人提到这个问题,很感兴趣,于是查资料自己尝试了一下。 最后的效果是一样的。…https://juejin.cn/post/6844903556739235848

3、浏览器是怎样判断元素是否和某个CSS选择器匹配?

举报

相关推荐

git学习第七天

JS学习第七天

python(第七天)

第七天bj

Java第七天

HCIP第七天

0 条评论