Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS] Zmiana koloru tła DIV'a drugiego obiektu
Forum PHP.pl > Forum > Przedszkole
shpaque
Witam serdecznie - szukam i szukam i nic...

Jak zrobić w css, żeby po akcji "hover" zmieniło mi się tło innego layera / obiektu?

  1. #pierwszy-obiekt:hover
  2. {
  3. background-color (#drugi-obiekt): #000000;
  4. }



coś w tym stylu... Chciałbym żeby po najechaniu na id='pierwszy' zmienił się background elementu o id='drugi' - i to w css a nie js. I nie chodzi o klasy tylko id...

  1. #table-image1:hover CO TUTAJ, ŻEBY ZADZIAŁAŁO NA #shape1
  2. {
  3. background-color: #000000;
  4. -webkit-transition: background-color 500ms ease 0ms;
  5. -moz-transition: background-color 500ms ease 0ms;
  6. -ms-transition: background-color 500ms ease 0ms;
  7. transition: background-color 500ms ease 0ms;
  8. }
mar1aczi
Domniemam, że musisz skorzystać z js: http://www.w3schools.com/jsref/event_onmouseover.asp
_Borys_
  1. <style type="text/css">
  2.  
  3. #pierwszy-obiekt,#drugi-obiekt{
  4. width: 100px;
  5. height: 100px;
  6. border: 1px solid blue;
  7. background-color: beige;
  8. }
  9.  
  10. #pierwszy-obiekt:hover ~ #drugi-obiekt
  11. {
  12. background-color: blue;
  13. }
  14.  
  15. </style>
  16. </head>
  17. <div id="pierwszy-obiekt"></div>
  18. <div id="drugi-obiekt"></div>
  19. </body>
  20. </html>
shpaque
więc powinno być coś takiego?

  1. #table-image1:hover
  2. {
  3. opacity: 0.3;
  4. -webkit-transition: opacity 500ms ease 0ms;
  5. -moz-transition: opacity 500ms ease 0ms;
  6. -ms-transition: opacity 500ms ease 0ms;
  7. transition: opacity 500ms ease 0ms;
  8. }
  9. #table-image1:hover ~ #shape1
  10. {
  11. background-color: #000000;
  12. -webkit-transition: background-color 500ms ease 0ms;
  13. -moz-transition: background-color 500ms ease 0ms;
  14. -ms-transition: background-color 500ms ease 0ms;
  15. transition: background-color 500ms ease 0ms;
  16. }
_Borys_
No tak, u mnie działa twój CSS.
Daj opacity dla #table-image1:hover ~ #shape1
shpaque
za Chiny nie idzie... Nie wiem czemu - dlatego poprawiłem pierwszy post - żeby wszyscy zainteresowani wiedzieli o co chodzi. Przeszukałem internet przez całą noc, kombinowałem w kodzie i... nic. Poznajdywałem oczywiście na JS, czy jeśli chodzi o klasę danych divów, ale na ID nie wiem...

Próbowałem już na chybił-trafił tak:
  1. #table-image1:hover
  2. {#shape1
  3. {
  4. background-color: #000000;
  5. -webkit-transition: background-color 500ms ease 0ms;
  6. -moz-transition: background-color 500ms ease 0ms;
  7. -ms-transition: background-color 500ms ease 0ms;
  8. transition: background-color 500ms ease 0ms;
  9. }
  10. }


...ale oczywiście nic...

Czy to jest takie trudne, czy po prostu w CSS nie ma możliwości, żeby tak zrobić..?
lobopol
1. To co podałeś nie ma prawa działać bo po zagnieżdżałeś sobie css, pokaż kod na jsfiddle
2. x ~ y celuje w elementy y znajdujące się na tym samym poziomie co x i muszą występować po nim czyli
  1. <div id="a"></div>
  2. <div id="b"></div>

możesz zrobić
  1. #a:hover ~ #b {
  2. background: red;
  3. }

ale już
ten kod nie zadziała dla czegoś takiego:
  1. <div id="b"></div>
  2. <div id="a"></div>

lub
  1. <div><div id="a"></div></div>
  2. <div id="b"></div>

lub
  1. <div id="a"></div>
  2. <div><div id="b"></div></div> // w tym przypdaku jeszcze można celować w #a:hover ~ div #b
shpaque
czyli jedyna opcja to elementy następujące po sobie? Inaczej tylko JS?
lobopol
Tak
shpaque
w takim razie już wszystko wiem i dziękuję za poświęcony czas. smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.