下面介绍下常用的head头部结构,以及对各个标签、元素的意义以及使用场景一一介绍(本篇以一丝大神的文章为基础,进行扩展总结)。
padding.me的head头结构
代码如下:
<!doctype html>
<html lang=zh-cmn-hans>
<head>
<meta charset=utf-8>
<meta name=viewport content=width=device-width, user-scalable=yes>
<meta name=keywords content=paddingme,front-end,前端,前端工程师,web开发工程师,html,css,javascript,html5,css3,git,github>
<meta name=description content=paddingme - he is a front-end developer.>
<meta name=robots content=index,follow>
<meta name=author content=paddingme,padding4me@gmail.com></p> <p> <meta name=renderer content=webkit>
<meta http-equiv=x-ua-compatible content=ie=edge,chrome=1>
<meta></p> <p> <meta http-equiv=cache-control content=no-siteapp></p> <p> <title>paddingme</title>
<link rel=shortcut icon type=image/x-icon href=../favicon.ico></p> <p> <link rel=author href=<a href=>>
<link type=text/plain rel=author href=<a href=> /></p> <p> <link rel=stylesheet href=/css/screen.css>
<link rel=stylesheet href=/css/font.css>
<link rel=stylesheet href=/css/social.css>
<link rel=alternate type=application/atom+xml title=atom 1.0 href=<a href=> />
</head>
doctype
doctype(document type),该声明位于文档中最前面的位置,处于html标签之前,此标签告知浏览器文档使用哪种html或者xhtml规范。
dtd(document type definition)声明以<!doctype>开始,不区分大小写,前面没有任何内容,如果有其他内容(空格除外)会使浏览器在ie下开启怪异模式(quirks mode)渲染网页。公共dtd,名称格式为“注册//组织//类型 标签//语言”,“注册”指示组织是否由国际标准化组织(iso)注册,+表示是,-表示不是。“组织”即组织名称,如:w3c;“类型”一般是dtd,“标签”是指定公开文本描述,即对所引用的公开文本的唯一描述性名称,后面可附带版本号。最后“语言”是dtd语言的iso 639语言标识符,如:en表示英文,zh表示中文。xhtml 1.0可声明三种dtd类型。分别表示严格版本,过渡版本,以及基于框架的html文档。
•
html 4.01 strict
<!doctype html public -//w3c//dtd html 4.01//en >
•
html 4.01 transitional
<!doctype html public -//w3c//dtd html 4.01 transitional//en >
•
html 4.01 frameset
<!doctype html public -//w3c//dtd html 4.01 frameset//en >
•
而最新html5 推出更加简洁的书写,它向前向后兼容,推荐使用。
<!doctype html>
html里的doctype有两个主要目的。
•对文档进行有效性验证。
它告诉用户代理和校验器这个文档是按照什么dtd写的。这个动作是被动的,每次页面加载时,浏览器并不会下载dtd并检查合法性,只有当手动校验页面时才启用。
•决定浏览器的呈现模式
对于实际操作,通知浏览器读取文档时用哪种解析算法。如果没有写,则浏览器则根据自身的规则对代码进行解析,可能会严重影响html排版布局。浏览器有三种方式解析html文档。
?非怪异(标准)模式
?怪异模式
?部分怪异(近乎标准)模式
关于ie浏览器的文档模式,浏览器模式,严格模式,怪异模式,doctype标签,可详细阅读模式?标准!,以及盒子模型。
charset
声明文档使用的字符编码,
代码如下:
<meta charset='utf-8'>
html5之前网页中会这样写:
代码如下:
<meta http-equiv=content-type content=text/html; charset=utf-8>
这两个是等效的,具体可移步阅读:,所以建议使用较短的,易于记忆。
lang属性
简体中文
<html lang=zh-cmn-hans> <!-- 更加标准的 lang 属性写法 <> -->
繁体中文
<html lang=zh-cmn-hant> <!-- 更加标准的 lang 属性写法 <> -->
很少情况才需要加地区代码,通常是为了强调不同地区汉语使用差异,例如:
代码如下:
<p lang=zh-cmn-hans>
<strong lang=zh-cmn-hans-cn>菠萝</strong>和<strong lang=zh-cmn-hant-tw>鳳梨</strong>其实是同一种水果。只是大陆和台湾称谓不同,且新加坡、马来西亚一带的称谓也是不同的,称之为<strong lang=zh-cmn-hans-sg>黄梨</strong>。
</p>
具体相关请移步
优先使用 ie 最新版本和 chrome
代码如下:
<meta http-equiv=x-ua-compatible content=ie=edge,chrome=1 />
360 使用google chrome frame
代码如下:
<meta name=renderer content=webkit>
360浏览器就会在读取到这个标签后,立即切换对应的极速核。
另外为了保险起见再加入
代码如下:
<meta http-equiv=x-ua-compatible content=ie=edge,chrome=1>
这样写可以达到的效果是如果安装了google chrome frame,则使用gcf来渲染页面,如果没有安装gcf,则使用最高版本的ie内核进行渲染。
相关链接:浏览器内核控制meta标签说明文档
百度禁止转码
通过百度手机打开网页时,百度可能会对你的网页进行转码,脱下你的衣服,往你的身上贴狗皮膏药的广告,为此可在head内添加
<meta http-equiv=cache-control content=no-siteapp />
相关链接:siteapp转码声明
seo优化部分
•
页面标题<title>标签(head头部必须)
<title>your title</title>
•
页面关键词keywords
<meta name=keywords content=your keywords>
•
页面描述内容description
<meta name=description content=your description>
•
定义网页作者author
<meta name=author content=author,email address>
•
定义网页搜索引擎索引方式,robotterms是一组使用英文逗号「,」分割的值,通常有如下几种取值:none,noindex,nofollow,all,index和follow。
<meta name=robots content=index,follow>
相关链接:web1038 - 标记包含无效的值
viewport
viewport 可以让布局在移动浏览器上显示的更好。
通常会写
<meta name=viewport content=width=device-width, initial-scale=1.0>
width=device-width 会导致 iphone 5 添加到主屏后以 webapp 全屏模式打开页面时出现黑边()
content 参数:
•width viewport 宽度(数值/device-width)
•height viewport 高度(数值/device-height)
•initial-scale 初始缩放比例
•maximum-scale 最大缩放比例
•minimum-scale 最小缩放比例
•user-scalable 是否允许用户缩放(yes/no)
•
minimal-ui ios 7.1 beta 2 中新增属性,可以在页面加载时最小化上下状态栏。这是一个布尔值,可以直接这样写:
<meta name=viewport content=width=device-width, initial-scale=1, minimal-ui>
而如果你的网站不是响应式的,请不要使用initial-scale或者禁用缩放。
<meta name=viewport content=width=device-width,user-scalable=yes>
相关链接:非响应式设计的viewport
ios 设备
添加到主屏后的标题(ios 6 新增)
代码如下:
<meta name=apple-mobile-web-app-title content=标题> <!-- 添加到主屏后的标题(ios 6 新增) -->
是否启用 webapp 全屏模式
代码如下:
<meta name=apple-mobile-web-app-capable content=yes /> <!-- 是否启用 webapp 全屏模式 -->
设置状态栏的背景颜色
代码如下:
<meta name=apple-mobile-web-app-status-bar-style content=black-translucent /> <!-- 设置状态栏的背景颜色,只有在 `apple-mobile-web-app-capable content=yes` 时生效 -->
只有在 apple-mobile-web-app-capable content=yes 时生效
content 参数:
•default 默认值。
•black 状态栏背景是黑色。
•black-translucent 状态栏背景是黑色半透明。
如果设置为 default 或 black ,网页内容从状态栏底部开始。
如果设置为 black-translucent ,网页内容充满整个屏幕,顶部会被状态栏遮挡。
禁止数字识自动别为电话号码
<meta name=format-detection content=telephone=no /> <!-- 禁止数字识自动别为电话号码 -->
ios 图标
rel 参数:
apple-touch-icon 图片自动处理成圆角和高光等效果。
apple-touch-icon-precomposed 禁止系统自动添加效果,直接显示设计原图。
iphone 和 itouch,默认 57x57 像素,必须有
<link rel=apple-touch-icon-precomposed href=/apple-touch-icon-57x57-precomposed.png /> <!-- iphone 和 itouch,默认 57x57 像素,必须有 -->
ipad,72x72 像素,可以没有,但推荐有
<link rel=apple-touch-icon-precomposed sizes=72x72 href=/apple-touch-icon-72x72-precomposed.png /> <!-- ipad,72x72 像素,可以没有,但推荐有 -->
retina iphone 和 retina itouch,114x114 像素,可以没有,但推荐有
<link rel=apple-touch-icon-precomposed sizes=114x114 href=/apple-touch-icon-114x114-precomposed.png /> <!-- retina iphone 和 retina itouch,114x114 像素,可以没有,但推荐有 -->
retina ipad,144x144 像素,可以没有,但推荐有
<link rel=apple-touch-icon-precomposed sizes=144x144 href=/apple-touch-icon-144x144-precomposed.png /> <!-- retina ipad,144x144 像素,可以没有,但推荐有 -->
ios 启动画面
官方文档:
参考文章:
ipad 的启动画面是不包括状态栏区域的。
ipad 竖屏 768 x 1004(标准分辨率)
代码如下:
<link rel=apple-touch-startup-image sizes=768x1004 href=/splash-screen-768x1004.png /> <!-- ipad 竖屏 768 x 1004(标准分辨率) -->
ipad 竖屏 1536x2008(retina)
代码如下:
<link rel=apple-touch-startup-image sizes=1536x2008 href=/splash-screen-1536x2008.png /> <!-- ipad 竖屏 1536x2008(retina) -->
ipad 横屏 1024x748(标准分辨率)
代码如下:
<link rel=apple-touch-startup-image sizes=1024x748 href=/default-portrait-1024x748.png /> <!-- ipad 横屏 1024x748(标准分辨率) -->
ipad 横屏 2048x1496(retina)
代码如下:
<link rel=apple-touch-startup-image sizes=2048x1496 href=/splash-screen-2048x1496.png /> <!-- ipad 横屏 2048x1496(retina) -->
iphone 和 ipod touch 的启动画面是包含状态栏区域的。
iphone/ipod touch 竖屏 320x480 (标准分辨率)
<link rel=apple-touch-startup-image href=/splash-screen-320x480.png /> <!-- iphone/ipod touch 竖屏 320x480 (标准分辨率) -->
iphone/ipod touch 竖屏 640x960 (retina)
<link rel=apple-touch-startup-image sizes=640x960 href=/splash-screen-640x960.png /> <!-- iphone/ipod touch 竖屏 640x960 (retina) -->
iphone 5/ipod touch 5 竖屏 640x1136 (retina)
<link rel=apple-touch-startup-image sizes=640x1136 href=/splash-screen-640x1136.png /> <!-- iphone 5/ipod touch 5 竖屏 640x1136 (retina) -->
添加智能 app 广告条 smart app banner(ios 6+ safari)
<meta name=apple-itunes-app content=app-id=myappstoreid, affiliate-data=myaffiliatedata, app-argument=myurl> <!-- 添加智能 app 广告条 smart app banner(ios 6+ safari) -->
windows 8
windows 8 磁贴颜色
代码如下:
<meta name=msapplication-tilecolor content=#000/> <!-- windows 8 磁贴颜色 -->
windows 8 磁贴图标
代码如下:
<meta name=msapplication-tileimage content=icon.png/> <!-- windows 8 磁贴图标 -->
rss订阅
<link rel=alternate type=application/rss+xml title=rss href=/rss.xml /> <!-- 添加 rss 订阅 -->
favicon icon
<link rel=shortcut icon type=image/ico href=/favicon.ico /> <!-- 添加 favicon icon -->
比较详细的favicon介绍可参考
移动端的meta
代码如下:
<meta name=viewport content=width=device-width, initial-scale=1, user-scalable=no />
<meta name=apple-mobile-web-app-capable content=yes />
<meta name=apple-mobile-web-app-status-bar-style content=black />
<meta name=format-detectioncontent=telephone=no, email=no />
<meta name=viewport content=width=device-width, initial-scale=1, user-scalable=no />
<meta name=apple-mobile-web-app-capable content=yes /><!-- 删除苹果默认的工具栏和菜单栏 -->
<meta name=apple-mobile-web-app-status-bar-style content=black /><!-- 设置苹果工具栏颜色 -->
<meta name=format-detection content=telphone=no, email=no /><!-- 忽略页面中的数字识别为电话,忽略email识别 -->
<!-- 启用360浏览器的极速模式(webkit) -->
<meta name=renderer content=webkit>
<!-- 避免ie使用兼容模式 -->
<meta http-equiv=x-ua-compatible content=ie=edge>
<!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 -->
<meta name=handheldfriendly content=true>
<!-- 微软的老式浏览器 -->
<meta name=mobileoptimized content=320>
<!-- uc强制竖屏 -->
<meta name=screen-orientation content=portrait>
<!-- qq强制竖屏 -->
<meta name=x5-orientation content=portrait>
<!-- uc强制全屏 -->
<meta name=full-screen content=yes>
<!-- qq强制全屏 -->
<meta name=x5-fullscreen content=true>
<!-- uc应用模式 -->
<meta name=browsermode content=application>
<!-- qq应用模式 -->
<meta name=x5-page-mode content=app>
<!-- windows phone 点击无高光 -->
<meta name=msapplication-tap-highlight content=no>
<!-- 适应移动端end -->
文章转载于:http://jishu.admin5.com/web/141206/4388.html
如想知道更多有关网站建设经验,手机网站开发经验,请继续关注:http://www.ratuo.com/