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


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 的区别
区别linkimport
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之间的区别
名称pxemrem
介绍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属性值staticrelativeabsolutefixed
称呼默认不定位相对定位绝对定位固定定位
区别没有定位,元素出现在正常的流中.根据自身初始所在位置来定位;不破坏原有元素的特性。自动向上检索,根据最近的定位元素作为父元素,如果检索不到就以 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 开发的浏览器排版引擎)
原OperaPresto(迅速的,但是缺乏兼容性)-o-

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

28. 表格行分组有哪几个标签:
  • 表头: <thead></thead>
  • 表体: <tbody></tbody>
  • 表尾: <tfoot></tfoot>

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值