a <div class="imagemap">
<img src="img/map.png" width="496px" height="382px" alt="A BAND"/>
<ul>
<li class="rim"><a href="" title="Rim">Rim</a></li>
<li class="jim"><a href="" title="Jim">Jim</a></li>
<li class="sim"><a href="" title="Sim">Sim</a></li>
<li class="nim"><a href="" title="Nim 弄啥来">Nim</a></li>
</ul> </div>

以上是html的代码部分,将图片至于div容器中。热点用无序列表嵌套<a>标签的形式。

.imagemap{
  margin-top:2em;
  width:496px;
  height:382px;
  position:relative;/*KEY*/
}
.imagemap ul{
  margin:0;
  padding:0;
  list-style:none;}
.imagemap a{
  position:absolute;//绝对定位于容器左上角 负值缩进文本使之隐藏
  display:block;
  width:60px;
  height:65px;
  text-indent:-1000em;}
/*定位热点的位置*/
.imagemap .rim a{
  top:20px;
  left:75px}
.imagemap .jim a{
  top:20px;
  left:215px}
.imagemap .sim a{
  top:25px;
  left:375px}
.imagemap .nim a{
  top:65px;
  left:285px}
/*实现反转效果*/
.imagemap a:hover,
.imagemap a:focus{
  border:1px solid #fff;
}

容器的宽高要与图片一致,注意设置相对定位

对热点根据头像大小设置宽高,应用绝对定位,文本用较大的负值缩进进行隐藏。

针对每一个头像位置,设置热点位置。(效果如下)

flicker样式的翻转

两者的区别在于,在原来的基础上多了外框和解释标签,为此在原来的<a>标签插入三个span标签,两个是外框,一个是解释标签。

