HTML+CSS 面试题整理(一)

小编:艳芬 824阅读 2020.09.14

1.web标准:

(1)结构标准:其语言主要包括XHTML(实现HTML向XML的过渡。)和XML(用于弥补HTML的不足)

(2)表现标准:其语言主要包括CSS(帮助设计师分离外观与结构)

(3)行为标准:其语言主要包括W3C Dom(提供标准方法用于访问站点中的数据、脚本和表现层对象)和ECMAScript

(4)代码标准:

①必须结束标记:XHTML必须,HTML不一定

②小写元素和属性名:XHTML对大小写敏感,HTML不敏感

③比较必须合理嵌套

④属性必须用“”括起来:XHTML必须,HTML不一定

⑤特殊符号用编码表示

⑥所有属性赋值:XHTMl规定,所有属性都要有一个值,没有值就重复本身

优点:文件下载与页面显示速度更快;内容能被更多的用户、更广泛的设备所访问;用户能够通过样式选择定制自己的表现界面;所有页面都能提供适于打印的版本;更少的代码和组件,容易维护;代码更简洁,成本降低;更容易被搜寻引擎搜索到;改版方便,不需要变动页面内容;提供打印版本而不需要复制内容;提高网站易用性。


2.W3C——万维网联盟。W3C 最重要的工作是发展 Web 规范


3.HTML与XHTML的区别:

①XHTML 1.0是基于HTML 4.01的,没有引入任何新标签或属性,语法上更加严格。几乎所有的网页浏览器在正确解析HTML的同时,可兼容XHTML

②HTML是一种基于标准通用标记语言(SGML)的应用,而XHTML则基于可扩展标记语言(XML),其实是平行发展的两个标准。建立XHTML的目的就是实现HTML向XML的过渡。


4.DOCTYPE标签是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器,它应该使用什么样的文档类型定义(DTD)来解析文档

触发两种模式的方法:

①标准模式:使用HTML 3提供的4种DOCTYPE声明;使用XHTML 1.0提供的3种DOCTYPE声明

②怪异模式:浏览器不能识别的DOCTYPE声明;在DOCTYPE声明中,不适用DTD声明或使用HTML 4(不包括HTML 4)的DTD声明;在IE 6中,在DOCTYPE声明前有一个xml声明

判定是标准模式还是怪异模式:

①js提供的方法:alert(window.top.document.compatMode);

//BackCompat 表示怪异模式

//CSS1Compat 表示标准模式

②jquery提供的方法:alert($.boxModel); 或 alert($.support.boxModel);


5.①块级元素(如div和p):独占一行,其宽度自动填满父元素宽度,可以设置width、height、padding、margin。

②行内元素(如a、span、img):相邻的行内元素会排列在同一行内,其宽度随元素的内容而变化,不可设width和height;margin和padding水平方向有效,竖直方向无效。


6.css盒模型:content、padding、border、margin(在 CSS 中,width 和 height 指的是内容区域(element)的宽度和高度。增加内边距、边框和外边距不会影响内容区域的尺寸,但是会增加元素框的总尺寸)


7.css引入样式表的方式有:

①外部样式表

②内部样式表

③内联样式

内联样式

④导入样式

link和@impor的区别:

①@import只能加载css,link还可以定义rel连接属性等

②link引用的css同时被加载,而@import引入的css会等页面全部下载完成后加载

③@import只有在IE5以上才能识别,link所有都可以

④js控制dom修改样式只能使用link标签

⑤@import可以在css中再次引入其它的样式表


8. css选择符(w3school):

