web前端试题总结

一.填空题

1.网页的后缀名通常为(xxx.html)或(xxx.htm)的页面.
2.请写出在网页中设定表格边框的厚度的属性(border),设定表格单元格之间宽度属性(cellspacing),设定表格资料与单元格线的距离属性(cellpadding).
3.预定义格式化标签<pre></pre>的功能是(被包围在pre元素中的文本通常会保留空格和换行符,而文本也会呈现等宽字体).或(标记内的内容按照原格式显示在网页中)
4.css中的选择器基本可以分为(7)种,它们分别是(标签;id;类;子代;后代;组/组合;伪类).
5.在页面中实现文字滚动的标记是(marquee).
6.在页面中嵌入多媒体,如:电影,声音,等用到的标签是(rideo,src,source,audio,embed).
7.通过属性(poster)可以设置在页面视频播放前的图片呈现.
8.用来在视频窗口下附加MS-WINDOWS的AVI播放控件条的属性是(controls).
9.css3中新增的伪类有哪些(E:first-child;E:last-child;E:nth-child).
10.每间隔三秒就刷新页面的代码:

<meta content="3">

11.属性display的值有(none;inline;block;inline-block).
12.表单对象的名称由(name)属性设定,提交方法由(method)属性指定,若要提交大数据量的数据,则应采用(post)方法;表单提交后的数据处理程序由(action)属性指定.

二.简答题

1.HTML5中为什么要写<!Doctype html>?

:文档类型(是HTML5的类型)是告诉浏览器当前的文档按照HTML5的类型进行编译执行(低版本不能识别高版本的语言).
2.行内元素有哪些?块元素有哪些?空元素有哪些?
:
i.行内:a img option span var em strong textarea select input
ii. 块元素:div h1~h6 ol ul li dl td dd table tr th td p br form
iii.空元素:span div
3.页面导入样式时,使用link和@import有什么区别?
:
i.link属于xhtml标签,除了加载css外,还能用于定义Rss,定义rel链接属性等作用,而@import是css提供的,只能用于加载css;
ii.页面被加载时,link会同时被加载,而@import引用的css会等到页面被加载完再加载.
iii.@import是css2.1提出的,只在IE5以上才能被识别,而link是XHTML标签,无兼容性问题.
4.介绍一下css盒子模型?
:在css布局中,每一个html元素在浏览器中的解析都可以被看作一个盒子,拥有盒子一样的外形和平面空间,它由margin;border;padding;content四部分组成,涉及到的css属性有margin,border,padding,display.
5.css3中新增的伪类有哪些?
:E:first-child;E:last-child;E:nth-child
6.margin-top塌陷是如何产生的?以及解决方法有哪些?
:
i.产生:一个元素中含有一个子元素,给子元素添加margin-top时,会发现将设置的值添加给了父元素,导致子元素设置 margin-top失效.
ii.解决方法:(1)给与元素加overflow:hidden (2)给父元素加border边框 (3)伪元素
7.浮动元素不会撑开父元素的大小,那么如何解决父元素撑开的问题?(你有哪些方式)?
:(1)给父元素设置overflow:hidden (2)给最后一个子元素添加一个空的标签,设置clear:both{不推荐} (3)伪对象

.父元素::after,.父元素::before{
content" ";
display:table;//css的一种布局呈现的属性设置具备表格划分的特性//
}

8.前端开发由三层构成,分别是什么以及作用是什么?
:
HTML(超文本标记语言)---------- 结构层
CSS(层叠样式表)-------------------表现层:用来美化HTML结构,重点是css可以很好的将结构和表现进行分离
Java script(脚本语言)--------------行为层:提供用户和界面的交互
9.你对css的权重作何理解?
:
默认:行内>内嵌>外联样式
css三种样式的权重/改变优先级:!important
选择元素:nth-child
顺序:!important>内联>ID>类|属性选择器|伪类选择器(:active:focus)>标签|伪元素(:before:after)>通配符>继承
权重规则:
(1)不推荐使用!important
       因为!important根本没有结构与上下文可言,并且很多时候权重的问题,就是因为不知道在哪里定义一个!important而导致的.
虽然我们应该尽量避免使用!important,但你应该知道如何覆盖!important,加点权重就可以实现,(!important优先级最高,但也会被权重高的!important所覆盖,如id的!important覆盖class的!important)
(2)行内样式总会覆盖外联样式表的任何样式,会被!important覆盖
(3)单独使用一个选择器的时候,不能跨等级使css规则生效
       无论多少个class组成的选择器,都没有一个id选择器权重高.类似的,无论多少个元素组成的选择器,都没有一个class选择器权重高,无论多少个id组成的选择器,都没有行内样式权重高,所以权重是在双方处于同一等级的情况下,才开始对比.
(4)如果两个权重不同的选择器作用在同一个元素上,权重值高的css规则生效
       选择器可能会包含一个或者多个与权重相关的计算点,若经过权重值计算得到的权重值越大,则认为这个选择器的权重高.
(5)如果两个相同权重的选择器作用在同一元素上,以后面出现的选择器为最后规则.
(6)权重相同时,与元素距离近的选择器生效(行内>内嵌>外联样式)
建议:
(1)避免使用!important;
(2)利用id增加选择器权重;
(3)减少选择器的个数(避免层层嵌套);
10.表单提交时:get和post提交方式的区别是什么?
:
get方法信息少容易直接获取,常用于提交较小的数据,比如ID,账号,密码等,特点:会将用户数据显示在URL地址栏中,不安全.
post方法信息大如文本字段时,可加密没有安全方面漏洞(安全),不会将用户数据显示在URL地址栏中.

猜你喜欢

转载自blog.csdn.net/qq_43434300/article/details/84401548