1、label是什么标签,有什么作用?和for属性使用的作用?

  • label标签来定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签相关的表单控件上。
  • label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
  • 标签的 for 属性应当与相关元素的 id 属性相同。

    点击文本标记之一,就可以触发相关控件(点击Male就可以选择单选框)
<label for="male">Male</label>
<input type="radio" name="sex" id="male" />
<label for="male">Male</label> <input type="radio" name="sex" id="male" />

2、doctype作用?标准模式与兼容模式有什么区别

!doctype声明位于html文档中的第一行,处于标签之前,告知浏览器用什么文档解析这个文档,doctype不存在或者格式不正确会导致文档以兼容模式呈现

具体区别:

  • 在标准模式中:width等于content的width;在兼容模式中width = content + padding + border;
  • 用margin : 0 auto设置水平居中在ie模式中会失效

3、页面导入样式时,使用link和@import的区别

  • link属于xhtml标签,除了加载css外,还能用于定义rss,定义rel连接属性等作用
  • 页面被加载时,link会被同时加载,而@import引用的css会等到页面被加载完再加载
  • link支持使用js控制dom去改变样式,而@import不支持

4、iframe有哪些缺点

  • iframe会阻塞主页面的onload事件
  • 搜索引擎的检索程序无法解读这种页面,不利于seo
  • 解决方案:最好通过js动态给iframe添加src属性值

5、html5的form如何关闭自动完成功能

给该form或者某个input添加设置为autocomplete = off

6、如何实现浏览器内多个标签页之间的通信

  • websocket通信:html5新增的协议,目的是在浏览器和服务器之间建立一个不受限的双向通信的通道。服务器可以在任意时刻发送信息给浏览器,传统的http协议是一个请求-相应协议,必须先由浏览器发送给服务器请求,服务器才能响应这个请求,再把数据发送给浏览器。
  • 定时器setInterval + cookie : 在页面设置一个定时器不断刷新,检查cookies的值是否发生变化,如果变化就进行刷新的操作
  • localStorage本地储存 : 是浏览器多个标签共用的存储空间,可以用来实现标签之间的通信(sessionStorage是会话级存储空间,每个标签页都是单独的);可以直接在window对象上添加监听;

    window.onstorage = (e) => { console.log(e)}

7、实现不使用border画出1px高的线,并且在不同浏览器的标准模式和怪异模式下都能保持一致的效果

