The Web Design Group

... Making the Web accessible to all.

Welcome Guest ( Log In | Register )

> HTML Image Map Hover Function
bnew10
post Jan 25 2012, 04:46 PM
Post #1


Newbie
*

Group: Members
Posts: 18
Joined: 25-January 12
Member No.: 16,329



Hello, let me preface my post by stating that I am a beginner when it comes to HTML code. I apologize ahead for my ignorance...

Now my questions, I am in the process of creating an image for the company I work for. Basically, I used Illustrator and have created an image with the goal of "mapping" particular areas of this image to create a "hover" effect. I am not sure if these are the correct terms to describe my goal. None the less, I have about 9 separate areas of this image that I would like a small text box to appear when someone rolls their mouse over each area. The text that appears on the rollover would be short and not too lengthy.

I have read a little into the process of "image mapping", but I do not need the mapped area to send someone to a different URL. I just want some simple text to appear to describe/explain the area of the image that folks are hovering above with their mouse. I am not sure if image mapping is still the process I need to pursue, or if there is a whole different process I need to use to achieve this goal?

Keep in mind I am unfamiliar with HTML terms and process (I went to school in a completely unrelated field) but I have enjoyed doing some very basic editing online. Typically, I have used a composer application to assist me with the technical process of HTML editing. Obviously, my goal would be to add this image to several different areas of our website, and allow this image to function as stated above. It appears that this is possible to do, and I have my image done and ready to edit to reflect the desired function.

If this helps, the image is that of a baseball diamond. The goal is when a customer hovers over a specific position on the field the text box would appear explaining the position further, then vanish when they moved their mouse away from that specific area.

Any help or links that might be helpful will be much appreciated. Thank you all...
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
 
Reply to this topicStart new topic
Replies
Frederiek
post Jan 26 2012, 04:15 AM
Post #2


Programming Fanatic
********

Group: Members
Posts: 5,146
Joined: 23-August 06
From: Europe
Member No.: 9



Have a look at this CSS exemple from Stu Nicholls : http://www.cssplay.co.uk/menu/solar_map.html .
There's also a clickable version, with javascript, at http://www.stunicholls.com/various/solar_map.html .
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
bnew10
post Jan 26 2012, 04:07 PM
Post #3


Newbie
*

Group: Members
Posts: 18
Joined: 25-January 12
Member No.: 16,329



QUOTE(Frederiek @ Jan 26 2012, 04:15 AM) *

Have a look at this CSS exemple from Stu Nicholls : http://www.cssplay.co.uk/menu/solar_map.html .
There's also a clickable version, with javascript, at http://www.stunicholls.com/various/solar_map.html .



I just looked at both links and that is exactly what I had in my mind's eye when I came up with this idea. How difficult are we talking here?
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
pandy
post Jan 26 2012, 04:49 PM
Post #4


🌟Computer says no🌟
********

Group: WDG Moderators
Posts: 20,716
Joined: 9-August 06
Member No.: 6



I haven't looked, but it's probably basically the same deal I gave you a simple version of, only this one is pretty. biggrin.gif It isn't hard, but you need to familiarize yourself with a few concepts you may not yet know. The display property, how you can show or hide things on :hover and positioning.

As for your other question, title works in all fairly recent browsers. The ones that don't support title are so old it doesn't matter, Netscape 4 and older. To be honest, I'm not sure what other devices than graphical browsers do with title, if they do anything at all.

Why not start with title and then take your time to figure those other things out and you can update when you've got right?
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
bnew10
post Jan 26 2012, 05:19 PM
Post #5


Newbie
*

Group: Members
Posts: 18
Joined: 25-January 12
Member No.: 16,329



QUOTE(pandy @ Jan 26 2012, 04:49 PM) *

I haven't looked, but it's probably basically the same deal I gave you a simple version of, only this one is pretty. biggrin.gif It isn't hard, but you need to familiarize yourself with a few concepts you may not yet know. The display property, how you can show or hide things on :hover and positioning.

As for your other question, title works in all fairly recent browsers. The ones that don't support title is so old it doesn't matter, Netscape 4 and older. To be honest, I'm not sure other devices than graphical browsers do with title, if they do anything at all.

Why not start with title and then take your time to figure those other things out and you can update when you've got right?



