建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
html中head头结构
发布日期:2014-12-06 阅读次数:1207 字体大小:

下面介绍下常用的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/