美文网首页
前端随机问答(一)

前端随机问答(一)

作者: 沃夫_ | 来源:发表于2019-06-13 17:04 被阅读0次

Q:浏览器的内核分别是什么?

浏览器 内核
IE trident内核
Firefox gecko内核
safari webkit内核
opera 以前是presto内核,现在改用google chrome的Blink内核
Chrome Blink(基于webkit,google与opera software共同开发)

Q:行内元素有哪些?块级元素有哪些?空(void )元素有哪些?

类型 元素
行内元素 a、b、span、img、input、strong、select、label、em、button、textarea、...
块级元素 div、ul、li、dl、dt、dd、p、h1-h6、blockquote、...
空元素 即系没有内容的HTML元素,例如:br、meta、hr、link、input、img、...

Q:DOCTYPE的作用?严格模式与混杂模式如何区分?它们有什么意义?

  • <!Doctype> 声明必须在文档的第一行,它并不是一个html标签;
    <!Doctype> 声明叫做文件类型定义(DTD),作用是为了告知浏览器该文件的类型,让浏览器知道以何种规范来对文档进行解析;
  • 严格模式:又称标准模式,是指浏览器按照 W3C 标准解析代码。
    混杂模式:又称怪异模式或兼容模式,是指浏览器用自己的方式解析代码。
    浏览器解析时到底使用严格模式还是混杂模式,与网页中的 DTD 直接相关。
    1、如果文档包含严格的Doctype,那么它一般以严格模式呈现;
    2、包含过渡DTD和URL,也已严格模式呈现,只有过度DTD,没有URL会导致混杂模式呈现;
    3、<!Doctype>不存在或形式不正确,会导致文档以混杂模式呈现;
    4、HTML5没有DTD,因此也没有严格和混杂模式的区分,且有相对宽松的语法,已经尽最大的可能实现向后兼容;
  • 严格模式和混杂模式,相信存在即合理,他们存在的意义与两者的来源密切相关,如果只有严格模式,那么很多老旧浏览器必然会受到影响,如果只存在混杂模式,每个浏览器都有自己的解析模式,这样就又回到了浏览器大战的混乱时代;

Q:CSS的盒子模型?

  • 盒模型有两种
    -- IE盒模型:content 包含border和padding;
    -- 标准盒模型:内容(content)、填充(padding)、边界(margin)、 边框(border)。

Q:语义化的理解

  • 用正确的标签做正确的事情,html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;
  • 即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的;
  • 搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO;
  • 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。
1、常用的一些语义化标签  
   <h1>~<h6> ,作为标题使用,并且依据重要性递减,<h1> 是最高的等级。
   <p>段落标记,知道了 <p> 作为段落,你就不会再使用 <br /> 来换行了,而且不需要 <br /> 来区分段落与段落。<p> 中的文字会自动换行,而且换行的效果优于 <br />。段落与段落之间的空隙也可以利用 CSS 来控制,很容易而且清晰的区分出段落与段落。
   <ul>、<ol>、<li>,<ul> 无序列表,这个被大家广泛的使用,<ol> 有序列表不常用。在 Web 标准化过程中,<ul> 还被更多的用于导航条,本来导航条就是个列表,这样做是完全正确的,而且当你的浏览器不支持 CSS 的时候,导航链接仍然很好使,只是美观方面差了一点而已。
   <dl>、<dt>、<dd>,<dl> 就是“定义列表”。比如说词典里面的词的解释、定义就可以用这种列表。dl不单独使用,它通常与dt和dd一起使用。dl开启一个定义列表,dt表示要定义的项目名称,dd表示对dt的项目的描述。
   <em>、<strong>,<em> 是用作强调,<strong> 是用作重点强调。
   <table>、<thead>、<tbody>、<td>、<th>、<caption>, 就是用来做表格不要用来布局        

2、HTML5新增
   header元素:header 元素代表“网页”或“section”的页眉。
   footer元素:footer元素代表“网页”或“section”的页脚,通常含有该节的一些基本信息,譬如:作者,相关文档链接,版权资料。
   hgroup元素:
   nav元素:nav元素代表页面的导航链接区域。用于定义页面的主要导航部分。
   aside元素:aside元素被包含在article元素中作为主要内容的附属信息部分,其中的内容可以是与当前文章有关的相关资料、标签、名次解释等。(特殊的section)
   section元素:section元素代表文档中的“节”或“段”,“段”可以是指一篇文章里按照主题的分段;“节”可以是指一个页面里的分组。section通常还带标题,虽然html5中section会自动给标题h1-h6降级,但是最好手动给他们降级。
   article元素:article元素最容易跟section和div容易混淆,其实article代表一个在文档,页面或者网站中自成一体的内容,其目的是为了让开发者独立开发或重用。譬如论坛的帖子,博客上的文章,一篇用户的评论,一个互动的widget小工具。(特殊的section)除了它的内容,article会有一个标题(通常会在header里),会有一个footer页脚。

Q:写一段语义的HTML5代码

