Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CSS]Jak wykorzystywać :hover w css?
Marco1357
post 15.03.2023, 14:21:47
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 17.01.2023

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


Czy :hover w CSS-e można wykorzystać do przeprowadzania zmian w innej części kodu, strony? Czyli np: najeżdżamy myszką nad przycisk a wykonuje się zmiana, operacja w innej części kodu, strony, czy jest tylko wykorzystywany do odnośników?.
Czy można zrobić tak?:

ol > li > .klas:hover div > p {
...
}

Z góry dziękuję za odpowiedź.
Go to the top of the page
+Quote Post
trueblue
post 15.03.2023, 14:23:16
Post #2





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Można. Właściwie nie w kodzie, ale w stylach innych elementów.
Nie spróbowałeś?


--------------------
Go to the top of the page
+Quote Post
Marco1357
post 15.03.2023, 14:30:34
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 17.01.2023

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


Cytat(trueblue @ 15.03.2023, 14:23:16 ) *
Można. Właściwie nie w kodzie, ale w stylach innych elementów.
Nie spróbowałeś?

Właśnie próbowałem i nie działa. Dlatego pytam. Może jakąś stronę by pan polecił.

Ten post edytował Marco1357 15.03.2023, 14:37:49
Go to the top of the page
+Quote Post
trueblue
post 15.03.2023, 14:38:14
Post #4





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


https://jsfiddle.net/5rb0hufw/

Pokaż swój kod.


--------------------
Go to the top of the page
+Quote Post
Marco1357
post 15.03.2023, 15:05:49
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 17.01.2023

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


Cytat(trueblue @ 15.03.2023, 14:38:14 ) *



  1.  
  2. <div class="tabelka">
  3.  
  4. <table>
  5. <tr>
  6. <th>SZCZEGÓŁY</th>
  7. <th>STACJA/PRZYSTANEK</th>
  8. <th>DATA</th>
  9. <th>ODJ./PRZYJ.</th>
  10. <th>CZAS</th>
  11. <th>PRZESIADKI</th>
  12. <th>ŚRODEK TRANSPORTU</th>
  13. <th></th>
  14. </tr>
  15. <tr>
  16. <td>
  17. <ol>
  18. <li>rozwiń
  19. <ul>
  20.  
  21.  
  22. <li class=" li_1 li_2"><div class = "rozwin_tabelka rozwin_tab_2">
  23.  
  24.  
  25.  
  26. <ol class ="klas">
  27. <li>SZCZEGÓŁY
  28. <ul>
  29. <li>
  30.  
  31. <div class="szczegol">
  32.  
  33. <div class="jeden">
  34. <a href="#"> ZOBACZ PEŁNĄ TRASĘ</a>
  35.  
  36. </div>
  37.  
  38.  
  39. <div class="dwa"> </div>
  40. <div class="trzy"> </div>
  41.  
  42.  
  43.  
  44.  
  45.  
  46. <div style="clear:both"></div>
  47.  
  48.  
  49.  
  50.  
  51. </div>
  52.  
  53.  
  54.  
  55.  
  56. </li>
  57.  
  58. </ul>
  59. </li>
  60.  
  61. <li class="stacje">STACJE POŚREDNIE
  62. <ul>
  63. <li class="posrednie">Aktualności</li>
  64.  
  65. </ul>
  66. </li>
  67.  
  68. <li>EKSPORT DO PDF
  69. <ul>
  70. <li class="pdf">Aktualności</li>
  71.  
  72. </ul>
  73. </li>
  74.  
  75. </ol>
  76.  
  77.  
  78. <div style="clear:both;"></div>
  79.  
  80. <div class = "wzmianka">
  81. <p> kursuje w okresie od do 2023 </p>
  82.  
  83. </div>
  84.  
  85.  
  86.  
  87. </div></li>
  88.  
  89.  
  90. </ul>
  91. </li>
  92.  
  93.  
  94.  
  95.  
  96.  
  97. </ol>
  98.  
  99.  
  100.  
  101.  
  102.  
  103. </td>
  104.  
  105.  



