• 1. 什么是HTML?
  • 2. 用过什么调试器(浏览器),编辑器?
  • 3. HTML4.0 和 HTML5.0 的区别?
  • 4. 手写 HTML 代码
  • 5. 元素类型有哪些(display有哪些属性)?块元素、行元素和行内块元素的区别?你能分别写出多少个块元素、行元素?
  • 6. a标签 中的两个重要属性是什么,分别用来干什么?
  • 7. 什么是相对路径、绝对路径?
  • 8. form 中 name 有什么作用?
  • 9. form 表单中 get 和 method 请求的区别?
  • 10. 创建样式表有哪几种方式,分别怎么写?
  • 11. link 和 import 的区别
  • 12. css 有哪些选择器?这些选择器的权重分别是多少?
  • 13. 让块元素居中
  • 14. 让行元素居中
  • 15. 让图片居中
  • 16. overflow 有哪些属性,默认属性是什么?float 有哪些属性?高度塌陷的解决办法是什么?
  • 17. px、em、rem之间的区别
  • 18. background-repeat 有哪些属性值?
  • 19. 图片常用格式以及区别?
  • 20. 定位属性有哪些?区别是什么?
  • 21. 什么是“盒模型”?画出盒模型,并写出盒模型的宽。
  • 22. 图片整合的优势有哪些?
  • 23. 隐藏一个元素的方法有哪些?
  • 24. 什么是 BFC,有什么作用?
  • 25. 用代码写出几种后台布局(单飞、双飞/圣杯、后台管理)
  • 26. 常用的浏览器及内核、兼容前缀
  • 27. PC 浏览器前端优化策略
  • 28.表格行分组有哪几个标签
  • 29.怎么去除换行产生的空格?

1. 什么是HTML?

HTML 是超文本标记语言。XHTML 指可扩展超文本标记语言(标识语言)。HTML5 指的是HTML的第五次重大修改。

2. 用过什么调试器(浏览器),编辑器?

调试器:火狐浏览器(FireFox),谷歌浏览器(Chrome),IE浏览器。
编辑器:Dreamweaver、HBuild、vsCode

3. HTML4.0 和 HTML5.0 的区别?

(1)更简单;
(2)标签的语义化;
(3)语法更宽松;
(4)多设备跨平台;
(5)自适应网页设计;
(6)兼容性: html4+css2.0 兼容 ie6/7/8,html5不能兼容ie6/7。

4. 手写 HTML 代码

<!-- head标签里面可以放<title>, <style>,<meta>, <link>, <script>, <noscript>, and <base>  -->
<!doctype html> <!--- 声明。告诉浏览器这是html5版本的写法 ---->
<html><head> <!---页头、也叫“站头”,网站头部 ---><meta charset="UTF-8" /> <!---- 翻译国际编码。识别中文,不加这个会乱码 -----><title></title> <!---- 网站名,中文名不合适 ----></head><body></body> <!--- 主体部分 --->
</html>

5. 元素类型有哪些(display有哪些属性)?块元素、行元素和行内块元素的区别?你能分别写出多少个块元素、行元素?

(1)元素类型:
常用的有4中:不显示元素( none 默认),块元素(block)、行元素(inline)、行内块元素(inline-block);

(2)区别以及标签:

名称 块元素 行元素 行内块元素
区别 1. 天生能换行的元素,独占一行,每一个块状元素都会从新的一行重新开始,从上到下排布;
2. 在不设置宽度的情况下,块元素的宽度是它父级元素内容的宽度;
3. 在不设置高度的情况下,块级元素的高度是它本身内容的高;
4. 可以直接控制宽度、高度以及盒子模型的相关css属性
天生不能换行的元素 天生不能换行但能设置宽高的元素
标签 h1-h6<p><br/>&nbsp<hr/><ul>和<li><ol>和<li><dl> <dt> <dd>div <b><i><u><strong><em><s><span><a> <img><input><textarea>

(3)元素转换通过 display

6. a标签 中的两个重要属性是什么,分别用来干什么?

<!-- a标签中的两个重要属性 --->
<!-- href超链接属性,target="_blank"新窗口打开 -->
<a href="www.baidu.com" target="_blank"></a>

7. 什么是相对路径、绝对路径?

a标签的href属性、img标签的src属性、

