当前位置: 首页 > 编程日记 > 正文

HTML5:理解head

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

HTML文档的head部分,通常包括指定页面标题,为搜索引擎提供关于页面本身的信息,加载样式表,以及加载JavaScript文件(出于性能考虑,多数时候放在页面底部</body>标签结束前加载JavaScript)。除了title,head里的内容对页面访问者来说都是不可见的。

下面是HTML文档head部分的一个例子:

[html]  view plain copy
  1. <head>  
  2.     <meta charset="utf-8" />  
  3.     <meta name="author" content="Adam Freeman"/>  
  4.     <title>Your page title</title>  
  5.     <base href="http://titan/listings/" target="_blank"/>  
  6.     <style type="text/css">  
  7.         a{  
  8.             background-color: grey;  
  9.             color: white;  
  10.             padding: 0.5em;  
  11.         }  
  12.     </style>  
  13. </head>  

title元素

head元素中必须包含一个title元素,该元素内容会出现在浏览器的标签页中或者出现在浏览器窗口的顶部,作为网页标题,和浏览器相关。

base元素

base元素用来设置一个基准URL,让HTML文档中的相对链接在此基础上进行解析。如未指定,则使用当前加载文档的URL。base元素还能设定链接在用户点击时的打开方式,以及提交表单时浏览器如何反应。
[html]  view plain copy
  1. <base href="http://titan/listings/" target="_blank"/>  
1)href即为指定的基准URL。
2)target属性规定在何处打开页面上的所有链接,包括值:
1)_blank:在新窗口中打开被连接文档;
2)_self:默认,在相同的框架中打开被链接文档;
3)_parent:在父框架打开被链接文档;
4)_top:在整个窗口中打开被链接文档;
5)framename:在指定框架中打开被链接文档。

meta元素

meta元素用来定义文档的各种元数据,meta元素可以有多种用途,但每个meta元素只能用于一种用途,如果需要使用不止一种,就需要在head元素中添加多个meta元素。

指定名/值元数据对

[html]  view plain copy
  1. <meta name="author" content="Adam Freeman"/>  
name属性用来表示元数据的类型,content属性提供值。name属性包含以下值:
1)application name:当前页所属Web应用系统的名称;
2)author:当前页的作者名;
3)description:当前页的说明;
4)generator:用来生成HTML的软件名称;
5)keywords:描述页面的内容。
除了以上5个预定义的元数据名称,还可以使用元数据扩展,这里(http://wiki.whatwg.org/wiki/MetaExtensions)有这些扩展的一份时常更新的清单。有些扩展用的比较多,例如robots元数据,HTML文档的作者可以用它告诉搜索引擎该如何对待该文档:
[html]  view plain copy
  1. <meta name="robots" content="noindex"/>  
该属性有三个大多数搜索引擎都认识的值:
1)noindex:不要索引本页;
2)noarchive:不要将本页存档或缓存;
3)nofollow:不要顺着本页中的链接继续搜索下去。
大多数搜索引擎都提供了优化网页或整个网站的指南,可以查看相应搜索引擎提供的网页或网站优化指南。

声明字符编码

[html]  view plain copy
  1. <meta charset="utf-8" />  
head元素中的meta元素声明文档的字符编码为UTF-8(默认)。

模拟HTTP标头字段

meta元素可以用来模拟或替换三种HTTP标头字段的值。
[html]  view plain copy
  1. <meta http-equiv="refresh" content="5"/>  
http-equiv属性的用途是指定所要模拟的标头字段名称,字段值在content属性中指定。http-equiv属性的可选值如下:
1)refresh:以秒为单位指定一个时间间隔,在此时间过去之后将从服务器重新载入当前页面。也可以另行指定一个URL让浏览器载入,如:
[html]  view plain copy
  1. <meta http-equiv="refresh" content="5;http://www.apress.com"/>  
2)default-style:指定页面优先使用的样式表,content属性的值必须是同一文档中某个style元素或link元素的title属性值;
3)content-type:另一种声明HTML页面所用字符编码的方法,如:
[html]  view plain copy
  1. <meta http-equiv="content-type" content="text/html charset=UTF-8"/>  

style元素