8、css选择器有哪些?哪些属性可以继承

  • 选择器

    1、id选择器(#demo)

    2、类选择器(.demo)

    3、标签选择器(div)

    4、相邻选择器(h1 + p)

    5、子选择器(ul > li)

    6、后代选择器(li a)

    7、通配符(*)

    8、属性选择器(input[type = "radio"])

    9、伪类选择器(a:hover)
  • 可继承的样式:font-size、font-family、color
  • 不可继承的样式:border、padding、margin、height、width

8、css优先级算法如何计算

css选择器 权重
!important infinity(无穷)
行间样式 1000
id选择器 0100
class选择器、属性选择器、伪类 0010
标签和伪元素 0001
通配符 0000

9、display常用的有哪些值以及作用

inline 默认。此元素会被显示为内联元素,元素前后没有换行符,不可设置宽高、同行显示
none 元素不显示,并从文档流中移除
block 块类型。默认宽度为父元素宽度,可设置宽高,换行显示
inherit 规定应该从父元素继承display属性的值
inline-block 行内块元素,可以设置宽高,同行显示

10、简述position有哪些属性值

  • absolute:生成绝对定位的元素,相对与static定位以外的第一个父元素进行定位(脱离了正常的文档流)。
  • relative:生成相对定位的元素,相对于其在文档流中正常的位置进行定位。
  • fixed:生成绝对定位的元素,相对于浏览器窗口进行定位。
  • static:默认值。没有定位,元素出现在正常的文档流中。
  • inherit:规定应该从父元素中继承position的属性值。

web前端开发面试题(附答案)-2的更多相关文章

  1. web前端开发面试题(附答案)-3

    1.用纯css创建一个三角形的原理: .demo{ width:0; height: 0; border: 5px solid transparent; border-left-color: red; ...

  2. web前端开发面试题(附答案)-1

    1.浏览器中输入url到网页显示,整个过程发生了什么 域名解析 发起tcp三次握手 建立tcp连接之后发起htttp请求 服务器端响应http请求,浏览器得到html代码 浏览器器解析html代码,并 ...

  3. Web前端开发面试题赋答案

    第一部分:用CSS实现布局 让我们一起来做一个页面 首先,我们需要一个布局. 请使用CSS控制3个div,实现如下图的布局. 第二部分:用javascript优化布局 由于我们的用户群喜欢放大看页面 ...

  4. web前端开发面试题(答案)

    1.xhtml和html有什么区别? HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:XHTML 元素必须被正确地嵌套.XHTML 元素必须被关闭.标签名必须 ...

  5. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    ##2017.10.30收集 面试技巧 5.1 面试形式 1)        一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2)        面试官喜欢什么样的人 ü  技术好. ...

  6. 【编码题篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    编写一个方法 求一个字符串的字节长度假设:一个英文字符占用一个字节,一个中文字符占用两个字节 function GetBytes(str){ var len = str.length; var byt ...

  7. web前端开发面试题(Vue.js)

    1.active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么获取传过来的动态参数?  ...

  8. Web前端开发面试题

    1. 以下的代码有问题吗?如果有你觉着应该如何修改? for(int i=0; i<list.size(); i++) {  .....  .....  if(...)  {   list.re ...

  9. web前端开发面试题(未完待续)

    一.HTML与XHTML的不同:1)XHTML元素必须被正确地嵌套 2)元素必须被关闭   如:<h1>--</h1>关闭 3)标签名必须用小写字母 4)XHTML文档必须有根 ...

随机推荐

  1. .NetCore从零开始使用Skywalking分布式追踪系统

    本文将从0开妈搭建两个webapi项目,使用Skywalking来追踪他们之间的调用关系及响应时间.开发环境为VisualStudio2019 1:安装Skywalking,可参考:https://w ...

  2. vue-小爱ADMIN系列文章(二):微信微博等分享,国际化,前端性能优化,nginx服务器部署

    最近在做我的小爱ADMIN后台管理系统,结合当前市场后台管理系统对相关功能的需求,我又开始新增了一些新的功能和组件,如分享功能组件,项目国际化功能:项目完成后,部署在nginx服务器,发现首次访问的速 ...

  3. 翻牌动画(CocosCreator)

    推荐阅读:  我的CSDN  我的博客园  QQ群:704621321       在游戏中,有时候为了通过一种有意思的途径,让用户在一些物品中随机获取某种物品,除了前面我们提到的使用大转盘抽奖获得, ...

  4. lua_在C#中执行lua脚本

    方法一:使用DoString 代码为: Lua lua = new Lua();            lua.DoString("a=13");            lua.D ...

  5. 从零开始搭建Java开发环境第二篇:如何在windows10里安装MySQL

    1 下载安装包 1.1 压缩包 https://dev.mysql.com/downloads/mysql/ [外链图片转存失败(img-oesO8K09-1566652568838)(data:im ...

  6. 爬虫工程师分享:三步就搞定 Android 逆向

    本文源于我近期的一次公司内部分享,通过逆向某款 APP 来介绍逆向过程.由于仅作为学习用途,APP 的相关信息会被遮盖,敬请理解. 关于逆向 逆向--包括但不限于通过反编译.Hook 等手段,来解析一 ...

  7. codeforces 761 C. Dasha and Password(多维dp)

    题目链接:http://codeforces.com/contest/761/problem/C 题意:给出n行的字符串每一列都从第一个元素开始可以左右移动每一行字符串都是首位相连的. 最后问最少移动 ...

  8. js 数组方法的作用,各方法是否改变原有的数组

    不会改变原来数组的有: concat()---连接两个或更多的数组,并返回结果. every()---检测数组元素的每个元素是否都符合条件. some()---检测数组元素中是否有元素符合指定条件. ...

  9. HTML5 01. 布局、语义化标签、智能化表单、表单元素/标签/属性/事件、多媒体、类操作、自定义属性

    1.知识点 lang = “en”   所用语言是英文 文档结构更简洁 IE8一下不支持h5c3 书写更宽松 div没有语义 标签语义化:在合适的地方使用合适的标签 对seo优化友谊 网页经典布局 页 ...

  10. 反序列化JSON

    本人编程生涯刚刚起步,以下是个人理解,如果有些不对的地方,请各位在评论区指出,如果有更详细的博客也可以推荐给我. 首先要根据JSON创建一个实体类,并且要实现Serializable接口,再创建一个J ...