(1)绝对路径: 绝对路径就是你的主页上的文件或目录在硬盘上真正的路径(URL和物理路径)。
例如:C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。

(2)相对路径: 相对于某个基准目录的路径。包含Web的相对路径(HTML中的相对目录)。
例如:在Servlet中,"/“代表Web应用的根目录。物理路径的相对表示,例如:”./" 代表当前目录,"…/"代表上级目录。这种类似的表示,也是属于相对路径。

/表示源文件的根目录
./表示当前文件所在的目录(可以省略)
../表示当前文件所在的目录的上一级目录

  • 绝对路径:由根目录(/)为开始写起的文件名或者目录名称,如/home/oldboy/test.py;
  • 相对路径:相对于目前路径的文件名写法。例如./home/oldboy/exam.py或…/…/home/oldboy/exam.py,简单来说只要开头不是/,就是属于相对路径

8. form 中 name 有什么作用?

(1)name 属性用于对提交到服务器后的表单数据进行标识
(2)或者在客户端通过 JavaScript 引用表单数据。
注释:只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。

9. form 表单中 get 和 method 请求的区别?

method,传输方式,默认get。两者的区别:
(1)get 通过地址栏传输,会将信息拼接到地址栏上。而 post 不会讲信息拼接到地址栏上;
(2)post 的传输方式比 get 安全;
(3)post 能传输大量信息;
(4)get 传输速度比 post 快;( get 没有加密 )
注意:常用 get 的传输方式。

10. 创建样式表有哪几种方式,分别怎么写?

(1)内联样式表:<style type="text/css">css语法</style>**,最好写在<head></head>中;
(2)外部样式表:<link rel="stylesheet" type="text/css" href="路径" />@import url(路径);
(3)内联样式表(嵌入式、行间、行内):<div style=“height:100px;background:red;” ></div>

11. link 和 import 的区别

区别 link import
1. 从属关系 link是HTML提供的标签,不仅可以加载 CSS 文件,还可以定义 RSS、rel 连接属性等。 @import是 CSS 提供的语法规则,只有导入样式表(加载CSS)的作用。
2. 加载顺序 当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载。 而@import引用的CSS 会等到页面全部被下载完再被加载,所以有时候浏览@import加载CSS的页面时开始会没有样式。
3. 兼容性的差别 link标签作为 HTML 元素,不存在兼容性问题。 @import是CSS2.1提出的,所以老的浏览器不支持,@import只t在IE5以上的才能识别。
4. 使用dom控制样式时的差别 当使用javascript控制dom去改变样式的时候,只能使用link标签。 @import不是 dom 可以控制的。
5. 权重区别 link引入的样式权重大于@import引入的样式。

12. css 有哪些选择器?这些选择器的权重分别是多少?

(1)id 选择符 0100
(2)class 选择符 0010
(3)伪类选择符 0010
(4)元素选择符(类型选择符)0001
(5)后代选择符 后代选择符的权重之和
(6)群组选择符
(7)通配符
内联样式表的权重最高:1000 ,继承样式的权重为:0000

13. 让块元素居中

(1)高度已知:
margin: 0 auto;这是让块元素水平居中的手段,需要配合 width 一起使用