定义HTML文档内嵌的CSS样式。
[html]  view plain copy
  1. <style type="text/css">  
  2.     a{  
  3.         background-color: grey;  
  4.         color: white;  
  5.         padding: 0.5em;  
  6.     }  
  7. </style>  
上面为a元素设计了一个新样式。style元素可以出现在HTML文档中的各个部分,一个文档可以包含多个style元素,该元素可以用于为模板定义的样式(link元素导入)提供补充。
可以为style元素指定样式适用的媒体:
[html]  view plain copy
  1. <style media="screen AND (min-width:500px)" type="text/css">  
  2.     ......   
  3. </style>  
media属性中的screen是设备类型,可选值的范围包括:
1)all:将样式用于所有设备(默认值);
2)aural:将样式用于语音合成器;
3)braille:将样式用于忙问设备;
4)handheld:将样式用于手持设备;
5)projection:将样式用于投影机;
6)print:将样式用于打印预览和打印页面时;
7)screen:将样式用于计算机显示器屏幕;
8)tty:将样式用于电传打字机之类的等宽设备;
9)tv:将样式用于电视机。
media属性中的(min-width:500px)指定特性,包括:
1)width height:指定浏览器窗口的宽度和高度,单位px,例如:width:200px
2)device-width device-height:指定整个设备(而不仅仅是浏览器窗口)的宽度和高度,单位px,例如:min-device-height:200px
3)resolution:指定设备的像素密度,单位dpi(点/英寸)或dpcm(点/厘米),例如:max-resolution:600dpi
4)orientation:指定设备的较长边朝向,可选值为portrait和landscape
5)aspect-ratio device-aspect-ratio:指定浏览器窗口或整个设备的像素宽高比,例如:min-aspect-ratio:16/9
6)color monochrome:指定彩色或黑白设备上每个像素占用的二进制位数,例如:min-monochrome:2
7)color-index:指定设备所能显示的颜色数目,例如:max-color-index:256
8)scan:指定电视的扫描模式,包括值progressive和interlace
9)grid:指定设备的类型,支持的值为0和1(1代表网格型设备,使用固定的网格显示内容)

link元素

用来在HTML文档和外部资源(如CSS样式表)之间建立联系。link元素包含6个局部属性,如下:
1)href:指定link元素指向的资源的URL;
2)hreflang:说明所关联资源使用的语言;
3)media:说明所关联的内容用于哪种设备,同style中的media属性;
4)rel:说明文档与所关联资源的关系类型,值的范围如下:
---alternate:链接到文档的替代版本,比如另一种语言的译本;
---author:链接到文档的作者;
---help:连接到当前文档的说明文档;
---icon:指定图标资源;
---license:链接到当前文档的相关许可证;
---pingback:指定一个回探(pingback)服务器,从其他网站链接到博客的时候它能自动得到通知;
---prefetch:预先获取一个资源;
---stylesheet:载入外部样式表。
5)sizes:指定图标的大小;
6)type:指定所关联资源的MIME类型,如text/css、image/x-icon。

载入外部样式表

[html]  view plain copy
  1. <link rel="stylesheet" type="text/css" href="styles.css"/>  
可以使用多个link元素载入多个外部资源。

为页面定义网站标志

[html]  view plain copy
  1. <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />  
浏览器载入HTML页面时,会加载并显示网站标志。
注:如果网站标志文件位于/favicon.ico(即Web服务器的根目录),那就不必用到link元素,大多数浏览器在载入页面时都会自动请求这个文件,就算没有link元素也是如此。

预先获取资源

可以要求浏览器预先获取预计很快就要用到的资源。
[html]  view plain copy
  1. <link rel="prefetch" href="/page2.html"/>  
注:目前不是所有浏览器都支持该功能。

script元素

用于在页面中加入脚本,可以直接在文档中定义脚本和引用外部文件中的脚本。该元素支持的局部属性如下:
1)type:表示所引用或定义的脚本的类型,对于JavaScript脚本这个属性可以省略
2)src:指定外部脚本文件的URL
3)defer async(HTML5新增):设定脚本的执行方式,这两个属性只能与src属性一同使用
4)charset:说明外部脚本文件所用字符编码,该属性只能与src属性一同使用

定义文档内嵌脚本