I definitely agree. That was what I did not know about the first option you suggested. I did not know if one could edit the font, add a border, etc. to the "simple" title option. It appears that it is possible in HTML correct? I will just try and teach myself as I go and see if I can eventually, slowly upgrade the appearance. I just thought when Frederiek suggested those two different ideas that they would not be possible for me to do using HTML, and would require knowledge in CSS and/or Javascript.
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
pandy
post Jan 26 2012, 06:11 PM
Post #6


🌟Computer says no🌟
********

Group: WDG Moderators
Posts: 20,716
Joined: 9-August 06
Member No.: 6



Nope. You can't change a thing about how the title is displayed.
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
bnew10
post Jan 27 2012, 05:35 PM
Post #7


Newbie
*

Group: Members
Posts: 18
Joined: 25-January 12
Member No.: 16,329



QUOTE(pandy @ Jan 26 2012, 06:11 PM) *

Nope. You can't change a thing about how the title is displayed.


Ah, I think I misunderstood before. I am looking at the code now you provided and am going to try and edit it to reflect what I am trying to do. I may need some help for some basic stuff and I hope you won't mind if I pick your brain a bit. You have been extremely helpful!

One last question, are there situations were CSS would not be supported on our site? I have only ever written in basic HTML and do not know if our site will support CSS...
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
pandy
post Jan 27 2012, 05:42 PM
Post #8


🌟Computer says no🌟
********

Group: WDG Moderators
Posts: 20,716
Joined: 9-August 06
Member No.: 6



If the user has turned it off (not likely), uses a very old browser (even less likely) or if he uses some device other than a graphical browser that can't make head or tail of your CSS. Also, as I said before about title, I don't know what screen readers do with this either.

For whatever reason CSS isn't supported, they will see your popup texts where you've placed them in the HTML. Same goes for bots, as Google for example.
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
bnew10
post Jan 27 2012, 06:01 PM
Post #9


Newbie
*

Group: Members
Posts: 18
Joined: 25-January 12
Member No.: 16,329



QUOTE(pandy @ Jan 27 2012, 05:42 PM) *

If the user has turned it off (not likely), uses a very old browser (even less likely) or if he uses some device other than a graphical browser that can't make head or tail of your CSS. Also, as I said before about title, I don't know what screen readers do with this either.

For whatever reason CSS isn't supported, they will see your popup texts where you've placed them in the HTML. Same goes for bots, as Google for example.


I just checked and CSS is going to be supported just fine on our site. So I am definitely giving your example code a try. I feel like I am understanding some real basic principles now...ha real basic.
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
pandy
post Jan 27 2012, 07:08 PM
Post #10


🌟Computer says no🌟
********

Group: WDG Moderators
Posts: 20,716
Joined: 9-August 06
Member No.: 6



Just play around with it. It's often easier if you start with something simple and clean, without other stuff that may or may not affect what you are doing. Take the below. See if you can figure out how to move the little red square around to different places inside the red rectangle using positioning.
CODE

#outer    { width: 500px; height: 200px;
            background: red }
#inner    { width: 20px; height: 20px;
            background: yellow }


HTML
<div id="outer">
<div id="inner"></div>
</div>


It isn't an easy read, but all the information is at the below page or linked to from there.
http://www.w3.org/TR/CSS2/visuren.html#propdef-position

Hint - you need to use to kinds of positioning. happy.gif
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
bnew10
post Jan 27 2012, 07:38 PM
Post #11


Newbie
*

Group: Members
Posts: 18
Joined: 25-January 12
Member No.: 16,329



QUOTE(pandy @ Jan 27 2012, 07:08 PM) *

Just play around with it. It's often easier if you start with something simple and clean, without other stuff that may or may not affect what you are doing. Take the below. See if you can figure out how to move the little red square around to different places inside the red rectangle using positioning.
CODE

#outer    { width: 500px; height: 200px;
            background: red }
#inner    { width: 20px; height: 20px;
            background: yellow }


HTML
<div id="outer">
<div id="inner"></div>
</div>


It isn't an easy read, but all the information is at the below page or linked to from there.
http://www.w3.org/TR/CSS2/visuren.html#propdef-position

Hint - you need to use to kinds of positioning. happy.gif


Take a look at what I have got so far...

CODE
<html>
<head>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<title>Glove Guide</title>
<style type="text/css">
<!--

