Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [css] Specyficzne ukrywanie/pokazywanie elementów.
Forum PHP.pl > Forum > Przedszkole
krzywy36
Mam mały problem i nie mam pomysłu na jego rozwiązanie, sprawa wygląda tak:
mam miniaturki zdjęć wyświetlane w taki sposób
  1. <a href="sciezka_do_zdjecia"><img src="sciezka_do_miniaturki" /></a>

chcę do każdej miniaturki dodać linki ("usuń"), które miały by być wyświetlane przy dolnej krawędzi miniaturki wewnątrz niej po najechaniu na obrazek.
Inaczej mówiąc, mam powiedzmy miniaturkę 100x60px, po najechaniu na nią pojawia się "na" obrazku link "usuń" tak aby miniaturka nie zwiększyła swoich wymiarów.
Jakieś pomysły jak zrobić to w css bez użycia js? Miniaturka nie będzie miała konkretnych wymiarów więc miło by było gdyby rozwiązanie działało niezależnie od nich.
mat-bi
Raczej tego nie da się zrobić w CSS, tak mi się wydaje
krzywy36
jednak się da wink.gif dla potomnych:
po pierwsze, wszystko obejmuję divem i dodaję mój odnośnik do usuń
  1. <div class="thumb">
  2. <a href="#"><img src="#" /></a>
  3. <a class="delete">usun</a>
  4. </div>

obejmującemu divowi ustawiam pozycjonowanie relatywne(żeby za chwile móc pozycjonować "usun" absolutnie) i wielkość czcionki na 0,
linkowi .delete ustawiam pozycjonowanie absolutne i wartość bottom na 0,
żeby nie było problemów z <img> w <a> musiałem nadać display: block (dla img),
teraz tylko przy :hover dla obejmującego diva zwiększam czcionkę:
  1. .thumb
  2. {
  3. position: relative;
  4. font-size: 0;
  5. }
  6. .thumb .delete
  7. {
  8. position: absolute;
  9. bottom: 0;
  10. }
  11. .thumb img
  12. {
  13. display: block;
  14. }
  15. .thumb:hover
  16. {
  17. font-size: 15px;
  18. }

efekt jest dokładnie taki jak chciałem, waliduje się (xhtml 1.0 strict) i działa (conajmniej) w chromium 10 smile.gif jutro sprawdzę inne przeglądarki.

Edit: w operze 11 działa, w epiphany widać bardzo mały tekst odnośnika (widocznie epiphany nie akceptuje font-size: 0)
ixpack
Dam Ci mój kod - i go sobie przerób wink.gif

Zasada działania prosta: mamy div, w divie mamy kolejne wink.gif a te są linkami, linki mają swój background, w wypadku hover - przesówamy background wink.gif oczywiście możesz to uprościć do 1go linka, pokaż jako block, ustaw background np: masz obrazek widoczny (link) 100x100 - to tworzysz background 200x100, ustawiasz background o pozycji 0 0 - czyli bez przesunięcia, link o rozmiarach 100x100 pokaze część obrazka - w wypadku hover ustawiamy backgrount -100 0 - czyli przesuwamy go do góry o 100 jednostek wink.gif


  1. #hp_ {
  2. position: relative;
  3. padding: 0;
  4. width:975px;
  5. height:651px;
  6. }
  7.  
  8. #hp_ div {
  9. display: block;
  10. position: absolute;
  11. list-style: none;
  12. margin: 0;
  13. padding: 0;
  14. }
  15.  
  16. #hp_ a {
  17. display: block;
  18. text-indent: -9999px;
  19. text-decoration: none;
  20. outline: none;
  21. cursor: default;
  22. }
  23.  
  24. #hp_top {
  25. top:0;
  26. left:0;
  27. width:975px;
  28. height:375px;
  29. background: url("../css/hp_.jpg") 0 0 no-repeat;
  30. z-index:1;
  31. }
  32.  
  33. #hp_top a{
  34. width:975px;
  35. height:295px;
  36. }
  37.  
  38. #hp_top_b {
  39. top:290px;
  40. left:330px;
  41. z-index:2;
  42. }
  43.  
  44. #hp_top_b a {
  45. width:585px;
  46. height:80px;
  47. background: url("../css/hp_.jpg") -330px 290px no-repeat;
  48. }
  49.  
  50. #hp_middle {
  51. top:383px;
  52. left:0;
  53. z-index:1;
  54. }
  55.  
  56. #hp_middle a {
  57. width:975px;
  58. height:100px;
  59. background: url("../css/hp_.jpg") 0px -750px no-repeat;
  60. }
  61.  
  62. #hp_middle_b {
  63. top:483px;
  64. left:0;
  65. z-index:2;
  66. }
  67.  
  68. #hp_middle_b a {
  69. width:975px;
  70. height:50px;
  71. background: url("../css/hp_.jpg") 0px -850px no-repeat;
  72. }
  73.  
  74. #hp_bottom_left {
  75. top:536px;
  76. left:0;
  77. z-index:2;
  78. }
  79.  
  80. #hp_bottom_left a {
  81. width:490px;
  82. height:115px;
  83. background: url("../css/hp_.jpg") 0 -1050px no-repeat;
  84. }
  85.  
  86. #hp_bottom_right {
  87. top:536px;
  88. left:490px;
  89. z-index:2;
  90. }
  91.  
  92. #hp_bottom_right a {
  93. width:485px;
  94. height:115px;
  95. background: url("../css/hp_.jpg") -490px -1050px no-repeat;
  96. }
  97.  
  98. #hp_top a:hover {
  99. cursor: pointer;
  100. background: url("../css/hp_.jpg") 0 -375px no-repeat;
  101. }
  102.  
  103. #hp_top_b a:hover {
  104. cursor: pointer;
  105. background: url("../css/hp_.jpg") -330px -665px no-repeat;
  106. }
  107.  
  108. #hp_middle a:hover {
  109. cursor: pointer;
  110. background: url("../css/hp_.jpg") 0px -900px no-repeat;
  111. }
  112.  
  113. #hp_middle_b a:hover {
  114. cursor: pointer;
  115. background: url("../css/hp_.jpg") 0px -1000px no-repeat;
  116. }
  117.  
  118. #hp_bottom_left a:hover {
  119. cursor: pointer;
  120. background: url("../css/hp_.jpg") 0 -1165px no-repeat;
  121. }
  122.  
  123. #hp_bottom_right a:hover {
  124. cursor: pointer;
  125. background: url("../css/hp_.jpg") -490px -1165px no-repeat;
  126. }
  127.  

  1. <div id="hp_">
  2. <div id="hp_top"><a href="./?page=1&ref=14">Elisa Cavaletti</a></div>
  3. <div id="hp_top_b"><a href="./?page=sign_in&vp=vp">Join VIP Club</a></div>
  4. <div id="hp_middle"><a href="./?page=6">Mother&acute;s Day</a></div>
  5. <div id="hp_middle_b"><a href="http://www." target="_new">Mother&acute;s Day</a></div>
  6. <div id="hp_bottom_left"><a href="./?page=1&ref=3">Arianna</a></div>
  7. <div id="hp_bottom_right"><a href="./?page=1&ref=17">Lauren Vidal</a></div>
  8. </div>
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.