了解HTML锚点
- HTML
- 标签
- 重点标签
- HTML列表
概念
<a>元素 (或HTML锚元素, Anchor Element)通常用来表示一个锚点/链接。但严格来说,<a>元素不是一个链接,而是超文本锚点,可以链接到一个新文件、用id属性指向任何元素。如果没有<a>元素没有href属性的话,可以作为原本链接位置的占位符,常用于home链接
注意:任何文档流内容都可以被嵌套,只要不是交互内容类别(如按钮、链接等)
属性
href
href属性表示地址,共包括以下3种:
1、链接地址
<a href="http://www.baidu.com">百度</a>
2、下载地址
<a href="test.zip">下载测试</a>
3、锚点
(1)href:#id名
<a href="#test">目录</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div id="test" style="height: 200px;width: 200px; border: 1px solid black;margin-bottom: 300px;">内容</div>
(2)href:页面地址#id名
<a href="http://baike.baidu.com/view/2202.htm#2">足球比赛规则</a>
href与src的区别
href(hypertext reference)指超文本引用,表示当前页面引用了别处的内容
src(source)表示来源地址,表示把别处的内容引入到当前页面
所以<img>、<script>、<iframe>等应该使用src,而<a>和<map>应该使用href
注意:href属性一定不要留空,若暂时不需要写地址,则写#或javascript:;。若href留空,会刷新页面
4、手机号码
在移动端,使用<a href="tel:15012345678>15012345678</a>可以唤出手机拨号盘
target
target属性表示链接打开方式
1、_self 当前窗口(默认)
2、_blank 新窗口
3、_parent 父框架集
4、_top 整个窗口
5、_framename 指定框架
//外层框架
<frameset cols = "20%, *">
<frame src="left.html">
<frame src="right.html">
</frameset>
//里层框架
<frameset rows = "50%,*">
<frame src="top.html">
<frame src="bottom.html" name="bottom">
</frameset>
//锚点页
<ul class="list">
<li class="in"><a href="chap1.html" target="_self">chap1(_self)</a></li>
<li class="in"><a href="chap2.html" target="_blank">chap2(_blank)</a></li>
<li class="in"><a href="chap3.html" target="_parent">chap3(_parent)</a></li>
<li class="in"><a href="chap4.html" target="_top">chap4(_top)</a></li>
<li class="in"><a href="chap5.html" target="bottom">chap5(framename)</a></li>
</ul>
download
download属性用来设置下载文件的名称(firefox/chrome/opera支持)
<a href="test.zip" download="gogo">test</a>
rel
rel属性表示表示链接间的关系
alternate 相较于当前文档可替换的呈现
author 链接到当前文档或文章的作者
bookmark 链接最近的父级区块的永久链接
help 与当前上下文相关的帮助链接
license 当前文档的许可证
next 后一篇文档
prev 前一篇文档
nofollow 当前文档的原始作者不推荐超链接指向的文档
noreferer 访问时链接时不发送referer字段
prefetch 预加载链接指向的页面(对于chrome使用prerender)
search 用于搜索当前文档或相关文档的资源
tag 给当前文档打上标签
【应用】当一篇篇幅很长的文章需要多页显示时,配合next或prev可以实现前后页面导航的预加载
<a href="prev.html" rel="prev prefetch prerender">前一页</a>
<a href="next.html" rel="next prefetch prerender">后一页</a>
//当然prefetch也可以用于预加载其他类型的资源
<link rel="prefetch prerender" href="test.img">
注意事项
1、<a>标签的文本颜色只能自身进行设置,从父级继承不到
2、<a>标签的下划线颜色跟随文本颜色进行变化
3、<a>标签不可嵌套<a>标签
<div style="color: red;">
<a href="#">[1]从父级继承不到红色字体</a>
<br>
<a href="#" style="color: green">[2]下划线颜色与文本同色</a>
<br>
<a href="#">前面<a href="#">[3]a标签不可嵌套</a></a>
</div>
了解HTML图像及相关标签
img
<img>表示image图像,从技术上讲,<img>标签并不会在网页中插入图像,而是从网页上链接图像。<img> 标签创建的是被引用图像的占位空间。
【必须属性】
1、src:地址
2、alt:图像替代文本,供探索引擎抓取使用
【可选属性】
1、height:图像高度
2、width:图像宽度
3、ismap:为图像定义为服务器端图像映射
4、longdesc:与alt属性类似,提供多于1024字符的长文本描述
5、usemap:为图像定义客户端图像映射 usemap = "#<map>元素的name或id属性"
<img src="test.jpg" alt="测试图片" width="100" height="100">
6、srcset:指定图片的地址和对应的图片质量。属性格式:图片地址 宽度描述w 多个资源之间用逗号分隔。对于srcset里面出现了一个w单位,可以理解成图片质量。如果可视区域小于这个质量的值,就可以使用,当然,浏览器会自动选择一个最小的可用图片。但是,会发现随着浏览器窗口宽度变大,图片也在不断变大
注意:浏览器会自动匹配最佳显示的图片,如果大图既然缓存了就用大图了,再缩小也不会变成小图了
<img src="small.jpg" srcset="small.jpg 300w,middle.gif 500w,big.gif 800w">
7、sizes:用来设置图片的尺寸零界点,主要跟响应式布局打交道。属性格式为:媒体查询 宽度描述(支持px),多条规则用逗号分隔
注意:如果加上sizes属性,会发现,随着浏览器宽度变大,图片一直保持其初始尺寸。所以,应该sizes和srcset两个属性配合使用
<img src="small.jpg" srcset="small.jpg 300w,middle.gif 500w,big.gif 800w" sizes="(max-width:300px) 300px, (max-width:500px) 500px,800px">
8、crossorigin:使得在canvas中使用图片资源时可以突破跨域限制
<img alt="plane" src="test.jpg" crossorigin="anonymous">
figure
<figure>元素代表一段独立的内容,经常与说明(caption)<figcaption> 配合使用,并且作为一个独立的引用单元。figure通常用来插入图片,但它也可以是一段代码、图片、音乐或者视频
【默认样式】
margin: 16px 40px;
figcaption
figcatption用来定义figure元素的标题,且应该位于figure元素的第一个或最后一个子元素的位置。figure中只能包含一个figcaption
<figure>
<img src="abc.jpg" alt=""/>
<figcaption>
Website analytics for test...
</figcaption>
</figure>
map
<map> 与 <area>属性一起使用来定义一个图像映射
注意:<img>中的usemap属性可引用<map>中的id或name属性(取决于浏览器),所以应同时向<map>添加id和name属性。
area
<area>用来定义图像热区,<area>总是嵌套在<map>标签中
【必须属性】
1、alt:替代文本
【可选属性】
1、coords:定义可点击区域的坐标
2、href:定义此区域的目标URL
3、nohref:排除某个区域(html5中已废弃)
4、shape:定义区域的形状
a、圆形(circ/circle) coords= "x,y,r" x,y是圆心坐标;r是半径
b、多边形(poly/polygon) coords = "x1,y1,x2,y2,x3,y3……" x,y是多边形每个顶点的坐标
c、矩形(rect/rectangle) coords = "x1,y1,x2,y2" x1,y1是左上角坐标;x2,y2是右下角坐标
d、全部区域default(默认)
注意:<area>标签采用"先来先得"的顺序,如果区域有重叠,以先出现的<area>为准
了解HTML列表
从某种意义上讲,不是描述性文本的任何内容都可以认为是列表。人口普查、太阳系、餐馆菜单等都可以表示为一个列表或列表的列表。列表分为无序列表、有序列表和定义列表三种:
无序列表
无序列表(unorder list)缩写为ul,即无数值排序项的集合,且它们在列表中的顺序是没有意义的。通常情况下,无序列表项的头部可以是几种形式,如一个点,一个圆形或方形。头部的风格并不是在页面的HTML描述定义,但在其相关的CSS可以用list-style-type属性
【默认样式】
//IE7-浏览器margin-left: 30pt;
ul{
margin: 16px 0;
padding-left: 40px;
list-style-type: disc;
}
<ul>
<li>Coffee</li>
<li>Milk</li>
</ul>
有序列表
有序列表(order list)简写为ol,表示多个有序列表项。通常情况下,有序列表中显示在项前面的编号(a preceding numbering),可以是任何形式的,如数字、字母或罗马数字甚至简单的点。 在网页的 HTML 描述中并没有定义编号的样式,但可以用相关的CSS定义,使用 list-style-type 属性
【默认样式】
//IE7-浏览器margin-left: 30pt;
ol{
margin: 16px 0;
padding-left: 40px;
list-style-type: decimal;
}
<ol>
<li>Coffee</li>
<li>Milk</li>
</ol>
【属性】
HTML5为ol新增了两个属性:reversed和start
1、reversed
降序(IE和safari不支持)
2、start
有序列表的起始项(没有start属性的CSS替代方案)
<ol reversed start="2">
<li>咖啡</li>
<li>牛奶</li>
<li>茶</li>
<li>可乐</li>
<li>酒</li>
</ol>
marker
marker表示ol或ul中li的列表项标志,虽然list-style样式只能应用于display的值为list-item的元素,但由于该样式可继承,所以可以将其应用在ol或ul,然后通过继承,使所有的li都获取设置的list-style样式。如果给某一个li设置list-style样式,将覆盖其从父级继承的list-style样式
list-style(列表项标志复合样式):list-style-type list-style-image list-style-position
1、list-style-type:列表项标志类型
2、list-style-image:列表项标志图像
3、list-style-position:列表项标志位置
注意:当list-style-image不为none时,list-style-type值将被覆盖;通常提供一个作为“后路”的标志类型,应付图像未能加载的意外情况
<演示框>点击下列相应属性值可进行演示
注意:IE7-浏览器不支持属性值 "decimal-leading-zero"、"lower-greek"、"lower-latin"、"upper-latin"、"armenian"、"georgian"
定义列表
定义列表(define list)简写是dl,是一个包含术语定义以及描述的列表,通常用于展示词汇表或者元数据(键-值对列表)
定义元素(define list title)用于在一个定义列表中声明一个术语。该元素仅能作为dl的子元素出现。通常在该元素后面会跟着dd元素
描述元素(define list describe)用来指明一个描述列表dl元素中一个术语的描述。这个元素只能作为描述列表元素的子元素出现,并且必须跟着一个dt元素
注意:一个dt可对应多个dd;<dl><dt><dd>的display都是block
【默认样式】
dl{
margin: 16px 0;
}
//IE7-浏览器margin-left: 30pt;
dd{
margin-left: 40px;
}
<dl>
<dt>Coffee</dt>
<dd>Black hot drink</dd>
<dt>Milk</dt>
<dd>White cold drink</dd>
</dl>