<style>div{width:300px; height:300px; background:#f0f; margin:0 auto;}
</style>
<body><div>box</div>
</body>

② 定位 position:fixedmargin: auto; 水平垂直居中。

<style>div{width:300px; height:300px; background:#f0f;position:fixed; left:0; right:0; top:0; bottom:0; margin:auto;}
</style>
<body><div>box</div>
</body>

③ 使用 定位 position:fixed 和平移 margin;

<!-- margin: 上 右 下 左; 第一个距离填高度的一半,且要往上,所以是负值 -->
<style>div{width:300px; height:200px; background:#f0f;position:fixed; top:50%; left:50%; margin:-100px 0 0 -150px;}
</style>
<body><div>box</div>
</body>

④ 2D 居中:使用 定位 position:fixed 和平移 transform: translate(水平, 垂直);

<!-- 与 ③ 原理一样 -->
<style>div{width:300px; height:200px; background:#f0f;position:fixed; top:50%; left:50%; transform: translate(-150px, -100px);}
</style>
<body><div>box</div>
</body>

(2)高度未知:
① 2D 居中:使用 定位 position:fixed 和平移 transform: translate(水平, 垂直);

<!-- translate()中的两个参数百分比是根据自身来的 -->
<style>div{width:300px; background:#f0f;position:fixed; top:50%; left:50%; tansform: translate(-50%, -50%);}
</style>
<body><div>盒子高度未知,定位之后,使用translate平移自身的一半距离</div>
</body>

14. 让行元素居中

(1)text-align:center 让一个 span 标签中的文本水平居中:将该 span 标签套在一个块元素中

<style>p{width:300px; background:#f0f; text-align:center;}
</style>
<p><span>span文字</span>
</p>

(2)line-height: 高度px; 文本垂直居中。

15. 让图片居中

(1)使用 line-heightvertical-align 只在html5中生效,XHTML1.0是不生效的。

<style>div{width:600px; height:300px; border:2px solid black;line-height:300px; /*img 属于行内块元素,可以使用文本属性使img垂直居中 */text-align: center; /*写在父元素身上,属性继承*/}img{width: 200px;height:200px;vertical-align: middle; /*不写这个属性的话,图片对齐点在底部。写了之后图片对齐点在中心*/}
</style>
<body><div><img src="../imgs/蔡蔡2.jpg" alt="" srcset=""></div>
</body>

(2)虚拟一个行内块元素,让图片和这个元素的对齐点都在中心。

<style>div{width:600px; height:400px; border:2px solid black;text-align: center; /*写在父元素身上,属性继承*/}img{width: 200px;height:200px;vertical-align: middle;/*让图片的对齐点在中心*/}i{display: inline-block;/*让i标签可以设置高度*/height: 100%; /*让i标签的高度=框的高度*/vertical-align: middle;/*让i标签的对齐点在中心*/}
</style>
<body><div><img src="../imgs/蔡蔡2.jpg" /><i></i><!-- i标签不要换行,不然会产生5px距离 --></div>
</body>

(3)使用伪元素,类似(2)。

<style>div{width:600px; height:400px; border:2px solid black;text-align: center; /*写在父元素身上,属性继承*/}img{width: 200px;height:200px;vertical-align: middle;/*让图片的对齐点在中心*/}div:after{content: "";display: inline-block;/*让i标签可以设置高度*/height: 100%; /*让i标签的高度=框的高度*/vertical-align: middle;/*让i标签的对齐点在中心*/}
</style>
<body>
<!-- 因为会5px空格,所以不能换行 --><div><img src="../imgs/蔡蔡2.jpg" /></div>
</body>

16. overflow 有哪些属性,默认属性是什么?float 有哪些属性?高度塌陷的解决办法是什么?

(1)overflow

overflow:visible;/*默认值*/
overflow:hidden;/*溢出隐藏*/
overflow:scroll;/*滚动*/
overflow:auto;/*自动出现滚动条*/

(2)float

float: none; //默认不浮动
float: left; //左浮动
float: right; //右浮动

(3)高度塌陷的解决办法
① 给父元素足够高度;缺点:无法做到高度自适应;
overflow: hidden; ;缺点:溢出的部分(子元素超出父元素)会被隐藏;
③ 在最后一个浮动元素之后添加一个块元素,这个块元素写样式 clear:both; 来清除浮动。
万能清除法:配合第三种方式通过伪元素来实现

//zoom:1;一条解决ie疑难杂症(比如浮动)的神奇属性
// visibility: visible/hidden;可见/隐藏
//父元素:before{content: ""; display:table;} 解决第一个块元素 margin-top 向上传递问题。
父元素{zoom:1;}
父元素:after{display: block; content: ""; clear: both; visibility: hidden;}
父元素:before{content: ""; display:table;}

16. 用代码写出下三角

哪个方向的三角形,就将哪个方向的边框设置 border-方向: 大小 solid 颜色,相邻的边框颜色设置成白色(消失色),对边的边框设置为 0

<style>div{width:0; /*块元素不设置宽度=父元素宽度*/height:0; /*可省略*/border-top:20px solid #00f;border-left:20px solid #fff;border-right:20px solid #fff;border-bottom: 0;}
</style>

17. px、em、rem之间的区别

名称 px em rem
介绍 px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。 em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。 rem是CSS3新增的一个相对单位(root em,根em)。
特点 1. IE无法调整那些使用px作为单位的字体大小;
2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位;
3. Firefox能够调整px和em,rem,但是96%以上的中国网民使用IE浏览器(或内核)。
1. em的值并不是固定的;
2. em会继承父级元素的字体大小。
使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。
注意 任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。

px 与 rem 的选择?

  • 对于只需要适配少部分手机设备,且分辨率对页面影响不大的,使用px即可 。
  • 对于需要适配各种移动设备,使用rem,例如只需要适配iPhone和iPad等分辨率差别比较挺大的设备。


18. background-repeat 有哪些属性值?

repeat //默认平铺
repeat-x //横向平铺
repeat-y //纵向平铺
no-repeat //不平铺

19. 图片常用格式以及区别?

格式 .jpg .png .gif
区别 图片有损质量,但肉眼难分辨,用来减小图片大小,图片非镂空使用。 图片有损质量,但肉眼分辨不出,用来减小图片大小,图片镂空使用。 图片有损质量严重,肉眼容易分辨,常用做动图。

20. 定位属性有哪些?区别是什么?

postion: static(默认)、absolute(绝对定位)、relative(相等定位)、fixed(固定定位)
定位属性position属性值 static relative absolute fixed
称呼 默认不定位 相对定位 绝对定位 固定定位
区别 没有定位,元素出现在正常的流中. 根据自身初始所在位置来定位;不破坏原有元素的特性。 自动向上检索,根据最近的定位元素作为父元素,如果检索不到就以 html 来定位。 始终根据 html 来定位;
是否占文档流 占文档流 占文档流 不占文档流,完全脱离文档流 不占文档流,完全脱离文档流
特点或用法 特点:因为相对定位占文档流,在没有设置 lefttop 属性下的效果和static 默认是一样的。 用法:①向上检索定位的元素作为父框;
②多个定位元素使用 z-index 来定义层级。
特点:位置不随着滚动条滚动而发生变化。
适用场合 微调距离时可以用此属性。可以使用lefttoprightbottom等。 通常用于做重叠效果。 网页遮罩。

21. 什么是“盒模型”?画出盒模型,并写出盒模型的宽。

  1. 盒模型的组成分为:外边距、边框、内边距、内容区;
  2. 盒子实际宽度(高度)=内容(content)+边框(border)+间隙(padding)+间隔(margin);


IE盒模型,也叫怪异盒模型,具体可以查看 html笔记(四)弹性盒+响应式

22. 图片整合的优势有哪些?

(1) 减少对服务器的请求次数,从而提高页面加载速度;
(2)减少图片体积;

23. 隐藏一个元素的方法有哪些?

(1)display:none; 完全消失,且不占文档流
(2)visibility:hidden; css消失,占文档流
(3)opacity:0; 透明,占文档流
(4)postion:relative;left:-99999px; 相对定位,占文档流
(5)postion:absolute;left:-99999px; 绝对定位,不占文档流

24. 什么是 BFC,有什么作用?

BFC(Block fomatting content)块级格式化上下文。是 w3c css2.1 规范中的一个概念。它是页面中的一块渲染区域,且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用

具有 BFC 特性的元素看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素,并且 BFC 具有普通容器所没有的一些特性。

具体:html笔记(二)html4+css2.0(元素类型、css精灵、宽度自适应、BFC、浏览器相关概述、css统筹)

25. 用代码写出几种后台布局(单飞、双飞/圣杯、后台管理)

代码太长了,我放到HTML+css实现的效果里面了。

26. 常用的浏览器及内核、兼容前缀

浏览器 内核 兼容前缀
IE浏览器 Trident -ms-
火狐Firefox浏览器 Gecko -moz-
原谷歌现苹果 Webkit -webkit-
现在Opera和谷歌 Blink(由Google和Opera 开发的浏览器排版引擎)
原Opera Presto(迅速的,但是缺乏兼容性) -o-

27. PC 浏览器前端优化策略


28. 表格行分组有哪几个标签:

  • 表头: <thead></thead>
  • 表体: <tbody></tbody>
  • 表尾: <tfoot></tfoot>

29. 怎么去除换行产生的空格?

(1)方案一:不换行;
(2)方案二:在给父元素设置:font-size:0;,子元素再设置 font-size 大小。案例示范

关于HTML的面试题-html4/css2篇相关推荐

  1. html笔记(二)html4+css2.0(元素类型、css精灵、宽度自适应、BFC、浏览器相关概述、css统筹)

    大标题 小节 一.元素类型 1. 元素分类 2. 置换和非置换元素 3. 元素类型转换 二.css精灵 三.宽高自适应 1. 宽度自适应 2. 高度自适应 3. 最小高度自适应 4. 高度塌陷及解决办 ...

  2. html笔记(一)html4+css2.0、css基础和属性、盒模型

    w3c 官网 这里是 html4 的内容 大标题 小节 一.关于HTML 1. 基本语法 2. HTML常用标签 3. 相对路径和绝对路径 二.css基础 1. 表单元素 2. 创建样式表 3. cs ...

  3. 前端面试题之CSS篇

    前端面试题之CSS篇 一.CSS基础 1. CSS选择器及其优先级 2. CSS中可继承与不可继承属性有哪些 3. display的属性值及其作用 4. display的block.inline和in ...

  4. 前端面试题(html篇)

    前端面试题(html篇) 转载于:https://www.cnblogs.com/mc67/p/5311613.html

  5. 剑指offer试题(PHP篇一)

    剑指offer试题(PHP篇一) 1.二维数组中的查找 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个 ...

  6. C语言面试题之华为篇2(答案全)

    C语言面试题之华为篇(答案全) (1)什么是预编译,何时需要预编译: 答案: 1.总是使用不经常改动的大型代码体. 2.程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项.在这种情况 ...

  7. 2020前端最新面试题(vue篇)

    2020前端最新面试题(vue篇) 由于疫情原因,原本每年的"金三银四"仿佛消失,随之而来的是找工作的压力,这里给要面试的小伙伴们总结了到目前为止我遇到的前端面试题,仅供参考哦,第 ...

  8. Android面试题Java基础篇

    Android面试题Java基础篇,由本人整理汇总,后续将继续推出系列篇,如果喜欢请持续关注和推荐,更多精彩内容可以关注微信公众号(Android高级编程):android-tech 系列文章目录: ...

  9. 前端面试题之计算机网络篇

    前端面试题之计算机网络篇 一.HTTP协议 1. GET和POST的请求的区别 2. POST和PUT请求的区别 3. 常见的HTTP请求头和响应头 4. HTTP状态码304是多好还是少好 5. 常 ...

最新文章

  1. OpenFlow Switch —— 软件架构
  2. 大学计算机技术类社团/组织——社团官方网站
  3. iOS利用视频做起始页
  4. Android 进程常驻(5)----开机广播的简单守护以及总结
  5. ssm使用全注解实现增删改查案例——EmpServiceImpl
  6. JqueryCookie
  7. 数学归类你倾向于哪一方?
  8. listView使用checkBox的实现
  9. 校招刷题---java选择题笔记04
  10. Redis实战(11)高级特性(3)持久化
  11. 我在华为写了13年代码的一些感悟
  12. postgres-xc postgres 分布式数据库的一种
  13. 构建一个pool来管理无刷新页面的xmlhttp对象
  14. 2020教师计算机考试笔试题,2020教师招聘考试《信息技术》练习题之答案解析
  15. 分享200个App移动端模板---总有一个适合你
  16. 磁传感器AKM8975驱动和中间层
  17. hive会产生大量的tmp文件
  18. 三、Eureka注册与发现之Eureka Comsumer
  19. 【无标题】HTMLCSS学习总结
  20. 5gh掌上云计算认证不通过_华为云计算认证含金量怎么样?

热门文章

  1. Java编程字符逆序输出_用JAVA编写一程序:从键盘输入多个字符串到程序中,并将它们按逆序输出在屏幕上。...
  2. js原型、原型链、作用链、闭包全解
  3. Spring Security原理与应用
  4. [Android] websocket客户端开发
  5. opengl 区域填充之种子填充线扫描法
  6. css background size
  7. 2007白领职场成功需要哪“十商”
  8. 怎么用python写名字_python中的__name__ 到底是个什么玩意?应该怎么用到它?
  9. esp8266oled做时钟python_利用esp8266和鸿蒙带的OLED屏做了一个时钟
  10. malloc申请一维动态数组的错误