⑴标签选择符: p { font-size : 18 px; color:#000; }

⑵类选择符: .red { background-color:#C00; }

⑶id选择符: #firstColunm{ height:100px; background-color:#000; }

⑷后代选择符(包含选择符): h1 em { color:#C00; }

⑸子元素选择器: h1 > strong { color:#C00; font-weight:bold; }

⑹通配选择符: * { padding:0; margin:0 }

⑺属性选择符: a[href] { color:#C00; }

⑻伪类选择符: a:hover { color:#C00; } p:first-child { font-weight:bold; }

⑼伪元素: .clearfix:after { content:""; display:inline-block; clear:both; }

⑽相邻兄弟选择符(只能选择两个相邻兄弟的第二个元素): h1 + p { margin-top:50px; }

⑾兄弟选择符(选择该元素的所有兄弟): h1 ~ p { line-height:30px; }


9.css属性可继承:

①所有元素可继承:visibility、cursor

②内联元素可继承(14个):letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、decoration

③块级元素可继承:text-indent、text-align

④列表元素可继承:list-style、list-style-type、list-style-image、list-style-position

⑤表格元素可继承:border-collapse


10.css优先级由四个级别和各级别的出现次数决定

①每个规则对应一个初始四位数: 0、0、0、0

②若是行内选择符,则加 1、0、0、0

③若是id选择符,则加 0、1、0、0

④若是类选择符/属性选择符/伪类选择符,则加 0、0、1、0

⑤若是元素选择符/伪元素选择符,则加 0、0、0、1

将每个规则所得到的四位数从左到右进行比较,大的优先级越高。

PS:①!important 优先级最高,若出现冲突则比较 四位数

②优先级相同时,采用就近原则

③继承得来的属性,其优先级最低


11.网页分成三个层次:

①结构层:由HTML或XHTML之类的标记语言负责创建,对网页内容的语义含义进行描述。

②表示层:由CSS负责创建,对“如何显示有关内容”的问题作出了解答。

③行为层:javascript语言和DOM主宰的领域,负责回答“内容应如何对事件作出反应”。


12.css基本构成语句:选择器 { 属性1:值1;属性2:值2;......}


13.常用浏览器及其内核:

①Trident内核(IE内核):IE

②webkit内核:chrome、Safari

③Gecko内核(火狐内核):Mozilla firefox(火狐浏览器)

④Presto内核:Opera


14.①alt:html标签的属性。 指定替换文字,只能用于img、area和input元素中

②title:即是html标签,也是html属性。给元素提供额外的说明


15.css reset的作用:通过重新定义标签样式,覆盖浏览器的css默认属性


16.css sprites:将一个页面所涉及的所有零星图片都包含到一张大图中去,减少图片的请求次数

使用原理:把网页中的一些背景图片整合到一张图片背景中,再利用css的“background-image”、“background-repeat”、“background-position”的组合进行背景定位


17.浏览器的

①怪异模式:浏览器在页面的渲染模式上没有同一的规范;width是盒模型中的实际宽度

②标准模式:浏览器在页面的渲染模式上有了统一的标准;width是盒模型中的内容宽度


18.前端优化:


按优化方向分类


19.语义化的HTML:根据内容的结构化(内容语义化),选择合适的标签(代码语义化),便于开发者阅读和写出更优雅的代码,同时让浏览器的爬虫和机器更好的解析。


20.清除浮动的几种方式及各自的优缺点:

①父级div定义height ———————— .div1{ height : 200 px; }

优点:简单,代码少,容易掌握

缺点:只适合高度固定的布局

②结尾处加空div标签 clear:both —————————.clearfix{ clear:both }

优点:简单、代码少、浏览器支持好、不容易出现怪问题

缺点:如果页面浮动多,则需要增加很多空的div标签

③父级div定义伪类:after和zoom

———————.div1: after { display:bloc ;clear:both;content:"";visibility:hidden;height:0; }

———————.div1{ zoom:1; }

优点:浏览器支持好,不容易出现怪问题

缺点:代码多,要两句代码结合

④父级div定义 overflow:hidden ————————.div1 { width:98%; overflow:hidden; }

优点:简单、代码少、浏览器支持好

缺点:不能和position配合使用

关联标签: