初识html
HTML、XML、XHTML 有什么区别
都是ML结尾,共同点就是都是标记语言。
- HTML,超文本标记语言,是语法较为松散的、不严格的Web语言;
- XML,可扩展标记语言,主要用于存储数据和结构[参考]-(http://w3school.com.cn/xml/xml_intro.asp);
- XHTML,可扩展超文本标记语言,基于XML,作用与HTML类似,但语法更严格参考。
怎样理解 HTML 语义化
根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。
为何要语义化?
- 为了在没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构:为了裸奔时好看;
- 用户体验:例如title、alt用于解释名词或解释图片信息、label标签的活用;
- 有利于SEO:和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;
- 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;
- 便于团队开发和维护,语义化更具可读性,是下一步吧网页的重要动向,遵循W3C标准的团队都遵循这个标准,可以减少差异化。
写代码时应注意什么? - 尽可能少的使用无语义的标签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关联起来。
怎样理解内容与样式分离的原则
- 写 HTML 的时候先不管样式, 重点放在HTML的结构和语义化上,让 HTML 能体现页面结构或者内容。之后再去写样式。
- 写 JS 的时候,尽量不要用 JS 去直接操作样式,而是通过给元素添加删除class来控制样式变化
- HTML 内不允许出现属性样式,尽量不要出现行内样式
CSS与HTML分离的优点
1.使页面载入得更快由于将大部分页面代码写在了CSS当中,使得页面体积容量变得更小。相对于表格嵌套的方式的逐层加载速度快。
2.修改设计时更有效率在修改页面的时候更加容易省时。根据区域内容标记,到CSS里找到相应的ID,使得修改页面的时候更加方便,也不会破坏页面其他部分的布局样式。而表格布局则更不省事。
3.保持视觉的一致性DIV+CSS最重要的优势之一:保持视觉的一致性;以往表格嵌套的制作方法,会使得页面与页面,或者区域与区域之间的显示效果会有偏差。
4.更好地被搜索引擎收录由于将大部分的HTML代码和内容样式写入了CSS文件中,这就使得网页中代码更加适合搜索引擎。
5.对浏览者和浏览器更具亲和力对浏览者和浏览器更具亲和力,由于CSS富含丰富的样式,使页面更加灵活性,更加的美观,它可以根据不同的浏览器,而达到显示效果的统一和不变形。
有哪些常见的meta标签
- 指定字符集:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> - 向搜索引擎说明你的网页的关键字:
<meta name="keywords" content="关键字"/> - 告诉搜索引擎你的站点的主要内容:
<meta name="description" content=""/> - 告诉搜索引擎你的站点的制作的作者:
<meta name="author" content=""/> - 定时让网页在指定的时间n内跳转
<meta http-equiv="refresh" content="n;url="/> - 勇于设定网页的到期时间,一旦过期则必须到服务器上重新调用,需要注意的是必须使用GMT时间格式:
<meta http-equiv="expires" content="Mon,12 May 2010 00:00:00 GMT"/> - 禁用缓存:
<meta http-equiv="pragma" content="no-cache"/> - cookie设定,如果网页过期,存盘的cookie将会被删除,需要注意的是也必须使用GMT时间格式:
<meta http-equiv="set-cookie" content="Mon,12 May 2010 00:00:00 GMT" />
文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?
- <!DOCTYPE> 声明位于文档中的最前面,处于 <html> 标签之前。告知浏览器以何种模式来渲染文档。
- 严格模式的排版和 JS 运作模式是 以该浏览器支持的最高标准运行。
- 在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。
- DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现
浏览器乱码的原因是什么?如何解决
乱码产生的根本原因是你保存的编码格式和浏览器解析时的解码格式不匹配导致的。
乱码一般是英文以外的字符才会出现
- 比如[网页源代码]是gbk的编码,而内容中的中文字是utf-8编码的,这样浏览器打开即会出现html乱码。反之网页是编码utf-8,内容是gbk也会出现乱码。
- html网页编码是gbk,而程序从数据库中调出呈现是utf-8编码的内容也会造成编码乱码。
- 浏览器不能自动检测网页编码,造成网页乱码。
解决方法有:
- 使用软件进行编辑HTML网页内容,推荐使用subline进行[HTML代码]编辑和开发。尽量不要直接使用记事本进行编辑HTML代码。
- 开发网页,必须网页加入meta charset编码标签
- 避免HTML中文乱码的关键:确保HTML文件实际编码方式和charset设定的编码方式一致。当然,所设的编码方式必须是系统支持的,这是最基本的。
常见的浏览器有哪些,什么内核
常见浏览器 | 内核 |
---|---|
IE | Trident |
Safari | WebKit |
Chrome | Blink |
Opera | Blink |
Firefox | Gecko |
列出常见的标签,并简单介绍这些标签用在什么场景
h1~h6
标题
- h1代表页面最大的标题
- h2二级标题
- h3... 更弱的标题
p
段落,表示大段文字
a
链接,链到一个地址
<a href="http://jirengu.com" target="_blank" title="饥人谷">饥人谷.com</a>
div
语义为“一大块”,用于给页面划分区块,让结构更清晰