oraz CSS:



  1.  
  2.  
  3. td > ol {
  4.  
  5. list-style-type: none;
  6. padding:0;
  7. margin:0;
  8. font-size:14px;
  9.  
  10. text-align:center;
  11. /* margin-left: 150px; */
  12.  
  13.  
  14.  
  15.  
  16. }
  17.  
  18.  
  19. td > ol > li {
  20.  
  21.  
  22. width:80px;
  23. height:auto;
  24. text-align: center;
  25. margin:0px;
  26. padding-top: 10px;
  27.  
  28.  
  29.  
  30. /* height:2em; -----rozciaganie menu w dol */
  31.  
  32.  
  33.  
  34. }
  35.  
  36.  
  37. td > ol > li:first-child {
  38. margin-left:18px;
  39.  
  40.  
  41. }
  42.  
  43.  
  44. td > ol a {
  45. display:block;
  46. color:black;
  47. text-decoration:none;
  48.  
  49.  
  50. }
  51.  
  52. td > ol > li > a:hover {
  53. color:white;
  54. display:block;
  55.  
  56.  
  57. }
  58.  
  59. td > ol > li:hover {
  60. background-color:rgb(48, 110, 126);
  61.  
  62.  
  63.  
  64.  
  65. }
  66.  
  67. td > ol > li > ul{
  68.  
  69. list-style-type: none;
  70. text-align: left;
  71. padding: 0;
  72. display:none;
  73.  
  74.  
  75.  
  76. }
  77.  
  78. /* td > ol > li > ul > li */
  79. .li_1{
  80. margin-left: -19px;
  81. margin-top: 17px;
  82. padding:2px ;
  83. border-left: 1px solid white;
  84. border-top: 2px solid white;
  85. background-color:darkcyan;
  86. width:992px;
  87. height:300px;
  88.  
  89.  
  90.  
  91.  
  92.  
  93. }
  94.  
  95. td > ol > li > ul > li:hover{
  96.  
  97. background-color:#DDD;
  98. cursor:auto;
  99.  
  100.  
  101.  
  102.  
  103. }
  104.  
  105.  
  106.  
  107. td > ol > li > ul > li:hover a{
  108.  
  109. color:darkcyan;
  110. cursor: auto;
  111.  
  112.  
  113.  
  114. }
  115.  
  116. td > ol > li:hover > ul {
  117. display:block;
  118.  
  119.  
  120.  
  121. }
  122.  
  123. .rozwin_tabelka {
  124. height: 300px;
  125. width: 991px;
  126. margin-left: -3px;
  127. margin-top: -1px;
  128. border:3px solid darkcyan;
  129. margin-bottom: 1px;
  130.  
  131. background-color: darkgray;
  132. position:relative;
  133.  
  134.  
  135.  
  136.  
  137. }
  138.  
  139. .wzmianka {
  140.  
  141. color:black;
  142. position:relative;
  143. top: -4px;
  144. padding-left: 10px;
  145. font-size: 13px;
  146. }
  147.  
  148.  
  149. /* menu do rozwin */
  150.  
  151.  
  152. td > ol > li > ul > li > .rozwin_tabelka > ol {
  153.  
  154. list-style-type: none;
  155. padding:0;
  156. margin:0;
  157.  
  158. text-align:center;
  159. /* margin-left: 150px; */
  160. float:left;
  161. margin-left: 20px;
  162. margin-top: 240px;
  163.  
  164.  
  165. }
  166.  
  167.  
  168. td > ol > li > ul > li > .rozwin_tabelka > ol > li {
  169.  
  170. float:left;
  171. background-color:darkcyan;
  172. width:240px;
  173. margin-right: 10px;
  174. font-size: 12px;
  175.  
  176.  
  177.  
  178.  
  179. /* height:2em; -----rozciaganie menu w dol
  180.   */
  181.  
  182.  
  183. }
  184.  
  185.  
  186. td > ol > li > ul > li > .rozwin_tabelka > ol > li:first-child {
  187. margin-left:0;
  188.  
  189. }
  190.  
  191.  
  192. td > ol > li > ul > li > .rozwin_tabelka > ol a {
  193. display:block;
  194. color:white;
  195. text-decoration:none;
  196.  
  197.  
  198. }
  199.  
  200. td > ol > li > ul > li > .rozwin_tabelka > ol > li > a:hover {
  201. color:white;
  202. text-align: center;
  203. }
  204.  
  205. td > ol > li > ul > li > .rozwin_tabelka > ol > li:hover {
  206. background-color:white;
  207. width:240px;
  208. height: 50px;
  209. margin-top: -5px;
  210. color:darkcyan;
  211. border-top: 0px;
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218. }
  219.  
  220. td > ol > li > ul > li > .rozwin_tabelka > ol > li > ul{
  221.  
  222. list-style-type: none;
  223. text-align: left;
  224. padding: 0;
  225. display:none;
  226. margin: 0;
  227.  
  228. }
  229.  
  230. td > ol > li > ul > li > .rozwin_tabelka > ol > li > ul > li{
  231.  
  232. padding:2px 15px ;
  233.  
  234. background-color:white;
  235. position:relative;
  236. margin-top:-262px;
  237. width:810px;
  238. height: 220px;
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247. }
  248.  
  249.  
  250.  
  251.  
  252. td > ol > li > ul > li > .rozwin_tabelka > ol > li > ul > li:hover a{
  253.  
  254. color:blue;
  255. text-decoration: underline;
  256.  
  257. }
  258.  
  259. td > ol > li > ul > li > .rozwin_tabelka > ol > li:hover > ul {
  260. display:block;
  261.  
  262.  
  263. }
  264.  
  265.  
  266. .posrednie {
  267.  
  268. padding:2px 15px ;
  269.  
  270. background-color:brown;
  271. position:relative;
  272. margin-top:-262px;
  273. width:810px;
  274. height: 300px;
  275. margin-left: -250px;
  276.  
  277.  
  278. }
  279.  
  280. .pdf {
  281.  
  282. padding:2px 15px ;
  283.  
  284. background-color:white;
  285. position:relative;
  286. margin-top:-262px;
  287. width:810px;
  288. height: 2220px;
  289. margin-left: -500px;
  290.  
  291.  
  292. }
  293.  
  294. /* .rozwin_tab_2 {
  295.  
  296.   height: 550px;
  297.  
  298.  
  299.  
  300.  
  301.  
  302. }
  303.  
  304.  
  305.   .li_2{
  306.  
  307.  
  308.   height:550px;
  309.  
  310.  
  311. } */
  312.  
  313.  
  314.  
  315. /* td > ol > li > ul > li > .rozwin_tabelka > .klas {
  316.  
  317.   list-style-type: none;
  318.   padding:0;
  319.   margin:0;
  320.  
  321.   text-align:center;
  322.   margin-left: 150px;
  323.   float:left;
  324.   margin-left: 20px;
  325.   margin-top: 240px;
  326.   margin-bottom: 245px;
  327.   position: relative;
  328.   bottom:-245px;
  329.  
  330.  
  331. } */
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339. tr > td > ol > li > ul > li > .rozwin_tabelka > ol > li > .stacje:hover tr > td > ol > li > ul > li > .rozwin_tabelka {
  340. height:550px;
  341.  
  342.  
  343.  
  344.  
  345.  
  346. }
  347.  
  348. tr > td > ol > li > ul > li > .rozwin_tabelka > ol > li > .stacje:hover tr > td > ol > li > ul > li > .li_2 {
  349. height:550px;
  350.  
  351.  
  352.  
  353.  
  354. }
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  