#gloveguide { width: 700px; height: 617px;
position: relative }
#left { width:35px; height: 35px;
position: absolute; top: 185; left: 90;}
#center { width:35px; height: 35px;
position: absolute; top: 65; left: 330;}
#right { width:35px; height: 35px;
position: absolute; top: 180; left: 575;}
#third { width:35px; height: 35px;
position: absolute; top: 325; left: 155;}
#short { width:35px; height: 35px;
position: absolute; top: 235; left: 215;}
#second { width:35px; height: 35px;
position: absolute; top: 213; left: 410;}
#first { width:35px; height: 35px;
position: absolute; top: 325; left: 510;}
#pitcher { width:35px; height: 35px;
position: absolute; top: 345; left: 330;}
#catcher { width:35px; height: 35px;
position: absolute; bottom: 5; right: 330;}
#left span, #center span, #right span, #third span, #short span,
#second span, #first span, #pitcher span, #catcher span
{ width: 10em;
font: bold 75% Arial, sans-serif;
color: white; background: grey;
border: 2px solid green;
display: none }

#left:hover span, #center:hover span, #right:hover span, #third:hover span,
#short:hover span, #second:hover span, #first:hover span, #pitcher:hover span,
#catcher:hover span
{ display: block }
-->
</style>
</head>
<body>
<div id="gloveguide"> <img
src="http://lib.store.yahoo.net/lib/hq4sports/gloveguide.jpeg"
usemap="#map" alt="Glove Guide" width="700" height="617">
<div id="left"><span>Left Field</span></div>
<div id="center"><span>Center Field</span></div>
<div id="right"><span>Right Field</span></div>
<div id="third"><span>Third Base</span></div>
<div id="short"><span>Short Stop</span></div>
<div id="second"><span>Second Base</span></div>
<div id="first"><span>First Base</span></div>
<div id="pitcher"><span>Pitcher</span></div>
<div id="catcher"><span>Catcher</span></div>
</div>
</body>
</html>


What do you think? Don't mind the image, I know its not the best but I had never used Illustrator prior to this little "project" I have been working on. I am planning on adding a lot more text to each position's text box...
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
pandy
post Jan 27 2012, 07:54 PM
Post #12


🌟Computer says no🌟
********

Group: WDG Moderators
Posts: 20,716
Joined: 9-August 06
Member No.: 6



There you go! You picked that up quickly! smile.gif

But, you fell in my trap by copying. Look at the CSS errors.
http://jigsaw.w3.org/css-validator/validat...;usermedium=all

I'm joking. It wasn't a trap. But you fell in it anyway. tongue.gif

Also, you should use a doctype. Without it browsers will be in Quirks Mode and you don't want that with CSS. They will emulate older and buggier versions of themselves.
http://hsivonen.iki.fi/doctype/ (this is a horrible read)
HTML 4.01 Strict, the long version with an URL, will go fine with what you have so far.

Fact is, your CSS works in some browsers only becauase they are in Quirks Mode. With a doctype that puts them in Standarda Mode (called Strict Mode at the page I linked to) you won't get away with the unitless values. It may seem right now that Quirks Mode is a good idea, but it's not. There are more situations when it causes trouble than there are situations when it helps you. When it helps it's often situations like this, you get away with an error that it would be better to fix.

Fix those two things and you are fine. Did you understand how it works?
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
bnew10
post Jan 27 2012, 08:18 PM
Post #13


Newbie
*

Group: Members
Posts: 18
Joined: 25-January 12
Member No.: 16,329



QUOTE(pandy @ Jan 27 2012, 07:54 PM) *

There you go! You picked that up quickly! smile.gif

But, you fell in my trap by copying. Look at the CSS errors.
http://jigsaw.w3.org/css-validator/validat...;usermedium=all

I'm joking. It wasn't a trap. But you fell in it anyway. tongue.gif

Also, you should use a doctype. Without it browsers will be in Quirks Mode and you don't want that with CSS. They will emulate older and buggier versions of themselves.
http://hsivonen.iki.fi/doctype/ (this is a horrible read)
HTML 4.01 Strict, the long version with an URL, will go fine with what you have so far.

Fact is, your CSS works in some browsers only becauase they are in Quirks Mode. With a doctype that puts them in Standarda Mode (called Strict Mode at the page I linked to) you won't get away with the unitless values. It may seem right now that Quirks Mode is a good idea, but it's not. There are more situations when it causes trouble than there are situations when it helps you. When it helps it's often situations like this, you get away with an error that it would be better to fix.