<div class="imagemap">
<img src="img/map.png" width="496px" height="382px" alt="A BAND"/>
<ul>
<li class="rim"><a href="" title="Rim"><span class="outer"><span class="inner"><span class="note">Rim</span></span></span></a></li>
<li class="jim"><a href="" title="Jim"><span class="outer"><span class="inner"><span class="note">Jim</span></span></span></a></li>
<li class="sim"><a href="" title="Sim"><span class="outer"><span class="inner"><span class="note">Sim</span></span></span></a></li>
<li class="nim"><a href="" title="Nim 弄啥来"><span class="outer"><span class="inner"><span class="note">Nim</span></span></span></a></li>
</ul> </div>
.imagemap{
margin-top:2em;
width:496px;
height:382px;
position:relative;/*KEY*/
}
.imagemap ul{
margin:0;
padding:0;
list-style:none;}
.imagemap a{
position:absolute;/*绝对定位于容器左上角 负值缩进文本使之消失 */
display:block;
color:#000;
border:1px solid transparent;
}
imagemap a .outer{
display:block;
border:1px solid transparent;
}
.imagemap a .inner{
display:block;
width:60px;
height:65px;
border:1px solid transparent;}
.imagemap .rim a{
top:20px;
left:75px}
.imagemap .jim a{
top:20px;
left:215px}
.imagemap .sim a{
top:25px;
left:375px}
.imagemap .nim a{
top:65px;
left:285px}
.imagemap a:hover,
.imagemap a:focus{
border-color:#d4d82d;
}
.imagemap a .note{
position:absolute;
bottom:-2em;
width:3em;
padding:0.2em 0.5em;
background-color:#ffc;
text-align:center;
left:-1000em;//在正常状态隐藏解释标签
margin-left:-2em;//使得标签居于热点中央。
}
.imagemap a:hover .outer,
.imagemap a:focus .outer{
border-color:#000;}
.imagemap a:hover .inner,
.imagemap a:focus .inner{
border-color:#fff;}
.imagemap a:hover .note,
.imagemap a:focus .note{
left:30px;}

css图片映射的更多相关文章

  1. HTML CSS简介与图片映射

    1. CSS 入门 内联样式:在 HTML 元素中使用 “style” 属性,需要将表现与内容混在一起: 内部样式表:在 HTML 文档头部 <head> 区域使用 <style&g ...

  2. 大众点评评论数据抓取 反爬虫措施有css文字映射和字体库反爬虫

    大众点评评论数据抓取  反爬虫措施有css文字映射和字体库反爬虫 大众点评的反爬虫手段有那些: 封ip,封账号,字体库反爬虫,css文字映射,图形滑动验证码 这个图片是滑动验证码,访问频率高的话,会出 ...

  3. 几种垂直居中的方式及CSS图片替换技术

    由于块级元素的高度是可以设置的,所以对于块级元素的垂直居中比较简单. 方法一: 在不定高的情况下,把元素的上下内边距设为同一个值即可实现,即padding :10px   0; 以上方法针对块级元素和 ...

  4. css图片叠加和底部定位

    css图片叠加和底部定位 css图片叠加 两张图片需要叠在一起显示,如何定位 容器先对定位 第一张图片正常摆放 第二张图片绝对定位,top:0px 这样便实现了两张图片叠加在一起了,设置z-index ...

  5. 转:利用node压缩、合并js,css,图片

    1.安装nodejs http://nodejs.org/ 2.安装各自的node package js我用的是UglifyJS github地址:https://github.com/mishoo/ ...

  6. CSS图片列表

    1.效果图: 2.Example Source Code <h3><a href="http://www.52css.com/">我爱CSS画廊</a ...

  7. 漂亮的自适应宽度的多色彩CSS图片按钮

    一.素材               二.效果 三.CSS *{padding:0;margin:0} /*----------------------------------- 自适应宽度图片按钮 ...

  8. css图片垂直居中

    css图片垂直居中一.style代码 .case-pic{ height: 125px; position: relative; text-align: center } .case-pic span ...

  9. css 图片 圆形显示区域

    css 图片 圆形显示区域 css 和 div 实现 方形图片 圆形显示 点击下载

随机推荐

  1. nyoj 203 三国志(最短路加01背包)

    三国志 时间限制:3000 ms  |  内存限制:65535 KB 难度:5   描述 <三国志>是一款很经典的经营策略类游戏.我们的小白同学是这款游戏的忠实玩家.现在他把游戏简化一下, ...

  2. [iOS 多线程 & 网络 - 2.9] - ASI框架

    A.ASI基本知识 1.ASI简单介绍 ASI:全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大. ASI的实现基于底层的CFNetwork框架,因此运行效率很高. ASI的g ...

  3. [MAC OSX - 1] OSX10.10不能安装JKD8,不能使用eclipse

    (1)电脑升级为10.10后,打开eclipse总是提示"您需要安装旧 Java SE 6 运行环境才能打开"Eclipse". 解决:安装JKD   (2)不能安装JK ...

  4. mac 下对 iterm 终端 设置代理

    vi .profile export http_prox="http://xxxx:port" export https_proxy="http://xxxx:port& ...

  5. Proactor设计模式:单线程高并发

    Boost::Asio为同步和异步操作提供了并行支持,异步支持基于前摄器模式,这种模式的优点和缺点可能比只同步或反应器方法要低. 让我们检查一下Boost::Asio是如何实现前摄器模式的,没有引用基 ...

  6. python求3的倍数与和

    suqares=[] i=1 sum=0 while i<=100: i+=1 if i*3: sum=sum+i # print(i) suqares.append(i*3) # print( ...

  7. ADO.NET 快速入门(十一):连接池

    这个示例演示了如何构建一个到数据源的连接池.你可以通过连接池部署高性能的应用程序.本例中使用连接串创建连接池,并且由 SqlConnection 自动管理.   string connString; ...

  8. Spring连接数据库的几种常用的方式

    本文简单的讲解使用Spring连接数据库的几种常用方法: 测试主类为: package myspring2; import java.sql.*; import javax.sql.DataSourc ...

  9. VBScript连接数据库

    'access类型 dim strconn,objconn strconn="driver=microsoft access driver(*.mdb);dbq=" _ & ...

  10. Codeforces Gym 100342J Problem J. Triatrip bitset 求三元环的数量

    Problem J. TriatripTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100342/att ...