[html]  view plain copy
  1. <script>  
  2.     document.write("This is from the script");  
  3. </script>  
默认情况下,浏览器在页面中一遇到脚本就会执行。

载入外部脚本库

可以将脚本放到单独的文件中,然后用script元素载入HTML文档。
[html]  view plain copy
  1. <script src="simple.js"></script>  

推迟脚本的执行

使用async和defer属性可以对脚本的执行方式加以控制,defer属性告诉浏览器要等页面载入和解析完成后才能执行脚本:
[html]  view plain copy
  1. <script defer src="simple2.js"></script>  
由于html遇到脚本就会执行,如果你的脚本需要使用到html脚本中的内容,通常你需要将脚本放到相应的html脚本后,但在html5中,使用defer属性就能达到同样的目的。
浏览器遇到script元素时的默认行为是在加载和执行脚本的同时暂停处理页面,各个script元素依次同步执行。async属性可以在浏览器解析HTML文档时异步加载和执行脚本,如果运用得当,可以大大提高整体加载性能。
[html]  view plain copy
  1. <script async src="simple2.js"></script>  

noscript元素

noscript元素用来向禁用了JavaScript或浏览器不支持JavaScript的用户显示一些内容。
[html]  view plain copy
  1. <noscript>  
  2.     <h1>JavaScript is required!</h1>  
  3.     <p>You cannot use this page without JavaScript</p>  
  4. </noscript>  
还有一种选择是在浏览器不支持JavaScript时将其引至另一个URL。
[html]  view plain copy
  1. <noscript>  
  2.     <meta http-equiv="refresh" content="0;http://www.apress.com"/>  
  3. </noscript>  

转载于:https://my.oschina.net/zhanghaiyang/blog/593199

相关文章:

php定时任务为什么不好写,php解决crontab定时任务不能写入文件问题的方法分析...

本文实例讲述了php解决crontab定时任务不能写入文件问题的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;今天使用crontab写的定时任务没有执行&#xff0c;很纳闷。crontab.phperror_reporting(0);$time date("Y-m-d h:i:s",time());file_put_conten…

SpringMVC权限管理

2019独角兽企业重金招聘Python工程师标准>>> 1.DispatcherServlet SpringMVC具有统一的入口DispatcherServlet&#xff0c;所有的请求都通过DispatcherServlet。 DispatcherServlet是前置控制器&#xff0c;配置在web.xml文件中的。拦截匹配的请求&#xff0c;Servl…

搭建Hadoop集群步骤

——基于三台机器 一、前提 1、 首先要有三台已联网机器&#xff0c;假设为A&#xff0c;B1&#xff0c;B2。其中A&#xff1a;192.168.81.91&#xff1b;B1:192.168.81.92&#xff1b;B2:192.168.81.93。机器装有Ubuntu10.04服务器版64位操作系统。 2、 对三台机器做相同的处…

使用DCloud+Framework7制作移动APP应用(一)

http://my.oschina.net/kenblog/blog/516201转载于:https://www.cnblogs.com/NodeStudy/p/5223273.html

nsq php,Nsq从入门到实践

当nsq跑起来之后, 我们可能会遇到以下问题分布式部署处理错误(何时requeue)如何使用golang lib抱着不应该只停留在入门的态度, 笔者粗浅的研究了一下这几个问题, 希望也对有同样疑问的人有帮助.部署由于NSQ的分布式网络结构, NSQD必须广播(到lookup)自己的地址并让消费者连接, …

Java单元测试之JUnit4详解

2019独角兽企业重金招聘Python工程师标准>>> Java单元测试之JUnit4详解 与JUnit3不同&#xff0c;JUnit4通过注解的方式来识别测试方法。目前支持的主要注解有&#xff1a; BeforeClass 全局只会执行一次&#xff0c;而且是第一个运行Before 在测试方法运行之前运行…

Java 学习笔记 ------第二章 从JDK到IDE

本章学习目标&#xff1a; 了解与设定PATH了解与指定CLASSPATH了解与指定SOURCEPATH使用package与import管理类别初步认识JDK与IDE的对应关系一、第一个Java程序 工具&#xff1a;使用Windows自带记事本或下载其他编辑器&#xff08;推荐NotePad和Sublime&#xff09; //第一个…