Fix those two things and you are fine. Did you understand how it works?


Also, I am not understanding how I actually change the type to doctype. I am assuming this needs to be written towards the top, but after reading through the link you provided I am not sure the location and how to actually change to a doctype...
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
pandy
post Jan 27 2012, 09:15 PM
Post #14


🌟Computer says no🌟
********

Group: WDG Moderators
Posts: 20,716
Joined: 9-August 06
Member No.: 6



QUOTE

Well, I did understand how it was working or so I thought. I am not quite grasping the error messages. When they say units are required do they mean something like unit of measurement (PX) or is that in reference to another idea that I am unaware of? Also, I do not understand when it says that only 0 can be a length? Did I not map my locations correctly?


Exactly. Units are basically always required in CSS unless the value is 0 because zero is zero, px, em or % doesn't matter.


QUOTE

Also, I am not understanding how I actually change the type to doctype. I am assuming this needs to be written towards the top, but after reading through the link you provided I am not sure the location and how to actually change to a doctype...


Put it as the very first line in the document, before HTML.
http://htmlhelp.com/tools/validator/doctype.html
The first one there, HTML 4.01 Strict with an URL, will be fine. There's also a short form without an URL (not included at the doctype page). That would trigger quirks mode. Copy the doctype, don't try to type it.

This is messy. Browsers don't understand doctypes. Doctypes are used for good form, to tell people, not browsers, what version of HTML the document is written in and they are also needed when you use the validator so it knows what doctype definition it should validate the document against. But then some 10 years ago an otherwise very clever person came up with the idea to let the browser he was developing have two rendering modes. In Standards Mode if would follow the spec as close as it could. In quirks it would be as buggy as the previous version. They choose the doctype, or more precisely exactly how it is written, as the trigger for these modes. All other browsers followed and added the same "feature". This was done in attempt not to break all old pages out there as the browsers got more standard compliant. Old tag soup pages usually don't have a doctype or they have a short one. End of the history lesson. wink.gif

To sum up, browsers don't "know" if the doctype fits the document or not. They just use them as triggers for these rendering modes. The validator knows though and will complain loudly if you use a doctype that doesn't fit the flavour of HTML you write.

You don't need to concern yourself with this right now. I tell you just so you know why you should use a doctype and that it's important that you use the right one.
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
bnew10
post Feb 1 2012, 04:09 PM
Post #15


Newbie
*

Group: Members
Posts: 18
Joined: 25-January 12
Member No.: 16,329



Excellent information...

QUOTE
Exactly. Units are basically always required in CSS unless the value is 0 because zero is zero, px, em or % doesn't matter.


Ah, makes perfect sense.

Take a look at my code now and let me know if it looks better...

CODE
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<title>Glove Guide</title>
<style type="text/css">
<!--

#gloveguide { width: 700px; height: 617px;
position: relative }
#left { width:35px; height: 35px;
position: absolute; top: 185px; left: 90px;}
#center { width:35px; height: 35px;
position: absolute; top: 65px; left: 330px;}
#right { width:35px; height: 35px;
position: absolute; top: 180px; left: 575px;}
#third { width:35px; height: 35px;
position: absolute; top: 325px; left: 155px;}
#short { width:35px; height: 35px;
position: absolute; top: 235px; left: 215px;}
#second { width:35px; height: 35px;
position: absolute; top: 213px; left: 410px;}
#first { width:35px; height: 35px;
position: absolute; top: 325px; left: 510px;}
#pitcher { width:35px; height: 35px;
position: absolute; top: 345px; left: 330px;}
#catcher { width:35px; height: 35px;
position: absolute; bottom: 5px; right: 330px;}
#left span, #center span, #right span, #third span, #short span,
#second span, #first span, #pitcher span, #catcher span
{ width: 10em;
font: bold 75% Arial, sans-serif;
color: white; background: grey;
border: 2px solid green;
display: none }

#left:hover span, #center:hover span, #right:hover span, #third:hover span,
#short:hover span, #second:hover span, #first:hover span, #pitcher:hover span,
#catcher:hover span
{ display: block }
-->
</style>
</head>
<body>
<div id="gloveguide"> <img
src="http://lib.store.yahoo.net/lib/hq4sports/gloveguide.jpeg"
usemap="#map" alt="Glove Guide" width="700px" height="617px">
<div id="left"><span>Left Field</span></div>
<div id="center"><span>Center Field</span></div>
<div id="right"><span>Right Field</span></div>
<div id="third"><span>Third Base</span></div>
<div id="short"><span>Short Stop</span></div>
<div id="second"><span>Second Base</span></div>
<div id="first"><span>First Base</span></div>
<div id="pitcher"><span>Pitcher</span></div>
<div id="catcher"><span>Catcher</span></div>
</div>
</body>
</html>



