资料汇总--Web前端

news/2024/7/19 9:22:05 标签: 前端, 爬虫, xhtml

01、前端技能汇总

02、gitHub优秀前端资料分享

03、大前端

 

HTML

Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

1. <!DOCTYPE> 声明位于文档中的最前面,处于 <html> 标签之前。告知浏览器以何种模式来渲染文档。 
2. 严格模式的排版和 JS 运作模式是:以该浏览器支持的最高标准运行。
3. 在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。
4. DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。 

HTML5 为什么只需要写<!DOCTYPE html>?

HTML 4.01 中的 doctype 需要对 DTD 进行引用,因为 HTML 4.01 基于 SGML。
而 HTML 5 不基于 SGML,因此不需要对 DTD 进行引用,但是需要 doctype 来规范浏览器的行为。
其中,SGML是标准通用标记语言,简单的说,就是比HTML,XML更老的标准,这两者都是由SGML发展而来的。
BUT,HTML5不是的。

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

常用的块状元素有:
<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
块级元素特点:
1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)
2、元素的高度、宽度、行高以及顶和底边距都可设置。
3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

常用的内联元素有:
<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
内联元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度、行高及顶部和底部边距不可设置;
3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

常用的内联块状元素有:
<img>、<input>
inline-block元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度、行高以及顶和底边距都可设置。

知名的空元素: <br/> <hr/> <img/> <input/> <link/> <meta/> 
鲜为人知的是: <area> <base> <col> <command> <embed> <keygen> <param> <source> <track> <wbr> 

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

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

对浏览器内核的理解? 

主要分成两部分:渲染引擎(layout engineer或Rendering Engine)和JS引擎。
渲染引擎:负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入CSS等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。
JS引擎则:解析和执行javascript来实现网页的动态效果。

最开始渲染引擎和JS引擎并没有区分的很明确,后来JS引擎越来越独立,内核就倾向于只指渲染引擎。

常见的浏览器内核有哪些? 

Trident内核:IE,MaxThon,TT,The World,360,搜狗浏览器等。[又称MSHTML]
Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等
Presto内核:Opera7及以上。 [Opera内核原为:Presto,现为:Blink;]
Webkit内核:Safari,Chrome等。 [ Chrome的:Blink(WebKit的分支)] 

html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5? 

* HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。
绘画 canvas;
用于媒介回放的 video 和 audio 元素;
本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;
sessionStorage 的数据在浏览器关闭后自动删除;
语意化更好的内容元素,比如 article、footer、header、nav、section;
表单控件,calendar、date、time、email、url、search;
新的技术webworker, websockt, Geolocation;

移除的元素:

纯表现的元素:basefont,big,center,font, s,strike,tt,u;
对可用性产生负面影响的元素:frame,frameset,noframes;


支持HTML5新标签:
IE8/IE7/IE6支持通过document.createElement方法产生的标签,
可以利用这一特性让这些浏览器支持HTML5新标签,
浏览器支持新标签后,还需要添加标签默认的样式。

当然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架
<!--[if lt IE 9]>
<script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>
<![endif]-->

* 如何区分: DOCTYPE声明\新增的结构元素\功能元素

HTML语义化的理解?

1、什么是HTML语义化?

     <基本上都是围绕着几个主要的标签,像标题(H1~H6)、列表(li)、强调(strong em)等等>

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

2、为什么要语义化?

  • 为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构:为了裸奔时好看;
  • 用户体验:例如title、alt用于解释名词或解释图片信息、label标签的活用;
  • 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;
  • 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;
  • 便于团队开发和维护,语义化更具可读性,是下一步吧网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化。

3、写HTML代码时应注意什么?

  • 尽可能少的使用无语义的标签div和span;
  • 在语义不明显时,既可以使用div或者p时,尽量用p, 因为p在默认情况下有上下间距,对兼容特殊终端有利;
  • 不要使用纯样式标签,如:b、font、u等,改用css设置。
  • 需要强调的文本,可以包含在strong或者em标签中(浏览器预设样式,能用CSS指定就不用他们),strong默认样式是加粗(不要用b),em是斜体(不用i);
  • 使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围。表头和一般单元格要区分开,表头用th,单元格用td;
  • 表单域要用fieldset标签包起来,并用legend标签说明表单的用途;
  • 每个input标签对应的说明文本都需要使用label标签,并且通过为input设置id属性,在lable标签中设置for=someld来让说明文本和相对应的input关联起来。

4、HTML5新增了哪些语义标签,详述之。

    HTML 5的革新——语义化标签

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

 

 

转载于:https://www.cnblogs.com/tanwei81/p/6826439.html


http://www.niftyadmin.cn/n/995875.html

相关文章

试用了一下Sqlite,总结和整理一下参考资料

1,关于SQLiteSQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine所以SQLite可以用来代替Access&#xff0c;以满足小型和并发量不是特别大的情况下的应用&#xff0c;比如用来做词库 :) 2,官方网站和.net da…

NoScrollViewPager+WebView渲染异常,部分显示白块

场景 NoScrollViewPager Fragment WebView 下面是异常显示&#xff08;左&#xff09;和正常显示&#xff08;右&#xff09;的WebView 截图 这里有2个因素导致显示异常 1.NoScrollViewPager 即自定义的不可滑动的ViewPager&#xff0c;这个不多说&#xff0c;网上很多。 …

activity异常处理

2019独角兽企业重金招聘Python工程师标准>>> 1、jndi报错.&#xff1a;Name [jdbc/kaleoa] is not bound in this Context. Unable to find [jdbc]. org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer types detected on class…

Dealing with Exceptions In BizTalk Orchestrations

Dealing with Exceptions In BizTalk Orchestrations This article introduces a common & simple way to handle exceptions in BizTalk Orchestrations.url: http://weblogs.asp.net/jan/archive/2004/03/22/93981.aspxposted by Jantie.

MediaCodec硬编码为H264并通过UDP发送

最近研究视频通话&#xff0c;写一下关于摄像头采集视频并使用MediaCodec硬编码为H264的过程&#xff0c;希望对有需要的朋友有所帮助。 说实话&#xff0c;刚开始不太熟折腾了挺久的&#xff0c;网上这方面的东西比较少&#xff0c;很多都是代码片段或者就是其他语言写的。这…

Linux使用screen实现关闭ssh连接的情况下,让程序继续在后台运行

Ubuntu默认没有安装screen&#xff0c;需要手动安装。 安装命令&#xff1a; sudo apt-get install screen 简单的操作方法&#xff1a; 直接输入命令 screen 进入screen子界面&#xff0c;此时putty标题栏会指示处于子界面状态&#xff0c;然后运行你的程序 操作命令... 然后按…

开源.NET企业级应用系统 OpenVista

看到倡议研究mono&#xff0c;我一直也在关注、跟踪Mono的发展&#xff0c;就是在项目中没有使用过。以前我介绍过一个iFolder Novell开源文件服务器.下面就来介绍一个Mono的一个应用OpenVista。http://www.cnblogs.com/shanyou/category/43483.html这里有许多Mono的相关资料。…

Protocol buffer序列化及其在微信蓝牙协议中的应用

Protocol buffer是Google出品的一种轻便高效的结构化数据存储格式&#xff0c;可对结构化数据进行序列化&#xff0c;并具有语言无关、平台无关等特点。在通信协议和数据存储等领域已经得到广泛的应用。眼下其已经提供 C/C、Java、Python 等语言的 API。 一、Protocol buffer和…