HTML、XML、XHTML 有什么区别?
- HTML:超文本标记语言,是语法较为松散的、不严格的Web语言
- XML:可扩展标记语言,主要用于存储数据和结构
- XHTML:可扩展超文本标记语言,基于XML,作用与HTML类似,但语法更严格。
怎样理解 HTML 语义化?
语义化HTML是一种编写HTML的方式,选择合适的标签、使用合理的代码结构,便于开发者阅读,同时让浏览器的爬虫和机器很好地解析。
怎样理解内容与样式分离的原则
写 HTML 的时候先不管样式, 重点放在HTML的结构和语义化上,让 HTML能体现页面结构或者内容。之后再去写样式。写 JS 的时候,尽量不要用 JS 去直接操作样式,而是通过给元素添加删除class来控制样式变化HTML 内不允许出现属性样式,尽量不要出现行内样式。
有哪些常见的meta标签
< meta > 元素:
标签提供关于HTML文档的元数据。元数据不会显示在页面上,但是对于机器是可读的。它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务。 —— W3School
必要属性
属性 | 值 | 描述 |
---|---|---|
content | some text | 定义与http-equiv或name属性相关的元信息 |
可选属性
属性 | 值 | 描述 |
---|---|---|
http-equiv | content-type / expire / refresh / set-cookie | 把content属性关联到HTTP头部 |
name | author / description / keywords / generator / revised / others | 把 content 属性关联到一个名称 |
文档声明的作用?严格模式和混杂模式指什么?<!doctype html> 的作用?
文档声明的作用:DOCTYPE,简称为DTDs,是英文Document type的缩写,中文“文档类型”,在Web设计中用来说明你用的XHTML或者HTML是什么版本。要建立符合标准的XHTML网页,DOCTYPE声明是必不可少的关键组成部分。
严格模式:是浏览器根据web标准去解析页面,是一种要求严格的DTD,不允许使用任何表现层的语法,如< br/ >。
混杂模式:页面以一种比较宽松的向后兼容的方式显示。
浏览器乱码的原因是什么?如何解决
-
网站头部设定的编码和网页本身的编码不一致导致的,html网页头部代码:<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />是告诉浏览器该用什么编码来读取网页的内容,然后浏览器就会启用相应的解码来程序内容,同时,网站本身还存在一个编码的机制,中国人一般使用gbk、gb2312、utf-8编码,如果网站制作者将网页文件存储为了gbk格式,然后在网页头部却设置了utf-8的格式,那么浏览器在读取网页的时候就会将中文或其他非英文和数字的字符解析成乱码;
如果是这种编码错误,解决办法很简单,将解码方式和文件存储的编码修改成一致即可,浏览者在遇到此类情况,可以在网页空白处右键-编码种选择多种编码方式试试,就可以看到乱码的文字了。
不合理的字符串截取造成个别字符乱码,在gbk和gb2312编码下,中文是占用两个字节,而在utf-8编码模式下,中文字符占用三个字节,而英文和数字都是占用一个字节,如果用英文的一些截取方式去截取中文字符的话,就可能出现将一个中文截断的现象,网页就会出现中文乱码,而gbk和utf-8的中文截取手段也不一样。
这种情况的解决办法就是规范截取字符串的函数,因地制宜。数据库编码问题导致,这种情况在mysql中经常出现,因为mysql等一些数据库支持存储各种编码的字符串,并且也有编码的区分, 读取数据库的方式这个很关键,必须和网页的头部设定和存储编码一致,如果不一致就会出现乱码。
AJAX传递中文编码导致的,AJAX在传递中文数据的时候只支持UTF-8编码的中文,所以如果尝试用其他编码方式传递的话就会出现乱码。
解决办法是在传递中文数据前就将中文数据转码成utf-8。
常见的浏览器有哪些?什么内核?
名称 | 内核 |
---|---|
Internet Explorer | Trident(又称为MSHTML) |
Chrome Safari | WebKit |
Mozilla | Gecko |
OperaPresto | Presto |
列出常见的标签,并简单介绍这些标签用在什么场景
标签 | 应用 |
---|---|
<html> | 是 HTML 页面的根元素 |
<body> | 包含页面的主体内容 |
<head> | 包含了文档的元(meta)数据 |
<meta> | 提供了元数据.元数据也不显示在页面上,被浏览器解析 |
<link> | 定义了文档与外部资源之间的关系。通常用于链接到样式表 |
<style> | 定义了HTML文档的样式文件引用地址,在<style> 元素中可直接添加样式来渲染 HTML 文档 |
<script> | 用于加载脚本文件,如: JavaScript |
<title> | 描述了文档的标题 |
<h1>-<h6> | 定义了一级标题到六级标题,标题字体大小逐渐减弱 |
<p> | 定义一个段落 |
<a> | 是网页链接。通过href属性,来指定链接地址。通过target属性,来指定链接页面打开的方式。通过title,来指定鼠标移到标签上时出现的文字提示 |
<image> | 定义html图像。可通过width和heigth属性来指定图像的大小 |
<div> | 是块级元素,它可用于组合其他 HTML 元素的容器,没有特定的含义。它属于块级元素,浏览器会在其前后显示折行 |
<span> | 是内联元素,也没有特定的含义,可用作文本的容器 |
<ol><li> | 有序列表始于 标签。每个列表项始于 标签。列表项目会使用数字进行标记 |
<ul><li> | 无序列表,列表项目会使用粗体圆点(典型的小黑圆圈)进行标记; |
<table> | 定义表格 |
<tr> | 定义表格的行 |
<td> | 定义表格每行的列 |
<th> | 定义表格的表头 |
<tbody> | 定义表格的主体 |
<tfoot> | 定义表格的页脚 |
<iframe> | 用于在当前页面嵌入新页面 |
<strong> | 定义重要的文本 |
<em> | 定义被强调的文本 |