Thanks!
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
pandy
post Feb 5 2012, 09:05 PM
Post #16


🌟Computer says no🌟
********

Group: WDG Moderators
Posts: 20,716
Joined: 9-August 06
Member No.: 6



It works? Great! smile.gif
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
bnew10
post Feb 8 2012, 04:04 PM
Post #17


Newbie
*

Group: Members
Posts: 18
Joined: 25-January 12
Member No.: 16,329



QUOTE(pandy @ Feb 5 2012, 09:05 PM) *

It works? Great! smile.gif


Thanks for your help, it is much appreciated!
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post

Posts in this topic
bnew10   HTML Image Map Hover Function   Jan 25 2012, 04:46 PM
pandy   How simple is OK? The most basic approach is to us...   Jan 25 2012, 05:22 PM
bnew10   How simple is OK? The most basic approach is to u...   Jan 25 2012, 05:47 PM
pandy   'title' can be used with almost any elemen...   Jan 25 2012, 06:20 PM
bnew10   'title' can be used with almost any eleme...   Jan 25 2012, 07:00 PM
pandy   Yup. You've seen it before. Every time you...   Jan 25 2012, 07:37 PM
bnew10   Yup. You've seen it before. Every time you...   Jan 25 2012, 07:44 PM
pandy   Now I'm with you. Yes, that is correct. You do...   Jan 25 2012, 07:52 PM
bnew10   Now I'm with you. Yes, that is correct. You d...   Jan 25 2012, 07:58 PM
pandy   It requires some CSS and/or JavaScript knowledge. ...   Jan 25 2012, 08:48 PM
pandy   Forgot to say that this doesn't work in IE ver...   Jan 25 2012, 08:52 PM
bnew10   Forgot to say that this doesn't work in IE ve...   Jan 26 2012, 04:03 PM
bnew10   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTM...   Jan 27 2012, 06:00 PM
Frederiek   Have a look at this CSS exemple from Stu Nicholls ...   Jan 26 2012, 04:15 AM
bnew10   Have a look at this CSS exemple from Stu Nicholls...   Jan 26 2012, 04:05 PM
bnew10   Have a look at this CSS exemple from Stu Nicholls...   Jan 26 2012, 04:07 PM
pandy   I haven't looked, but it's probably basica...   Jan 26 2012, 04:49 PM
bnew10   I haven't looked, but it's probably basic...   Jan 26 2012, 05:19 PM
pandy   Nope. You can't change a thing about how the t...   Jan 26 2012, 06:11 PM
bnew10   Nope. You can't change a thing about how the ...   Jan 27 2012, 05:35 PM
pandy   If the user has turned it off (not likely), uses a...   Jan 27 2012, 05:42 PM
bnew10   If the user has turned it off (not likely), uses ...   Jan 27 2012, 06:01 PM
pandy   Just play around with it. It's often easier if...   Jan 27 2012, 07:08 PM
bnew10   Just play around with it. It's often easier i...   Jan 27 2012, 07:38 PM
pandy   There you go! You picked that up quickly! ...   Jan 27 2012, 07:54 PM
bnew10   There you go! You picked that up quickly...   Jan 27 2012, 08:09 PM
bnew10   There you go! You picked that up quickly...   Jan 27 2012, 08:18 PM
pandy   Exactly. Units are basically always required in ...   Jan 27 2012, 09:15 PM
bnew10   Excellent information... Ah, makes perfect sens...   Feb 1 2012, 04:09 PM
pandy   It works? Great! :)   Feb 5 2012, 09:05 PM
bnew10   It works? Great! :) Thanks for your help, ...   Feb 8 2012, 04:04 PM
Darin McGrew   There are also browser settings, browser plugins, ...   Jan 27 2012, 07:52 PM
bnew10   Is this correct? Or at least more so? <!D...   Jan 27 2012, 09:11 PM


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



- Lo-Fi Version Time is now: 28th March 2024 - 02:59 PM