Autor Zpráva
MilanJ
Profil
Mám problém...chtěl bych, aby se po najetí na červenou obdélníkovou oblast tvořenou DIV s nějakým obsahem. Chtěl bych, aby se po najetí myši nad tuto obdélníkovou oblast změnila barva jejího pozadí.
Lze to provádět pomocí CSS? Jak?
tiso
Profil

<div class="red">...</div>

CSS:
.red{background: Red none;}
.red:hover{background: Green none;}

- nefunguje v IE, lebo ten vie hover iba pri odkazoch...
MilanJ
Profil
Tak to je problém...
Jde to nějak obejít, udělat to prostě jinak...potřebuji, aby se po najetí myši změnila barva pozadí obdélníkové oblasti.
aitoo
Profil
Ahoj,

možná ti bude postačovat takového řešení. Jelikož IE nepodporuje :hover pro jiné elementy než a, tak je celý obsah uzavřen do odkazu s prázdným atributem href.


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="cs" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="autosize" content="off" />
<title>Příklady | aitoo</title>
<style type="text/css" media="screen, projection">
* {margin: 0; padding: 0;}
body {
font-family: Arial, Helvetica, sans-serif;
font-size: small;
background: white; color: #353535;
text-align: center;
}
html>body {
font-size: medium;
}
div.obal {
width: 500px;
text-align: justify;
margin: 5em auto;
}
div.obal a {
text-decoration: none;
display: block;
background: #5A5A5A; color: white;
padding: 10px;
}
div.obal a:visited {
color: white;
}
div.obal a:hover {
color: #BCE140; background: #4169E1;
cursor: default;
}
div.obal a:hover span {
cursor: text;
}
</style>
</head>
<body>
<div class="obal">
<a href="">
<span>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam suscipit felis at arcu. Suspendisse
felis. Duis et felis ut urna dignissim malesuada. Vivamus pretium sem id elit pretium posuere. Duis
sodales, metus ut lacinia laoreet, mi enim porta turpis, pharetra adipiscing nunc risus in nibh. In
hac habitasse platea dictumst. Nulla vel massa nec nisi scelerisque aliquam. Donec ac purus. Morbi
facilisis ullamcorper velit. Etiam leo.
</span>
</a></div>
</body>
</html>
MilanJ
Profil
Už se blížíme zdárně k cíli, i když to pořád není ono.:-)
Já potřebuji, aby se barva změnila už po najetí nad obdélníkovou oblast. V Tvém příkladu aitoo se barva změní až po najetí na odkaz. :-/

Opravdu není jiné cesty? Nerad bych vytvářel obrázek. :-/
mata
Profil
<div class="obal" onmouseover="this.style.background='#ffcccc';" onmouseout="this.style.background='#ffffff';">

případně udělat funkci, která bude přidávat a odebírat classu, aby se nemusel měnit onmouseover a onmouseout u všech divů, kdyby sis vzpomněl, že chceš třeba jinou barvu
Radek Hrabůvka
Profil
MilanJ Pro IE se to dělá pomocí JS. V příkladu to mám pomocí JS i CSS, protože někteří uživatelé JS vypínají.
<style>
.over {width: 300px; height: 300px; background-color: gray;}
.over:hover {background-color: silver;}
</style>

<div class="over" onmouseover="style.backgroundColor = 'silver';" onmouseout="style.backgroundColor = 'gray';">
Bla bla text. Dám Paroubkovu ruku do ohně na to, že je to muž s&nbsp;diplomatickým vystupováním!
</div>
MilanJ
Profil
Jo jo, moc díky.;-)
Paroubkovu ruku bych dal za to taky...i obě.
aitoo
Profil
Tady opravená varianta pouze za použití CSS. Stačilo u odkazu nastavit pevné rozměry jako u obalovacího DIVu.

http://www.sweb.cz/aitoo/div_hover.html

Testováno na:

Maxthon 1.5.2
Opera 9 TP2
IE 6
Firefox 1.5.0.3
Leo
Profil
Vzdycky, kdyz vidim jak nekdo s odpustenim przni HTML kvuli nastavbovym technologiim (tady CSS), tak se mi otevira kudla v kapse... Pokud IE zatim neumi hover tak proste pouziju JS, ne nejaky prazdny odkaz... Leo
aitoo
Profil
Leo

Ok.
Toto téma je uzamčeno. Odpověď nelze zaslat.