<body>
  <header><h1><a href='/'><img src='logo.png' /></a></h1>这是页头</header>
  <nav>
    <a href="/html/">HTML</a> |
    <a href="/css/">CSS</a> |
    <a href="/js/">JavaScript</a> |
    <a href="/jquery/">jQuery</a>
 </nav>
  <div class="container">
    <aside>
      这是左侧边栏
    </aside>
    <div class="content">
      这是内容区域
    </div>
  </div>
  <footer>这是页脚</footer>
</body>

Q:CSS引入的方式有哪些? link和@import的区别是?

  • 有 4 种方式可以在 HTML 中引入 CSS:
    1⃣️内联方式: <div style="background: red"></div>
    2⃣️嵌入方式: <style>.content {background: red;}</style>
    3⃣️链接方式: <link rel="stylesheet" type="text/css" href="style.css">
    4⃣️导入方式: <style>@import url(style.css);</style>
  • link和@import都是外部引用CSS的方式,但有区别:
    1、link是XHTML标签,除了加载CSS外,还可以定义RSS、rel等其他事务;@import属于CSS范畴,只能加载CSS。
    2、link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载
    3、link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
    4、ink支持使用Javascript控制DOM去改变样式;而@import不支持。

Q: cookie和session的区别

  • cookie数据存在客户的浏览器上,session数据存放在服务器端;
  • cookie不安全;
  • session会在一定时间内保存在服务器端,访问增多,占用服务器性能;
  • 单个cookie保存的数据不超过4K;

Q:居中显示DIV

<div class="box" style="
    width: 200px;
    height: 200px;
    background: green;
    position: absolute;
    top: calc(50vh - 100px);
    left: calc(50vw - 100px);
    // top:50%;
    // left:50%;
    // transform:translate(-50%,-50%);
">
</div>
<div style="
    display: flex;
    justify-content: center;
    align-items: center;
    height: 500px;
    width: 500px;
    background: bisque;
">
    <div class="box" style="
        width: 200px;
        height: 200px;
        background: green;
     "></div>
</div >
<div style="
    width: 100px;
    height: 100px;
    float: left;
    background: red;
    margin-left: calc(50vw - 50px);
    margin-top: calc(50vh - 50px);
"></div>

Q:请描述一下 cookies,sessionStorage 和 localStorage ?

  • 共同点:三者都保存在浏览器端,且同源;
  • 不同点:
    i、cookie始终在同源的http请求中携带,在客户端和服务端来回传递;
    ii、sessionStorage和localStorage仅把数据保存在本地,cookie数据有路径概念,可以限制cookie只属于某个路径下面;
    iii、存储大小限制不同,cookie数据不超过4k,因为每次http请求都会携带,所以cookie只适合存储较小的数据;sessionStorage和localStorage虽然也有限制,但是比cookie大的多得多,一般可以达到5M或者更大;
    iV、作用域不同,sessionStorage不会在不同的浏览器窗口中共享,localStorage和cookie在所有的同源窗口下都是共享的;
    V、数据有效期不同,sessionStorage只会在当前窗口关闭前有效,不会持久保存;localStorage存储的数据始终有效,窗口或浏览器关闭的情况下也会一直保存,可用作持久数据;cookie在设置的过期时间之前会一直有效,窗口或浏览器关闭的情况下也会一直保存;
    Vi、webStorage支持事件通知机制,可以将数据更新的通知发送给监听者;
    Vii、webStorage的API接口相对cookie使用起来更为方便;

相关文章

  • 前端随机问答(一)

    Q:浏览器的内核分别是什么? Q:行内元素有哪些?块级元素有哪些?空(void )元素有哪些? Q:DOCTYPE...

  • 前端随机问答(二)

    Q:判断数据类型的几种方法 typeof constructor Object.prototype.toStrin...

  • 2020-08-03

    前端小白,初来乍到。封装了几个基础方法。希望大佬们指点! 随机区间数方法 随机颜色方法 num位随机混合验证码方法...

  • WEB(2)

    Task2 Version-2 一、问答 1 前端职能: 将网页的视觉、交互效果、基本功能通过Web前端技术<狭义...

  • 前端学习任务二

    问答 前端是做什么的?互联网职位有哪些常见的简称(如PM…) 前端是做什么的前端是指利用HTML、CSS、java...

  • 前端

    问答 1.前端是做什么的?互联网职位有哪些常见的简称(如PM...)? 前端开发是从网页制作演变而来的,前端工程师...

  • 蚂蜂窝

    1.高级前端研发工程师(社区业务) 岗位职责】 1. 社区各个业务 - 游记、问答、用户系统、运营活动的业务前端开...

  • WEB相关知识

    问答 1.前端是做什么的?互联网职位有哪些常见的简称? 1.前端是做什么的 前端主要是是根据web产品的需求,使用...

  • 第一弹-web 相关知识的了解

    问答: 一、前端是做什么的?互联网职位有哪些常见的简称(如PM…) 1.前端的三大宝典 HTML、CSS和Java...

  • 任务2

    问答 前端是做什么的?互联网职位有哪些常见的简称(如PM…)前端工程师主要是利用HTML、CSS、JavaScri...

网友评论

      本文标题:前端随机问答(一)

      本文链接:https://www.haomeiwen.com/subject/dphjfctx.html