chodzi mi o dwa ostatnie polecenia w pliku CSS.
Go to the top of the page
+Quote Post
trueblue
post 15.03.2023, 18:02:47
Post #6





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Takie selektory nie zadziałają. Chciałbyś z pomocą CSS sterować elementem nadrzędnym za pomocą elementu podrzędnego. Póki co w CSS nie ma selektora, który by to umożliwiał.
Widzę, że chcesz zmienić wysokość elementu nadrzędnego, bo wcześniej ustaliłeś wysokość 300px. Dlaczego nie taką, aby po prostu zmieściła się w nim zawartość (czyli bez ustalania height, albo height: auto)?


--------------------
Go to the top of the page
+Quote Post
Marco1357
post 15.03.2023, 18:33:02
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 17.01.2023

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


Cytat(trueblue @ 15.03.2023, 18:02:47 ) *
Takie selektory nie zadziałają. Chciałbyś z pomocą CSS sterować elementem nadrzędnym za pomocą elementu podrzędnego. Póki co w CSS nie ma selektora, który by to umożliwiał.
Widzę, że chcesz zmienić wysokość elementu nadrzędnego, bo wcześniej ustaliłeś wysokość 300px. Dlaczego nie taką, aby po prostu zmieściła się w nim zawartość (czyli bez ustalania height, albo height: auto)?




Dzięki za pomoc oraz za szczegółowe wyjaśnienia.
Go to the top of the page
+Quote Post
viking
post 16.03.2023, 07:42:14
Post #8





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Tak nie do końca, zależy https://developer.mozilla.org/en-US/docs/Web/CSS/:has


--------------------
Go to the top of the page
+Quote Post
trueblue
post 16.03.2023, 07:57:22
Post #9





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Masz rację, viking.
Dla jednej z reguł będzie to wyglądać tak:

  1. .li_2:has(.stacje:hover){
  2. height:550px;
  3. }


--------------------
Go to the top of the page
+Quote Post
LowiczakPL
post 16.03.2023, 14:41:36
Post #10





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

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


Cytat(Marco1357 @ 15.03.2023, 14:21:47 ) *
Czy :hover w CSS-e można wykorzystać do przeprowadzania zmian w innej części kodu, strony? Czyli np: najeżdżamy myszką nad przycisk a wykonuje się zmiana, operacja w innej części kodu, strony, czy jest tylko wykorzystywany do odnośników?.


Bez problemu można zmienić wartości dowolnych elementów nie musi to być parent czy child. Służy do tego selektor +, wskazujesz jaki element ma ulec zmianie

przykład hover na elemencie .jeden zmieni kolory na elemencie .dwa

  1. .jeden:hover + .dwa {
  2. color: #f00;
  3. background-color: red;
  4. }
  5.  
  6. <div class="jeden"> jeden </div>
  7.  
  8. <div class="dwa"> dwa </div>



--------------------
Szukam zleceń Symfony, Laravel, Back-End, Front-End, PHP, MySQL ...
Go to the top of the page
+Quote Post
trueblue
post 16.03.2023, 15:08:30
Post #11





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Cytat(LowiczakPL @ 16.03.2023, 14:41:36 ) *
Bez problemu można zmienić wartości dowolnych elementów nie musi to być parent czy child. Służy do tego selektor +, wskazujesz jaki element ma ulec zmianie

Ale tym selektorem można zmienić tylko bezpośredniego sąsiada na tym samym poziomie hierarchii. Bardziej ogólny byłby ~. Niemniej obydwa nie pozwalają zmienić elementów na wyższym poziomie względem elementu odniesienia.


--------------------
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: 27.04.2024 - 19:31