Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][CSS] Zmiana koloru tła DIV'a drugiego obiektu, po ID
shpaque
post 19.08.2013, 20:22:59
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


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. }


Ten post edytował shpaque 20.08.2013, 08:13:20
Go to the top of the page
+Quote Post
mar1aczi
post 19.08.2013, 21:36:34
Post #2





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

Ostrzeżenie: (0%)
-----


Domniemam, że musisz skorzystać z js: http://www.w3schools.com/jsref/event_onmouseover.asp


--------------------
Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
Go to the top of the page
+Quote Post
_Borys_
post 19.08.2013, 21:55:31
Post #3





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

Ostrzeżenie: (0%)
-----


  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>
Go to the top of the page
+Quote Post
shpaque
post 19.08.2013, 22:05:35
Post #4





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


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. }


Ten post edytował shpaque 20.08.2013, 08:03:08
Go to the top of the page
+Quote Post
_Borys_
post 19.08.2013, 22:11:14
Post #5





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

Ostrzeżenie: (0%)
-----


No tak, u mnie działa twój CSS.
Daj opacity dla #table-image1:hover ~ #shape1

Ten post edytował _Borys_ 19.08.2013, 22:24:55
Go to the top of the page
+Quote Post
shpaque
post 20.08.2013, 16:37:40
Post #6





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


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ć..?
Go to the top of the page
+Quote Post
lobopol
post 20.08.2013, 17:02:48
Post #7





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


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


Ten post edytował lobopol 20.08.2013, 17:04:13


--------------------
Go to the top of the page
+Quote Post
shpaque
post 20.08.2013, 17:15:03
Post #8





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


czyli jedyna opcja to elementy następujące po sobie? Inaczej tylko JS?
Go to the top of the page
+Quote Post
lobopol
post 20.08.2013, 17:17:10
Post #9





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


Tak


--------------------
Go to the top of the page
+Quote Post
shpaque
post 20.08.2013, 17:22:54
Post #10





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


w takim razie już wszystko wiem i dziękuję za poświęcony czas. smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 30.05.2024 - 23:28