前端面试题总结——HTML(持续更新中)


前端面试题总结——HTML(持续更新中)

1.什么是HTML?

HTML:HyperText Markup Language超文本标记语言

2.XHTML和HTML有什么区别

HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的标记语言

3.简述一下你对HTML语义化的理解?

html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析;

前端学习圈:767273102 ,从最基础的HTML+CSS+JavaScript。jQuery,Ajax,node,angular等到移动端HTML5的项目实战的资料都有整理

4.浏览器页面有哪三层构成,分别是什么,作用是什么?

浏览器页面构成:结构层、表示层、行为层
分别是:HTML、CSS、JavaScript
作用:HTML实现页面结构,CSS完成页面的表现与风格,JavaScript实现一些客户端的功能与业务。

5.Doctype作用?严格模式与混杂模式如何区分?

(1)作用:用于告知浏览器的解析器用什么文档标准解析这个文档。
(2)区分:如果HTML文档包含形式完整的DOCTYPE,那么他一般以标准模式呈现。DOCTYPE不存在或者格式不正确会导致文档已混杂模式呈现。

6.Quirks模式是什么?它和Standards模式有什么区别

区别:
总体会有布局、样式解析和脚本执行三个方面的区别。
盒模型:在W3C标准中,如果设置一个元素的宽度和高度,指的是元素内容的宽度和高度,而在Quirks 模式下,IE的宽度和高度还包含了padding和border。
设置行内元素的高宽:在Standards模式下,给<span>等行内元素设置wdith和height都不会生效,而在quirks模式下,则会生效。
用margin:0 auto设置水平居中:使用margin:0 auto在standards模式下可以使元素水平居中,但在quirks模式下却会失效。

7.页面导入样式时,使用link和@import有什么区别?

(1)作用不同:link属于XHTML标签,除了加载CSS外,还能用于定义RSS, 定义rel连接属性等作用;br/>而@import是CSS提供的,只能用于加载CSS;
(2)加载不同:页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;
(3)兼容不同:import是CSS2.1 提出的,只在IE5以上才能被识别,而link是XHTML标签,无兼容问题;

8.知道的网页制作会用到的图片格式有哪些?

Webp:WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。
并能节省大量的服务器带宽资源和数据空间。Facebook Ebay等知名网站已经开始测试并使用WebP格式。
Apng:是PNG的位图动画扩展,可以实现png格式的动态图片效果,有望代替GIF成为下一代动态图标准。

9.文本标记

1.特殊字符
  1.&nbsp; 表示一个空格
  2.&lt; 表示一个<
  3.&gt; 表示一个>
  4.&copy; 表示版权
  5.&yen; ¥
2.文本样式
  1.<b></b> :加粗
  2.<i></i> :斜体
  3.<u></u> :下划线
  4.<s></s> :删除线
  5.<sup></sup> :上标
  6.<sub></sub> :下标

10.什么是锚点

 锚点就是网页中一个记号,可以通过超级链接跳转到该记号位置处。
 1.定义锚点
    1.使用a标记的name属性定义锚点
      <a name="锚点名称"></a>
    2.使用任意标记的id属性定义锚点
      <ANY id="锚点名称"></ANY>
 2.链接到锚点
      <a href="#锚点名称">本页面</a>
      <a href="url#锚点名称">其它页面</a>

11.div+css的布局有什么优点?

(1)改版的时候更方便 只要改css文件。
(2)页面加载速度更快、结构化清晰、页面显示简洁。
表现与结构相分离。
(3)易于优化(seo)搜索引擎更友好,排名更容易靠前。

12.行内元素有哪些?块级元素有哪些? 空(void)元素有那些?

首先:CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,如div的display默认值为“block”,则为“块级”元素;span默认display属性值为“inline”,是“行内”元素。
(1)行内元素有:a b span img input select 
(2)块级元素有:div p ul ol li dl dt dd h1-h6
(3)常见的空元素:br-换行,hr-水平分割线;

13.iframe有那些缺点?

1.iframe会阻塞主页面的Onload事件,会影响页面的并行加载;
2.搜索引擎的检索程序无法解读这种页面,不利于SEO;
改进:通过javascript动态给iframe添加src属性值,这样可以绕开以上两个问题。

14.Label的作用是什么?是怎么用的?

label标签来定义表单控制间的关系,当用户选择该标签时,浏览器会自动将焦点转到和标签相关的表单控件上。

15.隐藏元素的几种方法

(1)display:none;
(2)visibility:hidden;
(3)opacity:0;
(4)position:absolute; left:-10000px;

16.简述一下src与href的区别。

src用于替换当前元素,href用于在当前文档和引用资源之间确立联系。

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

<div style="height:1px;overflow:hidden;background:red"></div>

18.如何给背景图片加上超链接

<div class="swiper-slide " 
style='background:#dedede url() no-repeat center center;background-size:contain'>
    <a  class="banner-a"rel="nofollow" href="#"></a>
</div>

.banner-a{
      width:100%;
      height: 8rem;
      display: inline-block;
}    

19.清除浮动的方法有哪些?

第一种:clear:both

在父元素的里面添加一个空的clear的div(跟浮动的子级同级),然后再为这个类添加属性值clear:both;便可以清除浮动。

第二种:overflow:hidden

在父元素的样式中添加overflow: hidden;也可以清除浮动,如下css代码,但不提倡使用这个方法,overflow: hidden;还有一个意思就是隐藏超出的部分,处理不好还是会给页面带来麻烦。

第三种:clearfix(推荐使用)

1.在父集元素类名中添加 clear-fix
2.写伪类样式

<style>  
.clear-fix::after {
   content:""; 
   display: block; 
   clear:both; 
}
</style>

<div class="header-line clear-fix">
            <div class="header-logo">
                <a class="logo"href=" https://www.meisaas.com/index.html">样式方案</a>
            </div>
</div>