HTML Image Map Hover Function |
HTML Image Map Hover Function |
bnew10 |
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... |
Frederiek |
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 . |
bnew10 |
Jan 26 2012, 04:07 PM
Post
#3
|
Newbie Group: Members Posts: 18 Joined: 25-January 12 Member No.: 16,329 |
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? |
pandy |
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. 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? |
bnew10 |
Jan 26 2012, 05:19 PM
Post
#5
|
Newbie Group: Members Posts: 18 Joined: 25-January 12 Member No.: 16,329 |
I haven't looked, but it's probably basically the same deal I gave you a simple version of, only this one is pretty. 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. |
pandy |
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.
|
bnew10 |
Jan 27 2012, 05:35 PM
Post
#7
|
Newbie Group: Members Posts: 18 Joined: 25-January 12 Member No.: 16,329 |
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... |
pandy |
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. |
bnew10 |
Jan 27 2012, 06:01 PM
Post
#9
|
Newbie Group: Members Posts: 18 Joined: 25-January 12 Member No.: 16,329 |
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. |
pandy |
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. |
bnew10 |
Jan 27 2012, 07:38 PM
Post
#11
|
Newbie Group: Members Posts: 18 Joined: 25-January 12 Member No.: 16,329 |
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. 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... |
pandy |
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!
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. 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? |
bnew10 |
Jan 27 2012, 08:18 PM
Post
#13
|
Newbie Group: Members Posts: 18 Joined: 25-January 12 Member No.: 16,329 |
There you go! You picked that up quickly! 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. 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... |
pandy |
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. 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. |
bnew10 |
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! |
pandy |
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!
|
Lo-Fi Version | Time is now: 28th March 2024 - 02:55 AM |