Delphi中的容器类(二)

TStrings类 出于效率的考虑&#xff0c;Delphi并没有象C和Java那样将字符串定义为类&#xff0c;因此TList本身不能直接存储字符串&#xff0c;而字符串列表又是使用非常广泛的&#xff0c;为此Borland提供了TStrings类作为存储字符串的基类&#xff0c;应该说是它除了TList…

Java怎么把数组怎么放入set,如何将数组转换为Java中的Set

回答(16)2 years ago我从上面的建议中写下了以下内容 - 偷了它......真好&#xff01;/*** Handy conversion to set*/public class SetUtil {/*** Convert some items to a set* param items items* param works on any type* return a hash set of the input items*/public s…

vue组件定义、组件的切换、组件的通信、渲染组件的几种方式(标签、路由、render)...

vue中全局的概念是什么&#xff1f;---就是全局定义的功能&#xff0c;所有实例化的vm都可以使用&#xff0c; 全局定义的是挂在构造函数Vue上面的&#xff0c;所以实例化出的对象都可以使用这个功能 1、什么是组件&#xff1f;---从UI的角度把页面拆分成不同的部分&#xff0…

JS九九乘法表

来一个老生常谈的话题--九九乘法表&#xff0c;哈哈&#xff0c;好久不写了呢 <!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title></title><style>th{border: #ccc 1px solid;font-weight: n…

Php Fatal error: Allowed memory size of 33554432 bytes exhausted 的解决办法

Php Fatal error: Allowed memory size of 33554432 bytes exhausted 的解决办法 在 php.ini 配置文档里面&#xff0c;默认的memory_limit 属性值为32M &#xff0c;值设置得太小了而导致这个问题的出现。 解决这个问题&#xff0c;我们一般有三种方式&#xff1a; 1、修改PHP…

php 自加 性能,对于数据库的自增、自减心得

系统研发过程中会有很多地方涉及到自增、自减操作 如&#xff1a;加入版块时&#xff0c;用户版块数自增1&#xff0c;版块用户数自增1&#xff1b;退出版块时&#xff0c;用户版块数要减1&#xff0c;版块用户数也要减1这里推荐&#xff1a;1.自增可以用2.自减不要用&#xff…

Linux rsync目录同步功能实现

实现目标:A 服务器上 /opt/web 目录,与B服务器上 /opt/web目录实现同步。即&#xff1a;B主动与A进行同步。OS: Reaht AS4A Server 192.168.1.2 /opt/webB Server 192.168.1.3 /opt/web一. A Server config1.rsync 系统自带, 需要使用 --deamon 方式进行启动,服务端口是 TCP …

宏定义的布局约束

*自适应向布局约束的转化关闭*/ #define PREPCONSTRAINTS(VIEW) [VIEW setTranslatesAutoresizingMaskIntoConstraints:NO] #define CONSTRAIN(PARENT, VIEW, FORMAT) [PARENT addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:(FORMAT) options:0 metrics:nil…

项目中WebService使用Spring容器的配置

<context:component-scan base-package"com.huawei.support"> <context:include-filter type"annotation" expression"org.aspectj.lang.annotation.Aspect" /> </context:component-scan> 扫描采用注解…

java 静态代码块 多线程,Java多线程编程笔记10:单例模式

立即加载&#xff1a;“饿汉模式”立即加载就是指使用类的时候已经将对象创建完毕&#xff0c;常见的实现方法就是直接new实例化。也就是在调用方法前&#xff0c;实例就被创建了。示例代码如下所示&#xff1a;class MyObject{private static MyObject myObjectnew MyObject()…

创业笔记-Node.js入门之阻塞与非阻塞

阻塞与非阻塞 正如此前所提到的&#xff0c;当在请求处理程序中包括非阻塞操作时就会出问题。但是&#xff0c;在说这之前&#xff0c;我们先来看看什么是阻塞操作。 我不想去解释“阻塞”和“非阻塞”的具体含义&#xff0c;我们直接来看&#xff0c;当在请求处理程序中加入阻…

vs 添加ico图 到资源

