html|Area
http://tomys.win/
HTML图片热区Area map的用法只是在上学的时候学习到过,在实际工作中一直没用过,如果 不是这次紧急任务,可能永远都不会想起这个功能。在一些特殊的html页面布局中巧用area,能省好多时间,达到事半功倍的效果。
area简介
area标记
主要用于图像地图,通过该标记可以再图像地图中设定作用区域(热点),这样当用户鼠标移到指定作用区域时,鼠标默认会显示成链接样式,点击会自动链接到预设好的页面,或者如果设置了onclick事件,会响应相应的点击事件。
基本语法结构:demo123456<img src="planets.jpg" border="0" usemap="#planetmap" alt="Planets" /><map name="planetmap" id="planetmap"><area shape="circle" coords="180,139,14" href ="venus.html" alt="Venus" /><area shape="circle" coords="129,161,10" href ="mercur.html" alt="Mercury" /><area shape="rect" coords="0,0,110,260" href ="sun.html" alt="Sun" /></map>用法简介:
- 一般
中的 usemap 属性可引用 中的 id 或 name 属性(由浏览器决定),所以我们需要同时向 添加 id 和 name 两个属性,以此来表示img与map之前的映射关系。
- 总是嵌套在标签中,表示在图像中的映射区域。
- shape和coords:shape定义鼠标敏感区域的形状(圆形,矩形,多边形),coords定义敏感区域的坐标。两者结合可以定义敏感区域的位置形状和大小。
- href 和 target :href定义区域的目标链接,target定义何处打开href,方式与中的target用法相同。
- area事件:area标签也支持HTML 中的事件属性,比如常见的onclick,onload等事件。
- 一般
特殊页面巧用area实例
area通常用在地图应用中,平时很少接触地图项目,所以渐渐快忘记这个标签了。最近的一个突发事件,让我对area的应用有了新的认识。临下班前,老板突然发给我十几个psd文件,让我做成html静态网页,莫说在临下班前写完十几个,写完四五个对我来说也是压力山大啊(ps:我已经将近两年没写过html页面了,这两年一直在做iOS),而且老板说了,要快!仔细研究了这些页面,虽然量大,但是大部分都是展示,只有少数几个地方需要点击跳转或者填写内容,那么对于这种主要作为展示又只是有少量点击功能的页面可以用area热点来快速实现。


图1中有三个点击部分(红色标注),图2中有三个点击部分,其实这些布局用普通的html布局也很好实现,只是当需要在短时间内实现十多个这种界面,用点儿特殊的技巧可以快速满足要求。
首先用photoshop等psd处理工具,标注出要点击部分(红色标注)的左上角和右下角的坐标生成如下代码(以图1为例)。
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
html,
body {
height: 100%;
}
.div1 {
height: 100%;
position: relative;
float: left;
left: 50%;
}
.div1 img {
height: 100%;
position: relative;
left: -50%;
display: block;
}
初看,基本符合要求,好像大功告成了,但是由于img的宽高不是原始值,而是根据浏览器的大小变化而变化的,所以,如果仅仅这样写,用到不同大小的浏览器上,点击的区域是值是写死的,所以最终效果不通用
html|Area的更多相关文章
- 【独家】硅谷创业公司在中国常跌的五个坑|禾赛科技CEO李一帆柏林亚太周主题演讲
[独家]硅谷创业公司在中国常跌的五个坑|禾赛科技CEO李一帆柏林亚太周主题演讲 李一帆 Xtecher特稿作者 关注 Xtecher推荐 演讲者:李一帆 翻译:晓娜 网址:www.xt ...
- 【PTA|Python】浙大版《Python 程序设计》题目集:第二章
前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...
- [转]NopCommerce How to add a menu item into the administration area from a plugin
本文转自:http://docs.nopcommerce.com/display/nc/How+to+code+my+own+shipping+rate+computation+method Go t ...
- ASP.NET MVC系列:Area
1. Area简介 ASP.NET MVC Area机制构建项目,可以将相对独立的功能模块切割划分,降低项目的耦合度. 2. Area设置Routing 新建Admin Area后,自动创建Admin ...
- Web API项目中使用Area对业务进行分类管理
在之前开发的很多Web API项目中,为了方便以及快速开发,往往把整个Web API的控制器放在基目录的Controllers目录中,但随着业务越来越复杂,这样Controllers目录中的文件就增加 ...
- MVC View中获取action、controller、area名称
获取控制器名称: ViewContext.RouteData.Values["controller"].ToString(); 获取Action名称: ViewContext.Ro ...
- [LeetCode] Rectangle Area 矩形面积
Find the total area covered by two rectilinear rectangles in a2D plane. Each rectangle is defined by ...
- 如何在Linux上使用文件作为内存交换区(Swap Area)
交换区域(Swap Area)有什么作用? 交换分区是操作系统在内存不足(或内存较低)时的一种补充.通俗的说,如果说内存是汽油,内存条就相当于油箱,交换区域则相当于备用油箱. Ubuntu Linux ...
- MVC 添加Area
在MVC项目中经常会使用到Area来分开不同的模块让项目结构更加的清晰. 步骤如下: 项目 –> 添加 -> 区域 ( Area ) 输入 Admin 添加成功后 Area包含: 创建一个 ...
随机推荐
- tensorflow训练Oxford-IIIT Pets
参考链接https://github.com/tensorflow/models/blob/master/object_detection/g3doc/running_pets.md 先参考https ...
- spring02-组件注册-@ComponentScan-自动扫描组件&指定扫描规则
上一篇我们讲到,讲@Bean注解标在某个方法上,那么ioc容器启动的时候就会将方法返回值放到ioc容器中 在开发中,实际上包扫描用的比较多,接下来我们会介绍两种方式一种是基于xml,一种是基于注解. ...
- ThreadPoolExecutor自定义线程池
1.ThreadPoolExecutor创建线程池的构造函数 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long ...
- opencv处理图像
import cv2 import numpy import os img = numpy.zeros((3, 3), dtype=numpy.uint8) print(img) img = cv2. ...
- VMware vSphere ESXi 和 vCenter Server 5.1 文档地址
VMware vSphere ESXi 和 vCenter Server 5.1 文档地址 https://pubs.vmware.com/vsphere-51/index.jsp?top ...
- 十四、linux-MySQL的数据库集群读写分离及高可用性、备份等
一.数据库集群及高可用性 二.mysql实现读写分离 mysql实现读写分离有多种方式: 1)代码语言(php\python\java等)层面实现读写分离,找开发进行实现. 2)通过软件工具实现读写分 ...
- docker容器中安装中文字体
在项目中用到pdf导出功能,需要安装中文字体,项目使用docker部署,为了方便决定在将字体安装在镜像中. 1.在dockerfile文件中添加字体copy语句(本次用是的宋体,字体源文件放在dock ...
- [LC] 273. Integer to English Words
Convert a non-negative integer to its english words representation. Given input is guaranteed to be ...
- 20)PHP,数组的遍历
然后开始使用这2个函数和while循环结构来实现数组遍历: 形式: reset($arr1); while ( list ($key, $value ) = each( $arr1) ) //从数组$ ...
- 为什么java的接口的方法是public abstract修饰?为什么属性是public static final 修饰?
为什么java的接口的方法是public abstract修饰? 1.首先要明白接口的定义和作用是什么: 接口定义:接口是一个全部由抽象方法组成的集合,里面都是抽象方法和常量,用interface修 ...