有时候想用自己做的ico 文件作为程序的图标来取代VS 程序默认的图标&#xff1b;在VS2005 资源视图中&#xff0c;打开Icon 上右击-->Add resource -->Import -->选择自己的ico 文件会跳出个错误框&#xff0c;说VS不支持32 位彩色图片&#xff1b; 网上搜索说VS不支…

HIVE QL 杂记

最近要处理用户访问日志&#xff0c;需要从HIVE中取数据&#xff0c;写了一些HIVE QL&#xff0c;有一点小感想&#xff0c;记录在此。 1. 临时表 在HIVE中进行多表连接时&#xff0c;可以给一些临时表命名&#xff0c;这样有助于理清查询语句之间的逻辑&#xff0c;格式为&…

java和内存交互,java内存模型-内存间交互操作

前言本文是阅读周志明大佬的《深入理解Java虚拟机&#xff1a;JVM高级特性与最佳实践(第3版)》第12章&#xff0c;12.3节Java内存模型得来的读书笔记。阅读告警&#x1f602;&#x1f602;&#x1f602;&#xff0c;本文可能会有点枯燥&#xff0c;大部分内容都是对书中内容做一…

文件读写io操作范例

系统io读写&#xff0c;copy int main(int argc, char **argv) { if(argc ! 3) { printf("Usage: %s <src> <dst>\n", argv[0]); exit(0); } int fd1, fd2; fd1 open(argv[1], O_RDONLY); fd2 open(argv[2], O_CREAT | O_TRUNC | O_WRONLY); if(…

一步步教你编写redactor的插件

Redactor是一款JQuery框架下的所见即所得在线HTML编辑器&#xff0c;具有常用的功能如图片/文件上传、表格、格式化等等&#xff0c;不仅轻量级和跨浏览器&#xff0c;还支持各种平台如PC、Mac、iPad, iPhone、Android、Refrigerators&#xff0c;更重要的它能够自动保存、自动…

windows系统杀掉explorer.exe进程后黑屏

使用“Ctrl Shift ESC”打开任务管理器 文件----> 运行新任务---->运行explorer即可 转载于:https://www.cnblogs.com/mrnx2004/p/11065573.html

php 自动返回,PHP实现自动识别Restful API的返回内容类型

如题&#xff0c;PHP如何自动识别第三方Restful API的内容&#xff0c;自动渲染成 json、xml、html、serialize、csv、php等数据&#xff1f;其实这也不难&#xff0c;因为Rest API也是基于http协议的&#xff0c;只要我们按照协议走&#xff0c;就能做到自动化识别 API 的内容…

WebKit、Gecko使用图形库

2008年11月30日 星期日 上午 01:20阅读了之后&#xff0c;觉得作为浏览器内核WebKit、Gecko&#xff0c;为了能高效美观的显示页面的内容&#xff0c;选择适当的图形库非常重要。如果图形库选择不当&#xff0c;往往会导致页面上显示的文字、图片不美观&#xff0c;看起来总让人…

office使用技巧

Word绝招:一、 输入三个“”&#xff0c;回车&#xff0c;得到一条双直线&#xff1b;二、 输入三个“~”&#xff0c;回车&#xff0c;得到一条波浪线&#xff1b;三、 输入三个“*”或 “-”或 “#”&#xff0c;回车&#xff0c;惊喜多多&#xff1b;在单元格内输入now&…

怎样用matlab打开mw文,C# matlab混合编程 MWArray使用笔记

C# matlab混合编程徐凯Email&#xff1a;xukai19871105http://www.doczj.com/doc/1a6e191fff00bed5b9f31dbf.html这几天突然想搞一搞以前没有搞定的MATLABC#混合编程&#xff0c;今天把原来编写的代码拿出来看看&#xff0c;然后结合网上一些正确的和一些错误的代码看看&#x…

【Android OpenGL ES】阅读hello-gl2代码(二)Java代码

AndroidManifest.xml <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"com.android.gl2jni"><applicationandroid:label"string/gl2jni_ac…

activiti任务TASK

一、概要 设计TASK的表主要是&#xff1a;ACT_RU_TASK&#xff0c;ACT_HI_TASKINST&#xff08;见参考-activiti表&#xff09;&#xff1b;任务主要有&#xff1a;人工任务&#xff08;usertask&#xff09;,服务任务&#xff08;servicetask&#xff09;等&#xff1b;候选人…